@@ -944,9 +944,9 @@ public RubyNode visitClassVariableOperatorWriteNode(Nodes.ClassVariableOperatorW
944
944
public RubyNode visitClassVariableOrWriteNode (Nodes .ClassVariableOrWriteNode node ) {
945
945
int startOffset = node .startOffset ;
946
946
int length = node .length ;
947
+ var writeNode = new Nodes .ClassVariableWriteNode (node .name , node .value , startOffset , length ).accept (this );
947
948
var readNode = new Nodes .ClassVariableReadNode (node .name , startOffset , length ).accept (this );
948
949
var definedCheck = AndNodeGen .create (new DefinedNode (readNode ), readNode );
949
- var writeNode = new Nodes .ClassVariableWriteNode (node .name , node .value , startOffset , length ).accept (this );
950
950
final RubyNode rubyNode = OrLazyValueDefinedNodeGen .create (definedCheck , writeNode );
951
951
return assignPositionAndFlags (node , rubyNode );
952
952
}
@@ -1327,9 +1327,9 @@ public RubyNode visitGlobalVariableOperatorWriteNode(Nodes.GlobalVariableOperato
1327
1327
public RubyNode visitGlobalVariableOrWriteNode (Nodes .GlobalVariableOrWriteNode node ) {
1328
1328
int startOffset = node .startOffset ;
1329
1329
int length = node .length ;
1330
+ var writeNode = new Nodes .GlobalVariableWriteNode (node .name , node .value , startOffset , length ).accept (this );
1330
1331
var readNode = new Nodes .GlobalVariableReadNode (node .name , startOffset , length ).accept (this );
1331
1332
var definedCheck = AndNodeGen .create (new DefinedNode (readNode ), readNode );
1332
- var writeNode = new Nodes .GlobalVariableWriteNode (node .name , node .value , startOffset , length ).accept (this );
1333
1333
final RubyNode rubyNode = OrLazyValueDefinedNodeGen .create (definedCheck , writeNode );
1334
1334
return assignPositionAndFlags (node , rubyNode );
1335
1335
}
@@ -1494,8 +1494,8 @@ public RubyNode visitInstanceVariableOrWriteNode(Nodes.InstanceVariableOrWriteNo
1494
1494
// No need to check `defined?(@ivar)` before reading, as `@ivar` even if not set returns nil and does not have side effects
1495
1495
int startOffset = node .startOffset ;
1496
1496
int length = node .length ;
1497
- var readNode = new Nodes .InstanceVariableReadNode (node .name , startOffset , length ).accept (this );
1498
1497
var writeNode = new Nodes .InstanceVariableWriteNode (node .name , node .value , startOffset , length ).accept (this );
1498
+ var readNode = new Nodes .InstanceVariableReadNode (node .name , startOffset , length ).accept (this );
1499
1499
final RubyNode rubyNode = OrLazyValueDefinedNodeGen .create (readNode , writeNode );
1500
1500
return assignPositionAndFlags (node , rubyNode );
1501
1501
}
@@ -1640,9 +1640,9 @@ public RubyNode visitLocalVariableOrWriteNode(Nodes.LocalVariableOrWriteNode nod
1640
1640
// No need to check `defined?(var)` before reading, as `var` even if not set returns nil and does not have side effects
1641
1641
int startOffset = node .startOffset ;
1642
1642
int length = node .length ;
1643
- var readNode = new Nodes .LocalVariableReadNode (node .name , node .depth , startOffset , length ).accept (this );
1644
1643
var writeNode = new Nodes .LocalVariableWriteNode (node .name , node .depth , node .value , startOffset , length )
1645
1644
.accept (this );
1645
+ var readNode = new Nodes .LocalVariableReadNode (node .name , node .depth , startOffset , length ).accept (this );
1646
1646
final RubyNode rubyNode = OrLazyValueDefinedNodeGen .create (readNode , writeNode );
1647
1647
return assignPositionAndFlags (node , rubyNode );
1648
1648
}
0 commit comments