summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Zeiger <szeiger@novocode.com>2017-01-09 15:01:55 +0100
committerGitHub <noreply@github.com>2017-01-09 15:01:55 +0100
commit4f5c30e10a16697edbe7bb6b4719ff09f5c3900b (patch)
treebf8d37a7c321c6520fe73595460593a5bbb203ca /src
parent1b6b19b701fb0bb63bab9644a2baba5611268235 (diff)
parent23040fe8da1dfd0595f7904211b8e391dceb78a6 (diff)
downloadscala-4f5c30e10a16697edbe7bb6b4719ff09f5c3900b.tar.gz
scala-4f5c30e10a16697edbe7bb6b4719ff09f5c3900b.tar.bz2
scala-4f5c30e10a16697edbe7bb6b4719ff09f5c3900b.zip
Merge pull request #5615 from monkey-mas/modify-ArrayBuilder-reusability-bug-2016-12-24
[Backport] Modify ArrayBuilder and WrappedArrayBuilder to be reusable
Diffstat (limited to 'src')
-rw-r--r--src/library/scala/collection/mutable/ArrayBuilder.scala50
-rw-r--r--src/library/scala/collection/mutable/WrappedArrayBuilder.scala5
2 files changed, 44 insertions, 11 deletions
diff --git a/src/library/scala/collection/mutable/ArrayBuilder.scala b/src/library/scala/collection/mutable/ArrayBuilder.scala
index 6e53824cbe..f4ca27dcba 100644
--- a/src/library/scala/collection/mutable/ArrayBuilder.scala
+++ b/src/library/scala/collection/mutable/ArrayBuilder.scala
@@ -104,7 +104,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -169,7 +172,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -234,7 +240,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -299,7 +308,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -364,7 +376,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -429,7 +444,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -494,7 +512,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -559,7 +580,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -623,7 +647,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
@@ -688,7 +715,10 @@ object ArrayBuilder {
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}
diff --git a/src/library/scala/collection/mutable/WrappedArrayBuilder.scala b/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
index bfe95a11ab..5781ec91be 100644
--- a/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
+++ b/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
@@ -78,7 +78,10 @@ class WrappedArrayBuilder[A](tag: ClassTag[A]) extends Builder[A, WrappedArray[A
}
def result() = {
- if (capacity != 0 && capacity == size) elems
+ if (capacity != 0 && capacity == size) {
+ capacity = 0
+ elems
+ }
else mkArray(size)
}