@@ -67,12 +67,12 @@ def visit_alias(node)
67
67
68
68
# Visit a ARef node.
69
69
def visit_aref ( node )
70
- node . copy ( index : visit ( node . index ) )
70
+ node . copy ( collection : visit ( node . collection ) , index : visit ( node . index ) )
71
71
end
72
72
73
73
# Visit a ARefField node.
74
74
def visit_aref_field ( node )
75
- node . copy ( index : visit ( node . index ) )
75
+ node . copy ( collection : visit ( node . collection ) , index : visit ( node . index ) )
76
76
end
77
77
78
78
# Visit a ArgParen node.
@@ -120,17 +120,17 @@ def visit_aryptn(node)
120
120
121
121
# Visit a Assign node.
122
122
def visit_assign ( node )
123
- node . copy ( target : visit ( node . target ) )
123
+ node . copy ( target : visit ( node . target ) , value : visit ( node . value ) )
124
124
end
125
125
126
126
# Visit a Assoc node.
127
127
def visit_assoc ( node )
128
- node . copy
128
+ node . copy ( key : visit ( node . key ) , value : visit ( node . value ) )
129
129
end
130
130
131
131
# Visit a AssocSplat node.
132
132
def visit_assoc_splat ( node )
133
- node . copy
133
+ node . copy ( value : visit ( node . value ) )
134
134
end
135
135
136
136
# Visit a Backref node.
@@ -155,12 +155,12 @@ def visit_begin(node)
155
155
156
156
# Visit a PinnedBegin node.
157
157
def visit_pinned_begin ( node )
158
- node . copy
158
+ node . copy ( statement : visit ( node . statement ) )
159
159
end
160
160
161
161
# Visit a Binary node.
162
162
def visit_binary ( node )
163
- node . copy
163
+ node . copy ( left : visit ( node . left ) , right : visit ( node . right ) )
164
164
end
165
165
166
166
# Visit a BlockVar node.
@@ -178,6 +178,7 @@ def visit_bodystmt(node)
178
178
node . copy (
179
179
statements : visit ( node . statements ) ,
180
180
rescue_clause : visit ( node . rescue_clause ) ,
181
+ else_keyword : visit ( node . else_keyword ) ,
181
182
else_clause : visit ( node . else_clause ) ,
182
183
ensure_clause : visit ( node . ensure_clause )
183
184
)
@@ -209,7 +210,11 @@ def visit_case(node)
209
210
210
211
# Visit a RAssign node.
211
212
def visit_rassign ( node )
212
- node . copy ( operator : visit ( node . operator ) )
213
+ node . copy (
214
+ value : visit ( node . value ) ,
215
+ operator : visit ( node . operator ) ,
216
+ pattern : visit ( node . pattern )
217
+ )
213
218
end
214
219
215
220
# Visit a ClassDeclaration node.
@@ -238,6 +243,7 @@ def visit_command(node)
238
243
# Visit a CommandCall node.
239
244
def visit_command_call ( node )
240
245
node . copy (
246
+ receiver : visit ( node . receiver ) ,
241
247
operator : node . operator == :"::" ? :"::" : visit ( node . operator ) ,
242
248
message : visit ( node . message ) ,
243
249
arguments : visit ( node . arguments ) ,
@@ -257,12 +263,12 @@ def visit_const(node)
257
263
258
264
# Visit a ConstPathField node.
259
265
def visit_const_path_field ( node )
260
- node . copy ( constant : visit ( node . constant ) )
266
+ node . copy ( parent : visit ( node . parent ) , constant : visit ( node . constant ) )
261
267
end
262
268
263
269
# Visit a ConstPathRef node.
264
270
def visit_const_path_ref ( node )
265
- node . copy ( constant : visit ( node . constant ) )
271
+ node . copy ( parent : visit ( node . parent ) , constant : visit ( node . constant ) )
266
272
end
267
273
268
274
# Visit a ConstRef node.
@@ -288,7 +294,7 @@ def visit_def(node)
288
294
289
295
# Visit a Defined node.
290
296
def visit_defined ( node )
291
- node . copy
297
+ node . copy ( value : visit ( node . value ) )
292
298
end
293
299
294
300
# Visit a Block node.
@@ -325,6 +331,7 @@ def visit_else(node)
325
331
# Visit a Elsif node.
326
332
def visit_elsif ( node )
327
333
node . copy (
334
+ predicate : visit ( node . predicate ) ,
328
335
statements : visit ( node . statements ) ,
329
336
consequent : visit ( node . consequent )
330
337
)
@@ -366,6 +373,7 @@ def visit_excessed_comma(node)
366
373
# Visit a Field node.
367
374
def visit_field ( node )
368
375
node . copy (
376
+ parent : visit ( node . parent ) ,
369
377
operator : node . operator == :"::" ? :"::" : visit ( node . operator ) ,
370
378
name : visit ( node . name )
371
379
)
@@ -388,7 +396,11 @@ def visit_fndptn(node)
388
396
389
397
# Visit a For node.
390
398
def visit_for ( node )
391
- node . copy ( index : visit ( node . index ) , statements : visit ( node . statements ) )
399
+ node . copy (
400
+ index : visit ( node . index ) ,
401
+ collection : visit ( node . collection ) ,
402
+ statements : visit ( node . statements )
403
+ )
392
404
end
393
405
394
406
# Visit a GVar node.
@@ -446,7 +458,11 @@ def visit_if(node)
446
458
447
459
# Visit a IfOp node.
448
460
def visit_if_op ( node )
449
- node . copy
461
+ node . copy (
462
+ predicate : visit ( node . predicate ) ,
463
+ truthy : visit ( node . truthy ) ,
464
+ falsy : visit ( node . falsy )
465
+ )
450
466
end
451
467
452
468
# Visit a Imaginary node.
@@ -457,6 +473,7 @@ def visit_imaginary(node)
457
473
# Visit a In node.
458
474
def visit_in ( node )
459
475
node . copy (
476
+ pattern : visit ( node . pattern ) ,
460
477
statements : visit ( node . statements ) ,
461
478
consequent : visit ( node . consequent )
462
479
)
@@ -522,7 +539,7 @@ def visit_lparen(node)
522
539
523
540
# Visit a MAssign node.
524
541
def visit_massign ( node )
525
- node . copy ( target : visit ( node . target ) )
542
+ node . copy ( target : visit ( node . target ) , value : visit ( node . value ) )
526
543
end
527
544
528
545
# Visit a MethodAddBlock node.
@@ -565,7 +582,11 @@ def visit_op(node)
565
582
566
583
# Visit a OpAssign node.
567
584
def visit_opassign ( node )
568
- node . copy ( target : visit ( node . target ) , operator : visit ( node . operator ) )
585
+ node . copy (
586
+ target : visit ( node . target ) ,
587
+ operator : visit ( node . operator ) ,
588
+ value : visit ( node . value )
589
+ )
569
590
end
570
591
571
592
# Visit a Params node.
@@ -667,7 +688,10 @@ def visit_regexp_literal(node)
667
688
668
689
# Visit a RescueEx node.
669
690
def visit_rescue_ex ( node )
670
- node . copy ( variable : visit ( node . variable ) )
691
+ node . copy (
692
+ exceptions : visit ( node . exceptions ) ,
693
+ variable : visit ( node . variable )
694
+ )
671
695
end
672
696
673
697
# Visit a Rescue node.
@@ -682,7 +706,7 @@ def visit_rescue(node)
682
706
683
707
# Visit a RescueMod node.
684
708
def visit_rescue_mod ( node )
685
- node . copy
709
+ node . copy ( statement : visit ( node . statement ) , value : visit ( node . value ) )
686
710
end
687
711
688
712
# Visit a RestParam node.
@@ -707,7 +731,7 @@ def visit_rparen(node)
707
731
708
732
# Visit a SClass node.
709
733
def visit_sclass ( node )
710
- node . copy ( bodystmt : visit ( node . bodystmt ) )
734
+ node . copy ( target : visit ( node . target ) , bodystmt : visit ( node . bodystmt ) )
711
735
end
712
736
713
737
# Visit a Statements node.
@@ -815,7 +839,7 @@ def visit_not(node)
815
839
816
840
# Visit a Unary node.
817
841
def visit_unary ( node )
818
- node . copy
842
+ node . copy ( statement : visit ( node . statement ) )
819
843
end
820
844
821
845
# Visit a Undef node.
@@ -842,7 +866,7 @@ def visit_until(node)
842
866
843
867
# Visit a VarField node.
844
868
def visit_var_field ( node )
845
- node . copy ( value : visit ( node . value ) )
869
+ node . copy ( value : node . value == :nil ? :nil : visit ( node . value ) )
846
870
end
847
871
848
872
# Visit a VarRef node.
0 commit comments