prism 0.30.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +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?
|