diff options
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java index f02b58546e..a7d168dc87 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java @@ -2032,13 +2032,17 @@ public class MethodLibrary { if (step == 0) { throw new EvalException(loc, "step cannot be 0"); } - List<Integer> result = Lists.newArrayList(); + ArrayList<Integer> result = Lists.newArrayList(); if (step > 0) { + int size = (stop - start) / step; + result.ensureCapacity(size); while (start < stop) { result.add(start); start += step; } } else { + int size = (start - stop) / step; + result.ensureCapacity(size); while (start > stop) { result.add(start); start += step; |