Skip to content

Commit d39fb66

Browse files
committed
Refactor and use callNode helper method where it is possible
1 parent 953557e commit d39fb66

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

src/main/java/org/truffleruby/parser/YARPTranslator.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -596,11 +596,8 @@ public RubyNode visitCallAndWriteNode(Nodes.CallAndWriteNode node) {
596596

597597
// Use Prism nodes and rely on CallNode translation to automatically set
598598
// 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);
604601
final RubyNode andNode = AndNodeGen.create(readNode, writeNode);
605602

606603
final RubyNode sequence;
@@ -800,10 +797,9 @@ public RubyNode visitCallOperatorWriteNode(Nodes.CallOperatorWriteNode node) {
800797

801798
// Use Prism nodes and rely on CallNode translation to automatically set
802799
// 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);
804801
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);
807803

808804
final RubyNode writeNode = write.accept(this);
809805
final RubyNode rubyNode;
@@ -834,11 +830,8 @@ public RubyNode visitCallOrWriteNode(Nodes.CallOrWriteNode node) {
834830

835831
// Use Prism nodes and rely on CallNode translation to automatically set
836832
// 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);
842835
final RubyNode orNode = OrNodeGen.create(readNode, writeNode);
843836

844837
final RubyNode sequence;
@@ -1127,8 +1120,7 @@ public RubyNode visitConstantOperatorWriteNode(Nodes.ConstantOperatorWriteNode n
11271120

11281121
// Use Nodes.CallNode and translate it to produce inlined operator nodes
11291122
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);
11321124
final var writeNode = new Nodes.ConstantWriteNode(node.name, operatorNode, startOffset, length);
11331125

11341126
return writeNode.accept(this);
@@ -1241,8 +1233,7 @@ public RubyNode visitConstantPathOperatorWriteNode(Nodes.ConstantPathOperatorWri
12411233
int length = node.length;
12421234

12431235
// 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);
12461237
final var writeNode = new Nodes.ConstantPathWriteNode(target, operatorNode, startOffset, length);
12471238

12481239
final RubyNode rubyNode;

0 commit comments

Comments
 (0)