diff options
author | michajlo <michajlo@google.com> | 2017-08-04 21:29:17 +0200 |
---|---|---|
committer | Jakob Buchgraber <buchgr@google.com> | 2017-08-07 11:22:17 +0200 |
commit | 77e8b03f9a5ca45344cd86b74d076461e43aabb3 (patch) | |
tree | 88c280a3e517514b7d4dc110111d51827bcb6dc6 /src | |
parent | 583fa511a1916b81aeeaa0c31126986a382c718b (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')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Parser.java | 6 |
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). |