prism 0.30.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -1
- data/README.md +3 -1
- data/config.yml +185 -126
- data/docs/serialization.md +3 -0
- data/ext/prism/api_node.c +2843 -2085
- data/ext/prism/extconf.rb +1 -1
- data/ext/prism/extension.c +35 -25
- data/ext/prism/extension.h +2 -2
- data/include/prism/ast.h +1048 -69
- data/include/prism/defines.h +9 -0
- data/include/prism/diagnostic.h +11 -3
- data/include/prism/options.h +55 -1
- data/include/prism/parser.h +27 -3
- data/include/prism/regexp.h +2 -1
- data/include/prism/util/pm_integer.h +6 -6
- data/include/prism/util/pm_newline_list.h +11 -0
- data/include/prism/util/pm_string.h +1 -0
- data/include/prism/version.h +3 -3
- data/lib/prism/desugar_compiler.rb +111 -74
- data/lib/prism/dispatcher.rb +2 -1
- data/lib/prism/dot_visitor.rb +21 -31
- data/lib/prism/dsl.rb +656 -471
- data/lib/prism/ffi.rb +3 -0
- data/lib/prism/inspect_visitor.rb +285 -57
- data/lib/prism/mutation_compiler.rb +5 -5
- data/lib/prism/node.rb +2282 -4754
- data/lib/prism/node_ext.rb +72 -11
- data/lib/prism/parse_result/errors.rb +65 -0
- data/lib/prism/parse_result/newlines.rb +28 -28
- data/lib/prism/parse_result.rb +25 -2
- data/lib/prism/reflection.rb +7 -7
- data/lib/prism/serialize.rb +468 -610
- data/lib/prism/translation/parser/compiler.rb +18 -18
- data/lib/prism/translation/parser/lexer.rb +1 -1
- data/lib/prism/translation/parser.rb +3 -3
- data/lib/prism/translation/ripper.rb +14 -14
- data/lib/prism/translation/ruby_parser.rb +43 -7
- data/prism.gemspec +3 -1
- data/rbi/prism/dsl.rbi +521 -0
- data/rbi/prism/node.rbi +1456 -5616
- data/rbi/prism.rbi +16 -16
- data/sig/prism/dsl.rbs +189 -305
- data/sig/prism/node.rbs +702 -603
- data/sig/prism/parse_result.rbs +2 -0
- data/src/diagnostic.c +22 -6
- data/src/node.c +277 -284
- data/src/options.c +18 -0
- data/src/prettyprint.c +99 -108
- data/src/prism.c +1282 -760
- data/src/regexp.c +72 -4
- data/src/serialize.c +165 -50
- data/src/token_type.c +2 -2
- data/src/util/pm_integer.c +14 -14
- data/src/util/pm_newline_list.c +29 -0
- data/src/util/pm_string.c +9 -5
- metadata +4 -2
@@ -76,6 +76,8 @@ module Prism
|
|
76
76
|
# Inspect a AliasGlobalVariableNode node.
|
77
77
|
def visit_alias_global_variable_node(node)
|
78
78
|
commands << [inspect_node("AliasGlobalVariableNode", node), indent]
|
79
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
80
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
79
81
|
commands << ["├── new_name:\n", indent]
|
80
82
|
commands << [node.new_name, "#{indent}│ "]
|
81
83
|
commands << ["├── old_name:\n", indent]
|
@@ -86,6 +88,8 @@ module Prism
|
|
86
88
|
# Inspect a AliasMethodNode node.
|
87
89
|
def visit_alias_method_node(node)
|
88
90
|
commands << [inspect_node("AliasMethodNode", node), indent]
|
91
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
92
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
89
93
|
commands << ["├── new_name:\n", indent]
|
90
94
|
commands << [node.new_name, "#{indent}│ "]
|
91
95
|
commands << ["├── old_name:\n", indent]
|
@@ -96,6 +100,8 @@ module Prism
|
|
96
100
|
# Inspect a AlternationPatternNode node.
|
97
101
|
def visit_alternation_pattern_node(node)
|
98
102
|
commands << [inspect_node("AlternationPatternNode", node), indent]
|
103
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
104
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
99
105
|
commands << ["├── left:\n", indent]
|
100
106
|
commands << [node.left, "#{indent}│ "]
|
101
107
|
commands << ["├── right:\n", indent]
|
@@ -106,6 +112,8 @@ module Prism
|
|
106
112
|
# Inspect a AndNode node.
|
107
113
|
def visit_and_node(node)
|
108
114
|
commands << [inspect_node("AndNode", node), indent]
|
115
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
116
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
109
117
|
commands << ["├── left:\n", indent]
|
110
118
|
commands << [node.left, "#{indent}│ "]
|
111
119
|
commands << ["├── right:\n", indent]
|
@@ -116,7 +124,7 @@ module Prism
|
|
116
124
|
# Inspect a ArgumentsNode node.
|
117
125
|
def visit_arguments_node(node)
|
118
126
|
commands << [inspect_node("ArgumentsNode", node), indent]
|
119
|
-
flags = [("contains_keywords" if node.contains_keywords?), ("contains_keyword_splat" if node.contains_keyword_splat?)].compact
|
127
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("contains_keywords" if node.contains_keywords?), ("contains_keyword_splat" if node.contains_keyword_splat?), ("contains_splat" if node.contains_splat?)].compact
|
120
128
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
121
129
|
commands << ["└── arguments: (length: #{(arguments = node.arguments).length})\n", indent]
|
122
130
|
if arguments.any?
|
@@ -132,7 +140,7 @@ module Prism
|
|
132
140
|
# Inspect a ArrayNode node.
|
133
141
|
def visit_array_node(node)
|
134
142
|
commands << [inspect_node("ArrayNode", node), indent]
|
135
|
-
flags = [("contains_splat" if node.contains_splat?)].compact
|
143
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("contains_splat" if node.contains_splat?)].compact
|
136
144
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
137
145
|
commands << ["├── elements: (length: #{(elements = node.elements).length})\n", indent]
|
138
146
|
if elements.any?
|
@@ -150,6 +158,8 @@ module Prism
|
|
150
158
|
# Inspect a ArrayPatternNode node.
|
151
159
|
def visit_array_pattern_node(node)
|
152
160
|
commands << [inspect_node("ArrayPatternNode", node), indent]
|
161
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
162
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
153
163
|
if (constant = node.constant).nil?
|
154
164
|
commands << ["├── constant: ∅\n", indent]
|
155
165
|
else
|
@@ -187,6 +197,8 @@ module Prism
|
|
187
197
|
# Inspect a AssocNode node.
|
188
198
|
def visit_assoc_node(node)
|
189
199
|
commands << [inspect_node("AssocNode", node), indent]
|
200
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
201
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
190
202
|
commands << ["├── key:\n", indent]
|
191
203
|
commands << [node.key, "#{indent}│ "]
|
192
204
|
commands << ["├── value:\n", indent]
|
@@ -197,6 +209,8 @@ module Prism
|
|
197
209
|
# Inspect a AssocSplatNode node.
|
198
210
|
def visit_assoc_splat_node(node)
|
199
211
|
commands << [inspect_node("AssocSplatNode", node), indent]
|
212
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
213
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
200
214
|
if (value = node.value).nil?
|
201
215
|
commands << ["├── value: ∅\n", indent]
|
202
216
|
else
|
@@ -209,12 +223,16 @@ module Prism
|
|
209
223
|
# Inspect a BackReferenceReadNode node.
|
210
224
|
def visit_back_reference_read_node(node)
|
211
225
|
commands << [inspect_node("BackReferenceReadNode", node), indent]
|
226
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
227
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
212
228
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
213
229
|
end
|
214
230
|
|
215
231
|
# Inspect a BeginNode node.
|
216
232
|
def visit_begin_node(node)
|
217
233
|
commands << [inspect_node("BeginNode", node), indent]
|
234
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
235
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
218
236
|
commands << ["├── begin_keyword_loc: #{inspect_location(node.begin_keyword_loc)}\n", indent]
|
219
237
|
if (statements = node.statements).nil?
|
220
238
|
commands << ["├── statements: ∅\n", indent]
|
@@ -246,6 +264,8 @@ module Prism
|
|
246
264
|
# Inspect a BlockArgumentNode node.
|
247
265
|
def visit_block_argument_node(node)
|
248
266
|
commands << [inspect_node("BlockArgumentNode", node), indent]
|
267
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
268
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
249
269
|
if (expression = node.expression).nil?
|
250
270
|
commands << ["├── expression: ∅\n", indent]
|
251
271
|
else
|
@@ -258,7 +278,7 @@ module Prism
|
|
258
278
|
# Inspect a BlockLocalVariableNode node.
|
259
279
|
def visit_block_local_variable_node(node)
|
260
280
|
commands << [inspect_node("BlockLocalVariableNode", node), indent]
|
261
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
281
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
262
282
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
263
283
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
264
284
|
end
|
@@ -266,6 +286,8 @@ module Prism
|
|
266
286
|
# Inspect a BlockNode node.
|
267
287
|
def visit_block_node(node)
|
268
288
|
commands << [inspect_node("BlockNode", node), indent]
|
289
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
290
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
269
291
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
270
292
|
if (parameters = node.parameters).nil?
|
271
293
|
commands << ["├── parameters: ∅\n", indent]
|
@@ -286,7 +308,7 @@ module Prism
|
|
286
308
|
# Inspect a BlockParameterNode node.
|
287
309
|
def visit_block_parameter_node(node)
|
288
310
|
commands << [inspect_node("BlockParameterNode", node), indent]
|
289
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
311
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
290
312
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
291
313
|
if (name = node.name).nil?
|
292
314
|
commands << ["├── name: ∅\n", indent]
|
@@ -300,6 +322,8 @@ module Prism
|
|
300
322
|
# Inspect a BlockParametersNode node.
|
301
323
|
def visit_block_parameters_node(node)
|
302
324
|
commands << [inspect_node("BlockParametersNode", node), indent]
|
325
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
326
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
303
327
|
if (parameters = node.parameters).nil?
|
304
328
|
commands << ["├── parameters: ∅\n", indent]
|
305
329
|
else
|
@@ -322,6 +346,8 @@ module Prism
|
|
322
346
|
# Inspect a BreakNode node.
|
323
347
|
def visit_break_node(node)
|
324
348
|
commands << [inspect_node("BreakNode", node), indent]
|
349
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
350
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
325
351
|
if (arguments = node.arguments).nil?
|
326
352
|
commands << ["├── arguments: ∅\n", indent]
|
327
353
|
else
|
@@ -334,7 +360,7 @@ module Prism
|
|
334
360
|
# Inspect a CallAndWriteNode node.
|
335
361
|
def visit_call_and_write_node(node)
|
336
362
|
commands << [inspect_node("CallAndWriteNode", node), indent]
|
337
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
363
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
338
364
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
339
365
|
if (receiver = node.receiver).nil?
|
340
366
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -354,7 +380,7 @@ module Prism
|
|
354
380
|
# Inspect a CallNode node.
|
355
381
|
def visit_call_node(node)
|
356
382
|
commands << [inspect_node("CallNode", node), indent]
|
357
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
383
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
358
384
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
359
385
|
if (receiver = node.receiver).nil?
|
360
386
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -384,7 +410,7 @@ module Prism
|
|
384
410
|
# Inspect a CallOperatorWriteNode node.
|
385
411
|
def visit_call_operator_write_node(node)
|
386
412
|
commands << [inspect_node("CallOperatorWriteNode", node), indent]
|
387
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
413
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
388
414
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
389
415
|
if (receiver = node.receiver).nil?
|
390
416
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -405,7 +431,7 @@ module Prism
|
|
405
431
|
# Inspect a CallOrWriteNode node.
|
406
432
|
def visit_call_or_write_node(node)
|
407
433
|
commands << [inspect_node("CallOrWriteNode", node), indent]
|
408
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
434
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
409
435
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
410
436
|
if (receiver = node.receiver).nil?
|
411
437
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -425,7 +451,7 @@ module Prism
|
|
425
451
|
# Inspect a CallTargetNode node.
|
426
452
|
def visit_call_target_node(node)
|
427
453
|
commands << [inspect_node("CallTargetNode", node), indent]
|
428
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
454
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
429
455
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
430
456
|
commands << ["├── receiver:\n", indent]
|
431
457
|
commands << [node.receiver, "#{indent}│ "]
|
@@ -437,6 +463,8 @@ module Prism
|
|
437
463
|
# Inspect a CapturePatternNode node.
|
438
464
|
def visit_capture_pattern_node(node)
|
439
465
|
commands << [inspect_node("CapturePatternNode", node), indent]
|
466
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
467
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
440
468
|
commands << ["├── value:\n", indent]
|
441
469
|
commands << [node.value, "#{indent}│ "]
|
442
470
|
commands << ["├── target:\n", indent]
|
@@ -447,6 +475,8 @@ module Prism
|
|
447
475
|
# Inspect a CaseMatchNode node.
|
448
476
|
def visit_case_match_node(node)
|
449
477
|
commands << [inspect_node("CaseMatchNode", node), indent]
|
478
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
479
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
450
480
|
if (predicate = node.predicate).nil?
|
451
481
|
commands << ["├── predicate: ∅\n", indent]
|
452
482
|
else
|
@@ -462,11 +492,11 @@ module Prism
|
|
462
492
|
commands << [Replace.new("#{indent}│ └── "), indent]
|
463
493
|
commands << [conditions[-1], "#{indent}│ "]
|
464
494
|
end
|
465
|
-
if (
|
466
|
-
commands << ["├──
|
495
|
+
if (else_clause = node.else_clause).nil?
|
496
|
+
commands << ["├── else_clause: ∅\n", indent]
|
467
497
|
else
|
468
|
-
commands << ["├──
|
469
|
-
commands << [
|
498
|
+
commands << ["├── else_clause:\n", indent]
|
499
|
+
commands << [else_clause, "#{indent}│ "]
|
470
500
|
end
|
471
501
|
commands << ["├── case_keyword_loc: #{inspect_location(node.case_keyword_loc)}\n", indent]
|
472
502
|
commands << ["└── end_keyword_loc: #{inspect_location(node.end_keyword_loc)}\n", indent]
|
@@ -475,6 +505,8 @@ module Prism
|
|
475
505
|
# Inspect a CaseNode node.
|
476
506
|
def visit_case_node(node)
|
477
507
|
commands << [inspect_node("CaseNode", node), indent]
|
508
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
509
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
478
510
|
if (predicate = node.predicate).nil?
|
479
511
|
commands << ["├── predicate: ∅\n", indent]
|
480
512
|
else
|
@@ -490,11 +522,11 @@ module Prism
|
|
490
522
|
commands << [Replace.new("#{indent}│ └── "), indent]
|
491
523
|
commands << [conditions[-1], "#{indent}│ "]
|
492
524
|
end
|
493
|
-
if (
|
494
|
-
commands << ["├──
|
525
|
+
if (else_clause = node.else_clause).nil?
|
526
|
+
commands << ["├── else_clause: ∅\n", indent]
|
495
527
|
else
|
496
|
-
commands << ["├──
|
497
|
-
commands << [
|
528
|
+
commands << ["├── else_clause:\n", indent]
|
529
|
+
commands << [else_clause, "#{indent}│ "]
|
498
530
|
end
|
499
531
|
commands << ["├── case_keyword_loc: #{inspect_location(node.case_keyword_loc)}\n", indent]
|
500
532
|
commands << ["└── end_keyword_loc: #{inspect_location(node.end_keyword_loc)}\n", indent]
|
@@ -503,6 +535,8 @@ module Prism
|
|
503
535
|
# Inspect a ClassNode node.
|
504
536
|
def visit_class_node(node)
|
505
537
|
commands << [inspect_node("ClassNode", node), indent]
|
538
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
539
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
506
540
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
507
541
|
commands << ["├── class_keyword_loc: #{inspect_location(node.class_keyword_loc)}\n", indent]
|
508
542
|
commands << ["├── constant_path:\n", indent]
|
@@ -527,6 +561,8 @@ module Prism
|
|
527
561
|
# Inspect a ClassVariableAndWriteNode node.
|
528
562
|
def visit_class_variable_and_write_node(node)
|
529
563
|
commands << [inspect_node("ClassVariableAndWriteNode", node), indent]
|
564
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
565
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
530
566
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
531
567
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
532
568
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -537,6 +573,8 @@ module Prism
|
|
537
573
|
# Inspect a ClassVariableOperatorWriteNode node.
|
538
574
|
def visit_class_variable_operator_write_node(node)
|
539
575
|
commands << [inspect_node("ClassVariableOperatorWriteNode", node), indent]
|
576
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
577
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
540
578
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
541
579
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
542
580
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
@@ -548,6 +586,8 @@ module Prism
|
|
548
586
|
# Inspect a ClassVariableOrWriteNode node.
|
549
587
|
def visit_class_variable_or_write_node(node)
|
550
588
|
commands << [inspect_node("ClassVariableOrWriteNode", node), indent]
|
589
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
590
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
551
591
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
552
592
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
553
593
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -558,18 +598,24 @@ module Prism
|
|
558
598
|
# Inspect a ClassVariableReadNode node.
|
559
599
|
def visit_class_variable_read_node(node)
|
560
600
|
commands << [inspect_node("ClassVariableReadNode", node), indent]
|
601
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
602
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
561
603
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
562
604
|
end
|
563
605
|
|
564
606
|
# Inspect a ClassVariableTargetNode node.
|
565
607
|
def visit_class_variable_target_node(node)
|
566
608
|
commands << [inspect_node("ClassVariableTargetNode", node), indent]
|
609
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
610
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
567
611
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
568
612
|
end
|
569
613
|
|
570
614
|
# Inspect a ClassVariableWriteNode node.
|
571
615
|
def visit_class_variable_write_node(node)
|
572
616
|
commands << [inspect_node("ClassVariableWriteNode", node), indent]
|
617
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
618
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
573
619
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
574
620
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
575
621
|
commands << ["├── value:\n", indent]
|
@@ -580,6 +626,8 @@ module Prism
|
|
580
626
|
# Inspect a ConstantAndWriteNode node.
|
581
627
|
def visit_constant_and_write_node(node)
|
582
628
|
commands << [inspect_node("ConstantAndWriteNode", node), indent]
|
629
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
630
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
583
631
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
584
632
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
585
633
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -590,6 +638,8 @@ module Prism
|
|
590
638
|
# Inspect a ConstantOperatorWriteNode node.
|
591
639
|
def visit_constant_operator_write_node(node)
|
592
640
|
commands << [inspect_node("ConstantOperatorWriteNode", node), indent]
|
641
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
642
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
593
643
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
594
644
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
595
645
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
@@ -601,6 +651,8 @@ module Prism
|
|
601
651
|
# Inspect a ConstantOrWriteNode node.
|
602
652
|
def visit_constant_or_write_node(node)
|
603
653
|
commands << [inspect_node("ConstantOrWriteNode", node), indent]
|
654
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
655
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
604
656
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
605
657
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
606
658
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -611,6 +663,8 @@ module Prism
|
|
611
663
|
# Inspect a ConstantPathAndWriteNode node.
|
612
664
|
def visit_constant_path_and_write_node(node)
|
613
665
|
commands << [inspect_node("ConstantPathAndWriteNode", node), indent]
|
666
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
667
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
614
668
|
commands << ["├── target:\n", indent]
|
615
669
|
commands << [node.target, "#{indent}│ "]
|
616
670
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -621,6 +675,8 @@ module Prism
|
|
621
675
|
# Inspect a ConstantPathNode node.
|
622
676
|
def visit_constant_path_node(node)
|
623
677
|
commands << [inspect_node("ConstantPathNode", node), indent]
|
678
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
679
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
624
680
|
if (parent = node.parent).nil?
|
625
681
|
commands << ["├── parent: ∅\n", indent]
|
626
682
|
else
|
@@ -639,6 +695,8 @@ module Prism
|
|
639
695
|
# Inspect a ConstantPathOperatorWriteNode node.
|
640
696
|
def visit_constant_path_operator_write_node(node)
|
641
697
|
commands << [inspect_node("ConstantPathOperatorWriteNode", node), indent]
|
698
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
699
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
642
700
|
commands << ["├── target:\n", indent]
|
643
701
|
commands << [node.target, "#{indent}│ "]
|
644
702
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
@@ -650,6 +708,8 @@ module Prism
|
|
650
708
|
# Inspect a ConstantPathOrWriteNode node.
|
651
709
|
def visit_constant_path_or_write_node(node)
|
652
710
|
commands << [inspect_node("ConstantPathOrWriteNode", node), indent]
|
711
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
712
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
653
713
|
commands << ["├── target:\n", indent]
|
654
714
|
commands << [node.target, "#{indent}│ "]
|
655
715
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -660,6 +720,8 @@ module Prism
|
|
660
720
|
# Inspect a ConstantPathTargetNode node.
|
661
721
|
def visit_constant_path_target_node(node)
|
662
722
|
commands << [inspect_node("ConstantPathTargetNode", node), indent]
|
723
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
724
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
663
725
|
if (parent = node.parent).nil?
|
664
726
|
commands << ["├── parent: ∅\n", indent]
|
665
727
|
else
|
@@ -678,6 +740,8 @@ module Prism
|
|
678
740
|
# Inspect a ConstantPathWriteNode node.
|
679
741
|
def visit_constant_path_write_node(node)
|
680
742
|
commands << [inspect_node("ConstantPathWriteNode", node), indent]
|
743
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
744
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
681
745
|
commands << ["├── target:\n", indent]
|
682
746
|
commands << [node.target, "#{indent}│ "]
|
683
747
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -688,18 +752,24 @@ module Prism
|
|
688
752
|
# Inspect a ConstantReadNode node.
|
689
753
|
def visit_constant_read_node(node)
|
690
754
|
commands << [inspect_node("ConstantReadNode", node), indent]
|
755
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
756
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
691
757
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
692
758
|
end
|
693
759
|
|
694
760
|
# Inspect a ConstantTargetNode node.
|
695
761
|
def visit_constant_target_node(node)
|
696
762
|
commands << [inspect_node("ConstantTargetNode", node), indent]
|
763
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
764
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
697
765
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
698
766
|
end
|
699
767
|
|
700
768
|
# Inspect a ConstantWriteNode node.
|
701
769
|
def visit_constant_write_node(node)
|
702
770
|
commands << [inspect_node("ConstantWriteNode", node), indent]
|
771
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
772
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
703
773
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
704
774
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
705
775
|
commands << ["├── value:\n", indent]
|
@@ -710,6 +780,8 @@ module Prism
|
|
710
780
|
# Inspect a DefNode node.
|
711
781
|
def visit_def_node(node)
|
712
782
|
commands << [inspect_node("DefNode", node), indent]
|
783
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
784
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
713
785
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
714
786
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
715
787
|
if (receiver = node.receiver).nil?
|
@@ -742,6 +814,8 @@ module Prism
|
|
742
814
|
# Inspect a DefinedNode node.
|
743
815
|
def visit_defined_node(node)
|
744
816
|
commands << [inspect_node("DefinedNode", node), indent]
|
817
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
818
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
745
819
|
commands << ["├── lparen_loc: #{inspect_location(node.lparen_loc)}\n", indent]
|
746
820
|
commands << ["├── value:\n", indent]
|
747
821
|
commands << [node.value, "#{indent}│ "]
|
@@ -752,6 +826,8 @@ module Prism
|
|
752
826
|
# Inspect a ElseNode node.
|
753
827
|
def visit_else_node(node)
|
754
828
|
commands << [inspect_node("ElseNode", node), indent]
|
829
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
830
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
755
831
|
commands << ["├── else_keyword_loc: #{inspect_location(node.else_keyword_loc)}\n", indent]
|
756
832
|
if (statements = node.statements).nil?
|
757
833
|
commands << ["├── statements: ∅\n", indent]
|
@@ -765,6 +841,8 @@ module Prism
|
|
765
841
|
# Inspect a EmbeddedStatementsNode node.
|
766
842
|
def visit_embedded_statements_node(node)
|
767
843
|
commands << [inspect_node("EmbeddedStatementsNode", node), indent]
|
844
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
845
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
768
846
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
769
847
|
if (statements = node.statements).nil?
|
770
848
|
commands << ["├── statements: ∅\n", indent]
|
@@ -778,6 +856,8 @@ module Prism
|
|
778
856
|
# Inspect a EmbeddedVariableNode node.
|
779
857
|
def visit_embedded_variable_node(node)
|
780
858
|
commands << [inspect_node("EmbeddedVariableNode", node), indent]
|
859
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
860
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
781
861
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
782
862
|
commands << ["└── variable:\n", indent]
|
783
863
|
commands << [node.variable, "#{indent} "]
|
@@ -786,6 +866,8 @@ module Prism
|
|
786
866
|
# Inspect a EnsureNode node.
|
787
867
|
def visit_ensure_node(node)
|
788
868
|
commands << [inspect_node("EnsureNode", node), indent]
|
869
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
870
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
789
871
|
commands << ["├── ensure_keyword_loc: #{inspect_location(node.ensure_keyword_loc)}\n", indent]
|
790
872
|
if (statements = node.statements).nil?
|
791
873
|
commands << ["├── statements: ∅\n", indent]
|
@@ -799,11 +881,15 @@ module Prism
|
|
799
881
|
# Inspect a FalseNode node.
|
800
882
|
def visit_false_node(node)
|
801
883
|
commands << [inspect_node("FalseNode", node), indent]
|
884
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
885
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
802
886
|
end
|
803
887
|
|
804
888
|
# Inspect a FindPatternNode node.
|
805
889
|
def visit_find_pattern_node(node)
|
806
890
|
commands << [inspect_node("FindPatternNode", node), indent]
|
891
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
892
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
807
893
|
if (constant = node.constant).nil?
|
808
894
|
commands << ["├── constant: ∅\n", indent]
|
809
895
|
else
|
@@ -830,7 +916,7 @@ module Prism
|
|
830
916
|
# Inspect a FlipFlopNode node.
|
831
917
|
def visit_flip_flop_node(node)
|
832
918
|
commands << [inspect_node("FlipFlopNode", node), indent]
|
833
|
-
flags = [("exclude_end" if node.exclude_end?)].compact
|
919
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("exclude_end" if node.exclude_end?)].compact
|
834
920
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
835
921
|
if (left = node.left).nil?
|
836
922
|
commands << ["├── left: ∅\n", indent]
|
@@ -850,12 +936,16 @@ module Prism
|
|
850
936
|
# Inspect a FloatNode node.
|
851
937
|
def visit_float_node(node)
|
852
938
|
commands << [inspect_node("FloatNode", node), indent]
|
939
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
940
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
853
941
|
commands << ["└── value: #{node.value.inspect}\n", indent]
|
854
942
|
end
|
855
943
|
|
856
944
|
# Inspect a ForNode node.
|
857
945
|
def visit_for_node(node)
|
858
946
|
commands << [inspect_node("ForNode", node), indent]
|
947
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
948
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
859
949
|
commands << ["├── index:\n", indent]
|
860
950
|
commands << [node.index, "#{indent}│ "]
|
861
951
|
commands << ["├── collection:\n", indent]
|
@@ -875,16 +965,22 @@ module Prism
|
|
875
965
|
# Inspect a ForwardingArgumentsNode node.
|
876
966
|
def visit_forwarding_arguments_node(node)
|
877
967
|
commands << [inspect_node("ForwardingArgumentsNode", node), indent]
|
968
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
969
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
878
970
|
end
|
879
971
|
|
880
972
|
# Inspect a ForwardingParameterNode node.
|
881
973
|
def visit_forwarding_parameter_node(node)
|
882
974
|
commands << [inspect_node("ForwardingParameterNode", node), indent]
|
975
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
976
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
883
977
|
end
|
884
978
|
|
885
979
|
# Inspect a ForwardingSuperNode node.
|
886
980
|
def visit_forwarding_super_node(node)
|
887
981
|
commands << [inspect_node("ForwardingSuperNode", node), indent]
|
982
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
983
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
888
984
|
if (block = node.block).nil?
|
889
985
|
commands << ["└── block: ∅\n", indent]
|
890
986
|
else
|
@@ -896,6 +992,8 @@ module Prism
|
|
896
992
|
# Inspect a GlobalVariableAndWriteNode node.
|
897
993
|
def visit_global_variable_and_write_node(node)
|
898
994
|
commands << [inspect_node("GlobalVariableAndWriteNode", node), indent]
|
995
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
996
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
899
997
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
900
998
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
901
999
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -906,6 +1004,8 @@ module Prism
|
|
906
1004
|
# Inspect a GlobalVariableOperatorWriteNode node.
|
907
1005
|
def visit_global_variable_operator_write_node(node)
|
908
1006
|
commands << [inspect_node("GlobalVariableOperatorWriteNode", node), indent]
|
1007
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1008
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
909
1009
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
910
1010
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
911
1011
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
@@ -917,6 +1017,8 @@ module Prism
|
|
917
1017
|
# Inspect a GlobalVariableOrWriteNode node.
|
918
1018
|
def visit_global_variable_or_write_node(node)
|
919
1019
|
commands << [inspect_node("GlobalVariableOrWriteNode", node), indent]
|
1020
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1021
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
920
1022
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
921
1023
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
922
1024
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -927,18 +1029,24 @@ module Prism
|
|
927
1029
|
# Inspect a GlobalVariableReadNode node.
|
928
1030
|
def visit_global_variable_read_node(node)
|
929
1031
|
commands << [inspect_node("GlobalVariableReadNode", node), indent]
|
1032
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1033
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
930
1034
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
931
1035
|
end
|
932
1036
|
|
933
1037
|
# Inspect a GlobalVariableTargetNode node.
|
934
1038
|
def visit_global_variable_target_node(node)
|
935
1039
|
commands << [inspect_node("GlobalVariableTargetNode", node), indent]
|
1040
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1041
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
936
1042
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
937
1043
|
end
|
938
1044
|
|
939
1045
|
# Inspect a GlobalVariableWriteNode node.
|
940
1046
|
def visit_global_variable_write_node(node)
|
941
1047
|
commands << [inspect_node("GlobalVariableWriteNode", node), indent]
|
1048
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1049
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
942
1050
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
943
1051
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
944
1052
|
commands << ["├── value:\n", indent]
|
@@ -949,6 +1057,8 @@ module Prism
|
|
949
1057
|
# Inspect a HashNode node.
|
950
1058
|
def visit_hash_node(node)
|
951
1059
|
commands << [inspect_node("HashNode", node), indent]
|
1060
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1061
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
952
1062
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
953
1063
|
commands << ["├── elements: (length: #{(elements = node.elements).length})\n", indent]
|
954
1064
|
if elements.any?
|
@@ -965,6 +1075,8 @@ module Prism
|
|
965
1075
|
# Inspect a HashPatternNode node.
|
966
1076
|
def visit_hash_pattern_node(node)
|
967
1077
|
commands << [inspect_node("HashPatternNode", node), indent]
|
1078
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1079
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
968
1080
|
if (constant = node.constant).nil?
|
969
1081
|
commands << ["├── constant: ∅\n", indent]
|
970
1082
|
else
|
@@ -993,6 +1105,8 @@ module Prism
|
|
993
1105
|
# Inspect a IfNode node.
|
994
1106
|
def visit_if_node(node)
|
995
1107
|
commands << [inspect_node("IfNode", node), indent]
|
1108
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1109
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
996
1110
|
commands << ["├── if_keyword_loc: #{inspect_location(node.if_keyword_loc)}\n", indent]
|
997
1111
|
commands << ["├── predicate:\n", indent]
|
998
1112
|
commands << [node.predicate, "#{indent}│ "]
|
@@ -1003,11 +1117,11 @@ module Prism
|
|
1003
1117
|
commands << ["├── statements:\n", indent]
|
1004
1118
|
commands << [statements, "#{indent}│ "]
|
1005
1119
|
end
|
1006
|
-
if (
|
1007
|
-
commands << ["├──
|
1120
|
+
if (subsequent = node.subsequent).nil?
|
1121
|
+
commands << ["├── subsequent: ∅\n", indent]
|
1008
1122
|
else
|
1009
|
-
commands << ["├──
|
1010
|
-
commands << [
|
1123
|
+
commands << ["├── subsequent:\n", indent]
|
1124
|
+
commands << [subsequent, "#{indent}│ "]
|
1011
1125
|
end
|
1012
1126
|
commands << ["└── end_keyword_loc: #{inspect_location(node.end_keyword_loc)}\n", indent]
|
1013
1127
|
end
|
@@ -1015,6 +1129,8 @@ module Prism
|
|
1015
1129
|
# Inspect a ImaginaryNode node.
|
1016
1130
|
def visit_imaginary_node(node)
|
1017
1131
|
commands << [inspect_node("ImaginaryNode", node), indent]
|
1132
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1133
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1018
1134
|
commands << ["└── numeric:\n", indent]
|
1019
1135
|
commands << [node.numeric, "#{indent} "]
|
1020
1136
|
end
|
@@ -1022,6 +1138,8 @@ module Prism
|
|
1022
1138
|
# Inspect a ImplicitNode node.
|
1023
1139
|
def visit_implicit_node(node)
|
1024
1140
|
commands << [inspect_node("ImplicitNode", node), indent]
|
1141
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1142
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1025
1143
|
commands << ["└── value:\n", indent]
|
1026
1144
|
commands << [node.value, "#{indent} "]
|
1027
1145
|
end
|
@@ -1029,11 +1147,15 @@ module Prism
|
|
1029
1147
|
# Inspect a ImplicitRestNode node.
|
1030
1148
|
def visit_implicit_rest_node(node)
|
1031
1149
|
commands << [inspect_node("ImplicitRestNode", node), indent]
|
1150
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1151
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1032
1152
|
end
|
1033
1153
|
|
1034
1154
|
# Inspect a InNode node.
|
1035
1155
|
def visit_in_node(node)
|
1036
1156
|
commands << [inspect_node("InNode", node), indent]
|
1157
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1158
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1037
1159
|
commands << ["├── pattern:\n", indent]
|
1038
1160
|
commands << [node.pattern, "#{indent}│ "]
|
1039
1161
|
if (statements = node.statements).nil?
|
@@ -1049,7 +1171,7 @@ module Prism
|
|
1049
1171
|
# Inspect a IndexAndWriteNode node.
|
1050
1172
|
def visit_index_and_write_node(node)
|
1051
1173
|
commands << [inspect_node("IndexAndWriteNode", node), indent]
|
1052
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1174
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1053
1175
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1054
1176
|
if (receiver = node.receiver).nil?
|
1055
1177
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -1080,7 +1202,7 @@ module Prism
|
|
1080
1202
|
# Inspect a IndexOperatorWriteNode node.
|
1081
1203
|
def visit_index_operator_write_node(node)
|
1082
1204
|
commands << [inspect_node("IndexOperatorWriteNode", node), indent]
|
1083
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1205
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1084
1206
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1085
1207
|
if (receiver = node.receiver).nil?
|
1086
1208
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -1112,7 +1234,7 @@ module Prism
|
|
1112
1234
|
# Inspect a IndexOrWriteNode node.
|
1113
1235
|
def visit_index_or_write_node(node)
|
1114
1236
|
commands << [inspect_node("IndexOrWriteNode", node), indent]
|
1115
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1237
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1116
1238
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1117
1239
|
if (receiver = node.receiver).nil?
|
1118
1240
|
commands << ["├── receiver: ∅\n", indent]
|
@@ -1143,7 +1265,7 @@ module Prism
|
|
1143
1265
|
# Inspect a IndexTargetNode node.
|
1144
1266
|
def visit_index_target_node(node)
|
1145
1267
|
commands << [inspect_node("IndexTargetNode", node), indent]
|
1146
|
-
flags = [("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1268
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("safe_navigation" if node.safe_navigation?), ("variable_call" if node.variable_call?), ("attribute_write" if node.attribute_write?), ("ignore_visibility" if node.ignore_visibility?)].compact
|
1147
1269
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1148
1270
|
commands << ["├── receiver:\n", indent]
|
1149
1271
|
commands << [node.receiver, "#{indent}│ "]
|
@@ -1166,6 +1288,8 @@ module Prism
|
|
1166
1288
|
# Inspect a InstanceVariableAndWriteNode node.
|
1167
1289
|
def visit_instance_variable_and_write_node(node)
|
1168
1290
|
commands << [inspect_node("InstanceVariableAndWriteNode", node), indent]
|
1291
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1292
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1169
1293
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1170
1294
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1171
1295
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -1176,6 +1300,8 @@ module Prism
|
|
1176
1300
|
# Inspect a InstanceVariableOperatorWriteNode node.
|
1177
1301
|
def visit_instance_variable_operator_write_node(node)
|
1178
1302
|
commands << [inspect_node("InstanceVariableOperatorWriteNode", node), indent]
|
1303
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1304
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1179
1305
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1180
1306
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1181
1307
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
@@ -1187,6 +1313,8 @@ module Prism
|
|
1187
1313
|
# Inspect a InstanceVariableOrWriteNode node.
|
1188
1314
|
def visit_instance_variable_or_write_node(node)
|
1189
1315
|
commands << [inspect_node("InstanceVariableOrWriteNode", node), indent]
|
1316
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1317
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1190
1318
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1191
1319
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1192
1320
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -1197,18 +1325,24 @@ module Prism
|
|
1197
1325
|
# Inspect a InstanceVariableReadNode node.
|
1198
1326
|
def visit_instance_variable_read_node(node)
|
1199
1327
|
commands << [inspect_node("InstanceVariableReadNode", node), indent]
|
1328
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1329
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1200
1330
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
1201
1331
|
end
|
1202
1332
|
|
1203
1333
|
# Inspect a InstanceVariableTargetNode node.
|
1204
1334
|
def visit_instance_variable_target_node(node)
|
1205
1335
|
commands << [inspect_node("InstanceVariableTargetNode", node), indent]
|
1336
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1337
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1206
1338
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
1207
1339
|
end
|
1208
1340
|
|
1209
1341
|
# Inspect a InstanceVariableWriteNode node.
|
1210
1342
|
def visit_instance_variable_write_node(node)
|
1211
1343
|
commands << [inspect_node("InstanceVariableWriteNode", node), indent]
|
1344
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1345
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1212
1346
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1213
1347
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1214
1348
|
commands << ["├── value:\n", indent]
|
@@ -1219,7 +1353,7 @@ module Prism
|
|
1219
1353
|
# Inspect a IntegerNode node.
|
1220
1354
|
def visit_integer_node(node)
|
1221
1355
|
commands << [inspect_node("IntegerNode", node), indent]
|
1222
|
-
flags = [("binary" if node.binary?), ("decimal" if node.decimal?), ("octal" if node.octal?), ("hexadecimal" if node.hexadecimal?)].compact
|
1356
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("binary" if node.binary?), ("decimal" if node.decimal?), ("octal" if node.octal?), ("hexadecimal" if node.hexadecimal?)].compact
|
1223
1357
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1224
1358
|
commands << ["└── value: #{node.value.inspect}\n", indent]
|
1225
1359
|
end
|
@@ -1227,7 +1361,7 @@ module Prism
|
|
1227
1361
|
# Inspect a InterpolatedMatchLastLineNode node.
|
1228
1362
|
def visit_interpolated_match_last_line_node(node)
|
1229
1363
|
commands << [inspect_node("InterpolatedMatchLastLineNode", node), indent]
|
1230
|
-
flags = [("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1364
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1231
1365
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1232
1366
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1233
1367
|
commands << ["├── parts: (length: #{(parts = node.parts).length})\n", indent]
|
@@ -1245,7 +1379,7 @@ module Prism
|
|
1245
1379
|
# Inspect a InterpolatedRegularExpressionNode node.
|
1246
1380
|
def visit_interpolated_regular_expression_node(node)
|
1247
1381
|
commands << [inspect_node("InterpolatedRegularExpressionNode", node), indent]
|
1248
|
-
flags = [("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1382
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1249
1383
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1250
1384
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1251
1385
|
commands << ["├── parts: (length: #{(parts = node.parts).length})\n", indent]
|
@@ -1263,7 +1397,7 @@ module Prism
|
|
1263
1397
|
# Inspect a InterpolatedStringNode node.
|
1264
1398
|
def visit_interpolated_string_node(node)
|
1265
1399
|
commands << [inspect_node("InterpolatedStringNode", node), indent]
|
1266
|
-
flags = [("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
1400
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
1267
1401
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1268
1402
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1269
1403
|
commands << ["├── parts: (length: #{(parts = node.parts).length})\n", indent]
|
@@ -1281,6 +1415,8 @@ module Prism
|
|
1281
1415
|
# Inspect a InterpolatedSymbolNode node.
|
1282
1416
|
def visit_interpolated_symbol_node(node)
|
1283
1417
|
commands << [inspect_node("InterpolatedSymbolNode", node), indent]
|
1418
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1419
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1284
1420
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1285
1421
|
commands << ["├── parts: (length: #{(parts = node.parts).length})\n", indent]
|
1286
1422
|
if parts.any?
|
@@ -1297,6 +1433,8 @@ module Prism
|
|
1297
1433
|
# Inspect a InterpolatedXStringNode node.
|
1298
1434
|
def visit_interpolated_x_string_node(node)
|
1299
1435
|
commands << [inspect_node("InterpolatedXStringNode", node), indent]
|
1436
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1437
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1300
1438
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1301
1439
|
commands << ["├── parts: (length: #{(parts = node.parts).length})\n", indent]
|
1302
1440
|
if parts.any?
|
@@ -1313,17 +1451,21 @@ module Prism
|
|
1313
1451
|
# Inspect a ItLocalVariableReadNode node.
|
1314
1452
|
def visit_it_local_variable_read_node(node)
|
1315
1453
|
commands << [inspect_node("ItLocalVariableReadNode", node), indent]
|
1454
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1455
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1316
1456
|
end
|
1317
1457
|
|
1318
1458
|
# Inspect a ItParametersNode node.
|
1319
1459
|
def visit_it_parameters_node(node)
|
1320
1460
|
commands << [inspect_node("ItParametersNode", node), indent]
|
1461
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1462
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1321
1463
|
end
|
1322
1464
|
|
1323
1465
|
# Inspect a KeywordHashNode node.
|
1324
1466
|
def visit_keyword_hash_node(node)
|
1325
1467
|
commands << [inspect_node("KeywordHashNode", node), indent]
|
1326
|
-
flags = [("symbol_keys" if node.symbol_keys?)].compact
|
1468
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("symbol_keys" if node.symbol_keys?)].compact
|
1327
1469
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1328
1470
|
commands << ["└── elements: (length: #{(elements = node.elements).length})\n", indent]
|
1329
1471
|
if elements.any?
|
@@ -1339,7 +1481,7 @@ module Prism
|
|
1339
1481
|
# Inspect a KeywordRestParameterNode node.
|
1340
1482
|
def visit_keyword_rest_parameter_node(node)
|
1341
1483
|
commands << [inspect_node("KeywordRestParameterNode", node), indent]
|
1342
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
1484
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1343
1485
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1344
1486
|
if (name = node.name).nil?
|
1345
1487
|
commands << ["├── name: ∅\n", indent]
|
@@ -1353,6 +1495,8 @@ module Prism
|
|
1353
1495
|
# Inspect a LambdaNode node.
|
1354
1496
|
def visit_lambda_node(node)
|
1355
1497
|
commands << [inspect_node("LambdaNode", node), indent]
|
1498
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1499
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1356
1500
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
1357
1501
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
1358
1502
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
@@ -1374,6 +1518,8 @@ module Prism
|
|
1374
1518
|
# Inspect a LocalVariableAndWriteNode node.
|
1375
1519
|
def visit_local_variable_and_write_node(node)
|
1376
1520
|
commands << [inspect_node("LocalVariableAndWriteNode", node), indent]
|
1521
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1522
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1377
1523
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1378
1524
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
1379
1525
|
commands << ["├── value:\n", indent]
|
@@ -1385,6 +1531,8 @@ module Prism
|
|
1385
1531
|
# Inspect a LocalVariableOperatorWriteNode node.
|
1386
1532
|
def visit_local_variable_operator_write_node(node)
|
1387
1533
|
commands << [inspect_node("LocalVariableOperatorWriteNode", node), indent]
|
1534
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1535
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1388
1536
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1389
1537
|
commands << ["├── binary_operator_loc: #{inspect_location(node.binary_operator_loc)}\n", indent]
|
1390
1538
|
commands << ["├── value:\n", indent]
|
@@ -1397,6 +1545,8 @@ module Prism
|
|
1397
1545
|
# Inspect a LocalVariableOrWriteNode node.
|
1398
1546
|
def visit_local_variable_or_write_node(node)
|
1399
1547
|
commands << [inspect_node("LocalVariableOrWriteNode", node), indent]
|
1548
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1549
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1400
1550
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
1401
1551
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
1402
1552
|
commands << ["├── value:\n", indent]
|
@@ -1408,6 +1558,8 @@ module Prism
|
|
1408
1558
|
# Inspect a LocalVariableReadNode node.
|
1409
1559
|
def visit_local_variable_read_node(node)
|
1410
1560
|
commands << [inspect_node("LocalVariableReadNode", node), indent]
|
1561
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1562
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1411
1563
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1412
1564
|
commands << ["└── depth: #{node.depth.inspect}\n", indent]
|
1413
1565
|
end
|
@@ -1415,6 +1567,8 @@ module Prism
|
|
1415
1567
|
# Inspect a LocalVariableTargetNode node.
|
1416
1568
|
def visit_local_variable_target_node(node)
|
1417
1569
|
commands << [inspect_node("LocalVariableTargetNode", node), indent]
|
1570
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1571
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1418
1572
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1419
1573
|
commands << ["└── depth: #{node.depth.inspect}\n", indent]
|
1420
1574
|
end
|
@@ -1422,6 +1576,8 @@ module Prism
|
|
1422
1576
|
# Inspect a LocalVariableWriteNode node.
|
1423
1577
|
def visit_local_variable_write_node(node)
|
1424
1578
|
commands << [inspect_node("LocalVariableWriteNode", node), indent]
|
1579
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1580
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1425
1581
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1426
1582
|
commands << ["├── depth: #{node.depth.inspect}\n", indent]
|
1427
1583
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
@@ -1433,7 +1589,7 @@ module Prism
|
|
1433
1589
|
# Inspect a MatchLastLineNode node.
|
1434
1590
|
def visit_match_last_line_node(node)
|
1435
1591
|
commands << [inspect_node("MatchLastLineNode", node), indent]
|
1436
|
-
flags = [("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1592
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1437
1593
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1438
1594
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1439
1595
|
commands << ["├── content_loc: #{inspect_location(node.content_loc)}\n", indent]
|
@@ -1444,6 +1600,8 @@ module Prism
|
|
1444
1600
|
# Inspect a MatchPredicateNode node.
|
1445
1601
|
def visit_match_predicate_node(node)
|
1446
1602
|
commands << [inspect_node("MatchPredicateNode", node), indent]
|
1603
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1604
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1447
1605
|
commands << ["├── value:\n", indent]
|
1448
1606
|
commands << [node.value, "#{indent}│ "]
|
1449
1607
|
commands << ["├── pattern:\n", indent]
|
@@ -1454,6 +1612,8 @@ module Prism
|
|
1454
1612
|
# Inspect a MatchRequiredNode node.
|
1455
1613
|
def visit_match_required_node(node)
|
1456
1614
|
commands << [inspect_node("MatchRequiredNode", node), indent]
|
1615
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1616
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1457
1617
|
commands << ["├── value:\n", indent]
|
1458
1618
|
commands << [node.value, "#{indent}│ "]
|
1459
1619
|
commands << ["├── pattern:\n", indent]
|
@@ -1464,6 +1624,8 @@ module Prism
|
|
1464
1624
|
# Inspect a MatchWriteNode node.
|
1465
1625
|
def visit_match_write_node(node)
|
1466
1626
|
commands << [inspect_node("MatchWriteNode", node), indent]
|
1627
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1628
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1467
1629
|
commands << ["├── call:\n", indent]
|
1468
1630
|
commands << [node.call, "#{indent}│ "]
|
1469
1631
|
commands << ["└── targets: (length: #{(targets = node.targets).length})\n", indent]
|
@@ -1480,11 +1642,15 @@ module Prism
|
|
1480
1642
|
# Inspect a MissingNode node.
|
1481
1643
|
def visit_missing_node(node)
|
1482
1644
|
commands << [inspect_node("MissingNode", node), indent]
|
1645
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1646
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1483
1647
|
end
|
1484
1648
|
|
1485
1649
|
# Inspect a ModuleNode node.
|
1486
1650
|
def visit_module_node(node)
|
1487
1651
|
commands << [inspect_node("ModuleNode", node), indent]
|
1652
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1653
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1488
1654
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
1489
1655
|
commands << ["├── module_keyword_loc: #{inspect_location(node.module_keyword_loc)}\n", indent]
|
1490
1656
|
commands << ["├── constant_path:\n", indent]
|
@@ -1502,6 +1668,8 @@ module Prism
|
|
1502
1668
|
# Inspect a MultiTargetNode node.
|
1503
1669
|
def visit_multi_target_node(node)
|
1504
1670
|
commands << [inspect_node("MultiTargetNode", node), indent]
|
1671
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1672
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1505
1673
|
commands << ["├── lefts: (length: #{(lefts = node.lefts).length})\n", indent]
|
1506
1674
|
if lefts.any?
|
1507
1675
|
lefts[0...-1].each do |child|
|
@@ -1533,6 +1701,8 @@ module Prism
|
|
1533
1701
|
# Inspect a MultiWriteNode node.
|
1534
1702
|
def visit_multi_write_node(node)
|
1535
1703
|
commands << [inspect_node("MultiWriteNode", node), indent]
|
1704
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1705
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1536
1706
|
commands << ["├── lefts: (length: #{(lefts = node.lefts).length})\n", indent]
|
1537
1707
|
if lefts.any?
|
1538
1708
|
lefts[0...-1].each do |child|
|
@@ -1567,6 +1737,8 @@ module Prism
|
|
1567
1737
|
# Inspect a NextNode node.
|
1568
1738
|
def visit_next_node(node)
|
1569
1739
|
commands << [inspect_node("NextNode", node), indent]
|
1740
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1741
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1570
1742
|
if (arguments = node.arguments).nil?
|
1571
1743
|
commands << ["├── arguments: ∅\n", indent]
|
1572
1744
|
else
|
@@ -1579,11 +1751,15 @@ module Prism
|
|
1579
1751
|
# Inspect a NilNode node.
|
1580
1752
|
def visit_nil_node(node)
|
1581
1753
|
commands << [inspect_node("NilNode", node), indent]
|
1754
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1755
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1582
1756
|
end
|
1583
1757
|
|
1584
1758
|
# Inspect a NoKeywordsParameterNode node.
|
1585
1759
|
def visit_no_keywords_parameter_node(node)
|
1586
1760
|
commands << [inspect_node("NoKeywordsParameterNode", node), indent]
|
1761
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1762
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1587
1763
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
1588
1764
|
commands << ["└── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
1589
1765
|
end
|
@@ -1591,19 +1767,23 @@ module Prism
|
|
1591
1767
|
# Inspect a NumberedParametersNode node.
|
1592
1768
|
def visit_numbered_parameters_node(node)
|
1593
1769
|
commands << [inspect_node("NumberedParametersNode", node), indent]
|
1770
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1771
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1594
1772
|
commands << ["└── maximum: #{node.maximum.inspect}\n", indent]
|
1595
1773
|
end
|
1596
1774
|
|
1597
1775
|
# Inspect a NumberedReferenceReadNode node.
|
1598
1776
|
def visit_numbered_reference_read_node(node)
|
1599
1777
|
commands << [inspect_node("NumberedReferenceReadNode", node), indent]
|
1778
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1779
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1600
1780
|
commands << ["└── number: #{node.number.inspect}\n", indent]
|
1601
1781
|
end
|
1602
1782
|
|
1603
1783
|
# Inspect a OptionalKeywordParameterNode node.
|
1604
1784
|
def visit_optional_keyword_parameter_node(node)
|
1605
1785
|
commands << [inspect_node("OptionalKeywordParameterNode", node), indent]
|
1606
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
1786
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1607
1787
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1608
1788
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1609
1789
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
@@ -1614,7 +1794,7 @@ module Prism
|
|
1614
1794
|
# Inspect a OptionalParameterNode node.
|
1615
1795
|
def visit_optional_parameter_node(node)
|
1616
1796
|
commands << [inspect_node("OptionalParameterNode", node), indent]
|
1617
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
1797
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1618
1798
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1619
1799
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1620
1800
|
commands << ["├── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
@@ -1626,6 +1806,8 @@ module Prism
|
|
1626
1806
|
# Inspect a OrNode node.
|
1627
1807
|
def visit_or_node(node)
|
1628
1808
|
commands << [inspect_node("OrNode", node), indent]
|
1809
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1810
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1629
1811
|
commands << ["├── left:\n", indent]
|
1630
1812
|
commands << [node.left, "#{indent}│ "]
|
1631
1813
|
commands << ["├── right:\n", indent]
|
@@ -1636,6 +1818,8 @@ module Prism
|
|
1636
1818
|
# Inspect a ParametersNode node.
|
1637
1819
|
def visit_parameters_node(node)
|
1638
1820
|
commands << [inspect_node("ParametersNode", node), indent]
|
1821
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1822
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1639
1823
|
commands << ["├── requireds: (length: #{(requireds = node.requireds).length})\n", indent]
|
1640
1824
|
if requireds.any?
|
1641
1825
|
requireds[0...-1].each do |child|
|
@@ -1695,6 +1879,8 @@ module Prism
|
|
1695
1879
|
# Inspect a ParenthesesNode node.
|
1696
1880
|
def visit_parentheses_node(node)
|
1697
1881
|
commands << [inspect_node("ParenthesesNode", node), indent]
|
1882
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1883
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1698
1884
|
if (body = node.body).nil?
|
1699
1885
|
commands << ["├── body: ∅\n", indent]
|
1700
1886
|
else
|
@@ -1708,6 +1894,8 @@ module Prism
|
|
1708
1894
|
# Inspect a PinnedExpressionNode node.
|
1709
1895
|
def visit_pinned_expression_node(node)
|
1710
1896
|
commands << [inspect_node("PinnedExpressionNode", node), indent]
|
1897
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1898
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1711
1899
|
commands << ["├── expression:\n", indent]
|
1712
1900
|
commands << [node.expression, "#{indent}│ "]
|
1713
1901
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -1718,6 +1906,8 @@ module Prism
|
|
1718
1906
|
# Inspect a PinnedVariableNode node.
|
1719
1907
|
def visit_pinned_variable_node(node)
|
1720
1908
|
commands << [inspect_node("PinnedVariableNode", node), indent]
|
1909
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1910
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1721
1911
|
commands << ["├── variable:\n", indent]
|
1722
1912
|
commands << [node.variable, "#{indent}│ "]
|
1723
1913
|
commands << ["└── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -1726,6 +1916,8 @@ module Prism
|
|
1726
1916
|
# Inspect a PostExecutionNode node.
|
1727
1917
|
def visit_post_execution_node(node)
|
1728
1918
|
commands << [inspect_node("PostExecutionNode", node), indent]
|
1919
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1920
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1729
1921
|
if (statements = node.statements).nil?
|
1730
1922
|
commands << ["├── statements: ∅\n", indent]
|
1731
1923
|
else
|
@@ -1740,6 +1932,8 @@ module Prism
|
|
1740
1932
|
# Inspect a PreExecutionNode node.
|
1741
1933
|
def visit_pre_execution_node(node)
|
1742
1934
|
commands << [inspect_node("PreExecutionNode", node), indent]
|
1935
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1936
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1743
1937
|
if (statements = node.statements).nil?
|
1744
1938
|
commands << ["├── statements: ∅\n", indent]
|
1745
1939
|
else
|
@@ -1754,6 +1948,8 @@ module Prism
|
|
1754
1948
|
# Inspect a ProgramNode node.
|
1755
1949
|
def visit_program_node(node)
|
1756
1950
|
commands << [inspect_node("ProgramNode", node), indent]
|
1951
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1952
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1757
1953
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
1758
1954
|
commands << ["└── statements:\n", indent]
|
1759
1955
|
commands << [node.statements, "#{indent} "]
|
@@ -1762,7 +1958,7 @@ module Prism
|
|
1762
1958
|
# Inspect a RangeNode node.
|
1763
1959
|
def visit_range_node(node)
|
1764
1960
|
commands << [inspect_node("RangeNode", node), indent]
|
1765
|
-
flags = [("exclude_end" if node.exclude_end?)].compact
|
1961
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("exclude_end" if node.exclude_end?)].compact
|
1766
1962
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1767
1963
|
if (left = node.left).nil?
|
1768
1964
|
commands << ["├── left: ∅\n", indent]
|
@@ -1782,7 +1978,7 @@ module Prism
|
|
1782
1978
|
# Inspect a RationalNode node.
|
1783
1979
|
def visit_rational_node(node)
|
1784
1980
|
commands << [inspect_node("RationalNode", node), indent]
|
1785
|
-
flags = [("binary" if node.binary?), ("decimal" if node.decimal?), ("octal" if node.octal?), ("hexadecimal" if node.hexadecimal?)].compact
|
1981
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("binary" if node.binary?), ("decimal" if node.decimal?), ("octal" if node.octal?), ("hexadecimal" if node.hexadecimal?)].compact
|
1786
1982
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1787
1983
|
commands << ["├── numerator: #{node.numerator.inspect}\n", indent]
|
1788
1984
|
commands << ["└── denominator: #{node.denominator.inspect}\n", indent]
|
@@ -1791,12 +1987,14 @@ module Prism
|
|
1791
1987
|
# Inspect a RedoNode node.
|
1792
1988
|
def visit_redo_node(node)
|
1793
1989
|
commands << [inspect_node("RedoNode", node), indent]
|
1990
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1991
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1794
1992
|
end
|
1795
1993
|
|
1796
1994
|
# Inspect a RegularExpressionNode node.
|
1797
1995
|
def visit_regular_expression_node(node)
|
1798
1996
|
commands << [inspect_node("RegularExpressionNode", node), indent]
|
1799
|
-
flags = [("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1997
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("ignore_case" if node.ignore_case?), ("extended" if node.extended?), ("multi_line" if node.multi_line?), ("once" if node.once?), ("euc_jp" if node.euc_jp?), ("ascii_8bit" if node.ascii_8bit?), ("windows_31j" if node.windows_31j?), ("utf_8" if node.utf_8?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
1800
1998
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1801
1999
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1802
2000
|
commands << ["├── content_loc: #{inspect_location(node.content_loc)}\n", indent]
|
@@ -1807,7 +2005,7 @@ module Prism
|
|
1807
2005
|
# Inspect a RequiredKeywordParameterNode node.
|
1808
2006
|
def visit_required_keyword_parameter_node(node)
|
1809
2007
|
commands << [inspect_node("RequiredKeywordParameterNode", node), indent]
|
1810
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
2008
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1811
2009
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1812
2010
|
commands << ["├── name: #{node.name.inspect}\n", indent]
|
1813
2011
|
commands << ["└── name_loc: #{inspect_location(node.name_loc)}\n", indent]
|
@@ -1816,7 +2014,7 @@ module Prism
|
|
1816
2014
|
# Inspect a RequiredParameterNode node.
|
1817
2015
|
def visit_required_parameter_node(node)
|
1818
2016
|
commands << [inspect_node("RequiredParameterNode", node), indent]
|
1819
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
2017
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1820
2018
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1821
2019
|
commands << ["└── name: #{node.name.inspect}\n", indent]
|
1822
2020
|
end
|
@@ -1824,6 +2022,8 @@ module Prism
|
|
1824
2022
|
# Inspect a RescueModifierNode node.
|
1825
2023
|
def visit_rescue_modifier_node(node)
|
1826
2024
|
commands << [inspect_node("RescueModifierNode", node), indent]
|
2025
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2026
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1827
2027
|
commands << ["├── expression:\n", indent]
|
1828
2028
|
commands << [node.expression, "#{indent}│ "]
|
1829
2029
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
@@ -1834,6 +2034,8 @@ module Prism
|
|
1834
2034
|
# Inspect a RescueNode node.
|
1835
2035
|
def visit_rescue_node(node)
|
1836
2036
|
commands << [inspect_node("RescueNode", node), indent]
|
2037
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2038
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1837
2039
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
1838
2040
|
commands << ["├── exceptions: (length: #{(exceptions = node.exceptions).length})\n", indent]
|
1839
2041
|
if exceptions.any?
|
@@ -1857,18 +2059,18 @@ module Prism
|
|
1857
2059
|
commands << ["├── statements:\n", indent]
|
1858
2060
|
commands << [statements, "#{indent}│ "]
|
1859
2061
|
end
|
1860
|
-
if (
|
1861
|
-
commands << ["└──
|
2062
|
+
if (subsequent = node.subsequent).nil?
|
2063
|
+
commands << ["└── subsequent: ∅\n", indent]
|
1862
2064
|
else
|
1863
|
-
commands << ["└──
|
1864
|
-
commands << [
|
2065
|
+
commands << ["└── subsequent:\n", indent]
|
2066
|
+
commands << [subsequent, "#{indent} "]
|
1865
2067
|
end
|
1866
2068
|
end
|
1867
2069
|
|
1868
2070
|
# Inspect a RestParameterNode node.
|
1869
2071
|
def visit_rest_parameter_node(node)
|
1870
2072
|
commands << [inspect_node("RestParameterNode", node), indent]
|
1871
|
-
flags = [("repeated_parameter" if node.repeated_parameter?)].compact
|
2073
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("repeated_parameter" if node.repeated_parameter?)].compact
|
1872
2074
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1873
2075
|
if (name = node.name).nil?
|
1874
2076
|
commands << ["├── name: ∅\n", indent]
|
@@ -1882,12 +2084,14 @@ module Prism
|
|
1882
2084
|
# Inspect a RetryNode node.
|
1883
2085
|
def visit_retry_node(node)
|
1884
2086
|
commands << [inspect_node("RetryNode", node), indent]
|
2087
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2088
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1885
2089
|
end
|
1886
2090
|
|
1887
2091
|
# Inspect a ReturnNode node.
|
1888
2092
|
def visit_return_node(node)
|
1889
2093
|
commands << [inspect_node("ReturnNode", node), indent]
|
1890
|
-
flags = [("
|
2094
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
1891
2095
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1892
2096
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
1893
2097
|
if (arguments = node.arguments).nil?
|
@@ -1901,12 +2105,14 @@ module Prism
|
|
1901
2105
|
# Inspect a SelfNode node.
|
1902
2106
|
def visit_self_node(node)
|
1903
2107
|
commands << [inspect_node("SelfNode", node), indent]
|
2108
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2109
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1904
2110
|
end
|
1905
2111
|
|
1906
2112
|
# Inspect a ShareableConstantNode node.
|
1907
2113
|
def visit_shareable_constant_node(node)
|
1908
2114
|
commands << [inspect_node("ShareableConstantNode", node), indent]
|
1909
|
-
flags = [("literal" if node.literal?), ("experimental_everything" if node.experimental_everything?), ("experimental_copy" if node.experimental_copy?)].compact
|
2115
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("literal" if node.literal?), ("experimental_everything" if node.experimental_everything?), ("experimental_copy" if node.experimental_copy?)].compact
|
1910
2116
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1911
2117
|
commands << ["└── write:\n", indent]
|
1912
2118
|
commands << [node.write, "#{indent} "]
|
@@ -1915,6 +2121,8 @@ module Prism
|
|
1915
2121
|
# Inspect a SingletonClassNode node.
|
1916
2122
|
def visit_singleton_class_node(node)
|
1917
2123
|
commands << [inspect_node("SingletonClassNode", node), indent]
|
2124
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2125
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1918
2126
|
commands << ["├── locals: #{node.locals.inspect}\n", indent]
|
1919
2127
|
commands << ["├── class_keyword_loc: #{inspect_location(node.class_keyword_loc)}\n", indent]
|
1920
2128
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
@@ -1932,12 +2140,14 @@ module Prism
|
|
1932
2140
|
# Inspect a SourceEncodingNode node.
|
1933
2141
|
def visit_source_encoding_node(node)
|
1934
2142
|
commands << [inspect_node("SourceEncodingNode", node), indent]
|
2143
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2144
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1935
2145
|
end
|
1936
2146
|
|
1937
2147
|
# Inspect a SourceFileNode node.
|
1938
2148
|
def visit_source_file_node(node)
|
1939
2149
|
commands << [inspect_node("SourceFileNode", node), indent]
|
1940
|
-
flags = [("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
2150
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
1941
2151
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1942
2152
|
commands << ["└── filepath: #{node.filepath.inspect}\n", indent]
|
1943
2153
|
end
|
@@ -1945,11 +2155,15 @@ module Prism
|
|
1945
2155
|
# Inspect a SourceLineNode node.
|
1946
2156
|
def visit_source_line_node(node)
|
1947
2157
|
commands << [inspect_node("SourceLineNode", node), indent]
|
2158
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2159
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1948
2160
|
end
|
1949
2161
|
|
1950
2162
|
# Inspect a SplatNode node.
|
1951
2163
|
def visit_splat_node(node)
|
1952
2164
|
commands << [inspect_node("SplatNode", node), indent]
|
2165
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2166
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1953
2167
|
commands << ["├── operator_loc: #{inspect_location(node.operator_loc)}\n", indent]
|
1954
2168
|
if (expression = node.expression).nil?
|
1955
2169
|
commands << ["└── expression: ∅\n", indent]
|
@@ -1962,6 +2176,8 @@ module Prism
|
|
1962
2176
|
# Inspect a StatementsNode node.
|
1963
2177
|
def visit_statements_node(node)
|
1964
2178
|
commands << [inspect_node("StatementsNode", node), indent]
|
2179
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2180
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1965
2181
|
commands << ["└── body: (length: #{(body = node.body).length})\n", indent]
|
1966
2182
|
if body.any?
|
1967
2183
|
body[0...-1].each do |child|
|
@@ -1976,7 +2192,7 @@ module Prism
|
|
1976
2192
|
# Inspect a StringNode node.
|
1977
2193
|
def visit_string_node(node)
|
1978
2194
|
commands << [inspect_node("StringNode", node), indent]
|
1979
|
-
flags = [("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
2195
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("frozen" if node.frozen?), ("mutable" if node.mutable?)].compact
|
1980
2196
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1981
2197
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
1982
2198
|
commands << ["├── content_loc: #{inspect_location(node.content_loc)}\n", indent]
|
@@ -1987,6 +2203,8 @@ module Prism
|
|
1987
2203
|
# Inspect a SuperNode node.
|
1988
2204
|
def visit_super_node(node)
|
1989
2205
|
commands << [inspect_node("SuperNode", node), indent]
|
2206
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2207
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
1990
2208
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
1991
2209
|
commands << ["├── lparen_loc: #{inspect_location(node.lparen_loc)}\n", indent]
|
1992
2210
|
if (arguments = node.arguments).nil?
|
@@ -2007,7 +2225,7 @@ module Prism
|
|
2007
2225
|
# Inspect a SymbolNode node.
|
2008
2226
|
def visit_symbol_node(node)
|
2009
2227
|
commands << [inspect_node("SymbolNode", node), indent]
|
2010
|
-
flags = [("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
2228
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?), ("forced_us_ascii_encoding" if node.forced_us_ascii_encoding?)].compact
|
2011
2229
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2012
2230
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
2013
2231
|
commands << ["├── value_loc: #{inspect_location(node.value_loc)}\n", indent]
|
@@ -2018,11 +2236,15 @@ module Prism
|
|
2018
2236
|
# Inspect a TrueNode node.
|
2019
2237
|
def visit_true_node(node)
|
2020
2238
|
commands << [inspect_node("TrueNode", node), indent]
|
2239
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2240
|
+
commands << ["└── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2021
2241
|
end
|
2022
2242
|
|
2023
2243
|
# Inspect a UndefNode node.
|
2024
2244
|
def visit_undef_node(node)
|
2025
2245
|
commands << [inspect_node("UndefNode", node), indent]
|
2246
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2247
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2026
2248
|
commands << ["├── names: (length: #{(names = node.names).length})\n", indent]
|
2027
2249
|
if names.any?
|
2028
2250
|
names[0...-1].each do |child|
|
@@ -2038,6 +2260,8 @@ module Prism
|
|
2038
2260
|
# Inspect a UnlessNode node.
|
2039
2261
|
def visit_unless_node(node)
|
2040
2262
|
commands << [inspect_node("UnlessNode", node), indent]
|
2263
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2264
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2041
2265
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
2042
2266
|
commands << ["├── predicate:\n", indent]
|
2043
2267
|
commands << [node.predicate, "#{indent}│ "]
|
@@ -2048,11 +2272,11 @@ module Prism
|
|
2048
2272
|
commands << ["├── statements:\n", indent]
|
2049
2273
|
commands << [statements, "#{indent}│ "]
|
2050
2274
|
end
|
2051
|
-
if (
|
2052
|
-
commands << ["├──
|
2275
|
+
if (else_clause = node.else_clause).nil?
|
2276
|
+
commands << ["├── else_clause: ∅\n", indent]
|
2053
2277
|
else
|
2054
|
-
commands << ["├──
|
2055
|
-
commands << [
|
2278
|
+
commands << ["├── else_clause:\n", indent]
|
2279
|
+
commands << [else_clause, "#{indent}│ "]
|
2056
2280
|
end
|
2057
2281
|
commands << ["└── end_keyword_loc: #{inspect_location(node.end_keyword_loc)}\n", indent]
|
2058
2282
|
end
|
@@ -2060,7 +2284,7 @@ module Prism
|
|
2060
2284
|
# Inspect a UntilNode node.
|
2061
2285
|
def visit_until_node(node)
|
2062
2286
|
commands << [inspect_node("UntilNode", node), indent]
|
2063
|
-
flags = [("begin_modifier" if node.begin_modifier?)].compact
|
2287
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("begin_modifier" if node.begin_modifier?)].compact
|
2064
2288
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2065
2289
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
2066
2290
|
commands << ["├── closing_loc: #{inspect_location(node.closing_loc)}\n", indent]
|
@@ -2077,6 +2301,8 @@ module Prism
|
|
2077
2301
|
# Inspect a WhenNode node.
|
2078
2302
|
def visit_when_node(node)
|
2079
2303
|
commands << [inspect_node("WhenNode", node), indent]
|
2304
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2305
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2080
2306
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
2081
2307
|
commands << ["├── conditions: (length: #{(conditions = node.conditions).length})\n", indent]
|
2082
2308
|
if conditions.any?
|
@@ -2099,7 +2325,7 @@ module Prism
|
|
2099
2325
|
# Inspect a WhileNode node.
|
2100
2326
|
def visit_while_node(node)
|
2101
2327
|
commands << [inspect_node("WhileNode", node), indent]
|
2102
|
-
flags = [("begin_modifier" if node.begin_modifier?)].compact
|
2328
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("begin_modifier" if node.begin_modifier?)].compact
|
2103
2329
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2104
2330
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
2105
2331
|
commands << ["├── closing_loc: #{inspect_location(node.closing_loc)}\n", indent]
|
@@ -2116,7 +2342,7 @@ module Prism
|
|
2116
2342
|
# Inspect a XStringNode node.
|
2117
2343
|
def visit_x_string_node(node)
|
2118
2344
|
commands << [inspect_node("XStringNode", node), indent]
|
2119
|
-
flags = [("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?)].compact
|
2345
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ("forced_utf8_encoding" if node.forced_utf8_encoding?), ("forced_binary_encoding" if node.forced_binary_encoding?)].compact
|
2120
2346
|
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2121
2347
|
commands << ["├── opening_loc: #{inspect_location(node.opening_loc)}\n", indent]
|
2122
2348
|
commands << ["├── content_loc: #{inspect_location(node.content_loc)}\n", indent]
|
@@ -2127,6 +2353,8 @@ module Prism
|
|
2127
2353
|
# Inspect a YieldNode node.
|
2128
2354
|
def visit_yield_node(node)
|
2129
2355
|
commands << [inspect_node("YieldNode", node), indent]
|
2356
|
+
flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), ].compact
|
2357
|
+
commands << ["├── flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent]
|
2130
2358
|
commands << ["├── keyword_loc: #{inspect_location(node.keyword_loc)}\n", indent]
|
2131
2359
|
commands << ["├── lparen_loc: #{inspect_location(node.lparen_loc)}\n", indent]
|
2132
2360
|
if (arguments = node.arguments).nil?
|