@@ -596,11 +596,8 @@ public RubyNode visitCallAndWriteNode(Nodes.CallAndWriteNode node) {
596
596
597
597
// Use Prism nodes and rely on CallNode translation to automatically set
598
598
// fields like dispatchConfig and attribute-assignment flag (for `a.b = c`)
599
- final RubyNode readNode = new Nodes .CallNode (readReceiver , node .read_name , null , null , (short ) 0 , 0 , 0 )
600
- .accept (this );
601
- final RubyNode writeNode = new Nodes .CallNode (readReceiver , node .write_name ,
602
- new Nodes .ArgumentsNode (new Nodes .Node []{ node .value }, (short ) 0 , 0 , 0 ), null , (short ) 0 , 0 , 0 )
603
- .accept (this );
599
+ final RubyNode readNode = callNode (node , readReceiver , node .read_name , Nodes .Node .EMPTY_ARRAY ).accept (this );
600
+ final RubyNode writeNode = callNode (node , readReceiver , node .write_name , node .value ).accept (this );
604
601
final RubyNode andNode = AndNodeGen .create (readNode , writeNode );
605
602
606
603
final RubyNode sequence ;
@@ -800,10 +797,9 @@ public RubyNode visitCallOperatorWriteNode(Nodes.CallOperatorWriteNode node) {
800
797
801
798
// Use Prism nodes and rely on CallNode translation to automatically set
802
799
// fields like dispatchConfig and attribute-assignment flag (for `a.b = c`)
803
- final Nodes .Node read = new Nodes . CallNode ( readReceiver , node .read_name , null , null , ( short ) 0 , 0 , 0 );
800
+ final Nodes .Node read = callNode ( node , readReceiver , node .read_name , Nodes . Node . EMPTY_ARRAY );
804
801
final Nodes .Node executeOperator = callNode (node , read , node .operator , node .value );
805
- final Nodes .Node write = new Nodes .CallNode (readReceiver , node .write_name ,
806
- new Nodes .ArgumentsNode (new Nodes .Node []{ executeOperator }, (short ) 0 , 0 , 0 ), null , (short ) 0 , 0 , 0 );
802
+ final Nodes .Node write = callNode (node , readReceiver , node .write_name , executeOperator );
807
803
808
804
final RubyNode writeNode = write .accept (this );
809
805
final RubyNode rubyNode ;
@@ -834,11 +830,8 @@ public RubyNode visitCallOrWriteNode(Nodes.CallOrWriteNode node) {
834
830
835
831
// Use Prism nodes and rely on CallNode translation to automatically set
836
832
// fields like dispatchConfig and attribute-assignment flag (for `a.b = c`)
837
- final RubyNode readNode = new Nodes .CallNode (readReceiver , node .read_name , null , null , (short ) 0 , 0 , 0 )
838
- .accept (this );
839
- final RubyNode writeNode = new Nodes .CallNode (readReceiver , node .write_name ,
840
- new Nodes .ArgumentsNode (new Nodes .Node []{ node .value }, (short ) 0 , 0 , 0 ), null , (short ) 0 , 0 , 0 )
841
- .accept (this );
833
+ final RubyNode readNode = callNode (node , readReceiver , node .read_name , Nodes .Node .EMPTY_ARRAY ).accept (this );
834
+ final RubyNode writeNode = callNode (node , readReceiver , node .write_name , node .value ).accept (this );
842
835
final RubyNode orNode = OrNodeGen .create (readNode , writeNode );
843
836
844
837
final RubyNode sequence ;
@@ -1127,8 +1120,7 @@ public RubyNode visitConstantOperatorWriteNode(Nodes.ConstantOperatorWriteNode n
1127
1120
1128
1121
// Use Nodes.CallNode and translate it to produce inlined operator nodes
1129
1122
final var readNode = new Nodes .ConstantReadNode (node .name , startOffset , length );
1130
- final var operatorNode = new Nodes .CallNode (readNode , node .operator ,
1131
- new Nodes .ArgumentsNode (new Nodes .Node []{ node .value }, (short ) 0 , 0 , 0 ), null , (short ) 0 , 0 , 0 );
1123
+ final var operatorNode = callNode (node , readNode , node .operator , node .value );
1132
1124
final var writeNode = new Nodes .ConstantWriteNode (node .name , operatorNode , startOffset , length );
1133
1125
1134
1126
return writeNode .accept (this );
@@ -1241,8 +1233,7 @@ public RubyNode visitConstantPathOperatorWriteNode(Nodes.ConstantPathOperatorWri
1241
1233
int length = node .length ;
1242
1234
1243
1235
// Use Nodes.CallNode and translate it to produce inlined operator nodes
1244
- final var operatorNode = new Nodes .CallNode (target , node .operator ,
1245
- new Nodes .ArgumentsNode (new Nodes .Node []{ node .value }, (short ) 0 , 0 , 0 ), null , (short ) 0 , 0 , 0 );
1236
+ final var operatorNode = callNode (node , target , node .operator , node .value );
1246
1237
final var writeNode = new Nodes .ConstantPathWriteNode (target , operatorNode , startOffset , length );
1247
1238
1248
1239
final RubyNode rubyNode ;
0 commit comments