Skip to content

Commit 17a032e

Browse files
committed
Refactor and use System.arraycopy instead of manual copying array elements
1 parent 7e54183 commit 17a032e

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

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

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1677,9 +1677,7 @@ public RubyNode visitIndexAndWriteNode(Nodes.IndexAndWriteNode node) {
16771677
final RubyNode readNode = read.accept(this);
16781678

16791679
final Nodes.Node[] readArgumentsAndValue = new Nodes.Node[argumentsCount + 1];
1680-
for (int i = 0; i < argumentsCount; i++) {
1681-
readArgumentsAndValue[i] = readArguments[i];
1682-
}
1680+
System.arraycopy(readArguments, 0, readArgumentsAndValue, 0, argumentsCount);
16831681
readArgumentsAndValue[argumentsCount] = node.value;
16841682

16851683
final Nodes.Node write = new Nodes.CallNode(readReceiver, "[]=",
@@ -1749,9 +1747,7 @@ public RubyNode visitIndexOperatorWriteNode(Nodes.IndexOperatorWriteNode node) {
17491747
final Nodes.Node executeOperator = callNode(node, read, node.operator, node.value);
17501748

17511749
final Nodes.Node[] readArgumentsAndResult = new Nodes.Node[argumentsCount + 1];
1752-
for (int i = 0; i < argumentsCount; i++) {
1753-
readArgumentsAndResult[i] = readArguments[i];
1754-
}
1750+
System.arraycopy(readArguments, 0, readArgumentsAndResult, 0, argumentsCount);
17551751
readArgumentsAndResult[argumentsCount] = executeOperator;
17561752

17571753
final Nodes.Node write = new Nodes.CallNode(readReceiver, "[]=",
@@ -1820,9 +1816,7 @@ public RubyNode visitIndexOrWriteNode(Nodes.IndexOrWriteNode node) {
18201816
final RubyNode readNode = read.accept(this);
18211817

18221818
final Nodes.Node[] readArgumentsAndValue = new Nodes.Node[argumentsCount + 1];
1823-
for (int i = 0; i < argumentsCount; i++) {
1824-
readArgumentsAndValue[i] = readArguments[i];
1825-
}
1819+
System.arraycopy(readArguments, 0, readArgumentsAndValue, 0, argumentsCount);
18261820
readArgumentsAndValue[argumentsCount] = node.value;
18271821

18281822
final Nodes.Node write = new Nodes.CallNode(readReceiver, "[]=",

0 commit comments

Comments
 (0)