aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar michajlo <michajlo@google.com>2017-08-04 21:29:17 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-08-07 11:22:17 +0200
commit77e8b03f9a5ca45344cd86b74d076461e43aabb3 (patch)
tree88c280a3e517514b7d4dc110111d51827bcb6dc6 /src/main/java/com/google/devtools
parent583fa511a1916b81aeeaa0c31126986a382c718b (diff)
Minor optimization to function arg parsing
No need for the intermediate collection/objects when we can go direct to ImmutableList, which has a good chance of doing something more efficient anyway... PiperOrigin-RevId: 164294883
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Parser.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
index eea376e3da..e3b14aa32d 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
@@ -1336,7 +1336,7 @@ public class Parser {
boolean hasArg = false;
boolean hasStar = false;
boolean hasStarStar = false;
- ArrayList<V> arguments = new ArrayList<>();
+ ImmutableList.Builder<V> argumentsBuilder = ImmutableList.builder();
while (token.kind != TokenKind.RPAREN && token.kind != TokenKind.EOF) {
if (hasStarStar) {
@@ -1358,9 +1358,9 @@ public class Parser {
} else if (arg.isStarStar()) {
hasStarStar = true;
}
- arguments.add(arg);
+ argumentsBuilder.add(arg);
}
- return ImmutableList.copyOf(arguments);
+ return argumentsBuilder.build();
}
// suite is typically what follows a colon (e.g. after def or for).