Skip to content

Commit f4e0b7e

Browse files
committed
Another round of clean up
1 parent b67fb5a commit f4e0b7e

21 files changed

+40
-38
lines changed

core/src/main/scala/scala/collection/generic/GenericParCompanion.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ trait GenericParMapCompanion[+CC[P, Q] <: ParMap[P, Q]] {
8686
object GenericParMapCompanion {
8787
/**
8888
* Implicit conversion for converting any `ParFactory` into a sequential `Factory`.
89-
* This provides supports for the `to` conversion method (eg, `xs.to(ParArray)`).
89+
* This provides supports for the `to` conversion method (eg, `xs.to(ParMap)`).
9090
*/
9191
implicit def toFactory[K, V, CC[X, Y] <: ParMap[X, Y]](
9292
parFactory: GenericParMapCompanion[CC]

core/src/main/scala/scala/collection/generic/ParFactory.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,13 @@ extends GenericParCompanion[CC] {
215215
}
216216

217217
//type EPC[T, C] = scala.collection.parallel.EnvironmentPassingCombiner[T, C]
218-
/*
218+
219219
/** A generic implementation of the `CanCombineFrom` trait, which forwards
220220
* all calls to `apply(from)` to the `genericParBuilder` method of the $coll
221221
* `from`, and calls to `apply()` to this factory.
222222
*/
223-
class GenericCanCombineFrom[A] extends GenericCanBuildFrom[A] with CanCombineFrom[CC[_], A, CC[A]] {
224-
override def apply(from: Coll) = from.genericCombiner
223+
class GenericCanCombineFrom[A] extends CanCombineFrom[CC[_], A, CC[A]] {
224+
override def apply(from: CC[_]) = from.genericCombiner
225225
override def apply() = newBuilder[A]
226-
}*/
226+
}
227227
}

core/src/main/scala/scala/collection/generic/ParMapFactory.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ extends GenericParMapCompanion[CC] {
3939
*/
4040
def apply[K, V](elems: (K, V)*): CC[K, V] = (newCombiner[K, V] ++= elems).result()
4141

42+
def empty[K, V]: CC[K, V]
43+
4244
type MapColl = CC[_, _]
4345

4446
/** The default builder for $Coll objects.

core/src/main/scala/scala/collection/generic/ParSetFactory.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ abstract class ParSetFactory[CC[X] <: ParSet[X] with ParSetLike[X, CC, CC[X], _]
2727

2828
def newCombiner[A]: Combiner[A, CC[A]]
2929

30-
// class GenericCanCombineFrom[A] extends CanCombineFrom[CC[_], A, CC[A]] {
31-
// override def apply(from: Coll) = from.genericCombiner[A]
32-
// override def apply() = newCombiner[A]
33-
// }
30+
class GenericCanCombineFrom[A] extends CanCombineFrom[CC[_], A, CC[A]] {
31+
override def apply(from: CC[_]) = from.genericCombiner[A]
32+
override def apply() = newCombiner[A]
33+
}
3434
}
3535

core/src/main/scala/scala/collection/parallel/ParIterable.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ trait ParIterable[+T]
3434
/** $factoryInfo
3535
*/
3636
object ParIterable extends ParFactory[ParIterable] {
37+
implicit def canBuildFrom[T]: CanCombineFrom[ParIterable[_], T, ParIterable[T]] = new GenericCanCombineFrom[T]
3738

3839
def newBuilder[T]: Combiner[T, ParIterable[T]] = ParArrayCombiner[T]
3940

core/src/main/scala/scala/collection/parallel/ParMapLike.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ self =>
264264
}
265265

266266
/** Alias for `concat` */
267-
/*@`inline` final*/ def ++ [V2 >: V](xs: collection.IterableOnce[(K, V2)]): CC[K, V2] = concat(xs)
267+
@`inline` final def ++ [V2 >: V](xs: collection.IterableOnce[(K, V2)]): CC[K, V2] = concat(xs)
268268

269269
// note - should not override toMap (could be mutable)
270270
}

core/src/main/scala/scala/collection/parallel/ParSeq.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ package collection.parallel
1212
import scala.collection.generic.GenericParCompanion
1313
import scala.collection.generic.GenericParTemplate
1414
import scala.collection.generic.ParFactory
15-
//import scala.collection.generic.CanCombineFrom
15+
import scala.collection.generic.CanCombineFrom
1616
import scala.collection.parallel.mutable.ParArrayCombiner
1717

1818
/** A template trait for parallel sequences.
@@ -40,7 +40,7 @@ trait ParSeq[+T] extends ParIterable[T]
4040
}
4141

4242
object ParSeq extends ParFactory[ParSeq] {
43-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSeq[T]] = new GenericCanCombineFrom[T]
43+
implicit def canBuildFrom[T]: CanCombineFrom[ParSeq[_], T, ParSeq[T]] = new GenericCanCombineFrom[T]
4444

4545
def newBuilder[T]: Combiner[T, ParSeq[T]] = ParArrayCombiner[T]
4646
def newCombiner[T]: Combiner[T, ParSeq[T]] = ParArrayCombiner[T]

core/src/main/scala/scala/collection/parallel/ParSeqLike.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ self =>
8181
override def iterator: PreciseSplitter[T] = splitter
8282

8383
final def size = length
84-
final def knownSize = length
8584

8685
/** Used to iterate elements using indices */
8786
protected abstract class Elements(start: Int, val end: Int) extends SeqSplitter[T] with BufferedIterator[T] {
@@ -362,11 +361,11 @@ self =>
362361
}
363362

364363
def +:[U >: T, That](elem: U): CC[U] = {
365-
patch(0, (immutable.ParVector.newBuilder[U] += elem).result() /*mutable.ParArray(elem)*/, 0)
364+
patch(0, mutable.ParArray(elem), 0)
366365
}
367366

368367
def :+[U >: T, That](elem: U): CC[U] = {
369-
patch(length, (immutable.ParVector.newBuilder[U] += elem).result() /*mutable.ParArray(elem)*/, 0)
368+
patch(length, mutable.ParArray(elem), 0)
370369
}
371370

372371

core/src/main/scala/scala/collection/parallel/ParSet.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ trait ParSet[T]
3939
object ParSet extends ParSetFactory[ParSet] {
4040
def newCombiner[T]: Combiner[T, ParSet[T]] = mutable.ParHashSetCombiner[T]
4141

42-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSet[T]] = new GenericCanCombineFrom[T]
42+
implicit def canBuildFrom[T]: CanCombineFrom[ParSet[_], T, ParSet[T]] = new GenericCanCombineFrom[T]
4343
}

core/src/main/scala/scala/collection/parallel/immutable/ParHashSet.scala

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ import scala.collection.parallel.Combiner
1717
import scala.collection.parallel.IterableSplitter
1818
import scala.collection.mutable.UnrolledBuffer.Unrolled
1919
import scala.collection.mutable.UnrolledBuffer
20-
import scala.collection.generic.ParSetFactory
21-
import scala.collection.generic.GenericParTemplate
22-
import scala.collection.generic.GenericParCompanion
20+
import scala.collection.generic.{CanCombineFrom, GenericParCompanion, GenericParTemplate, ParSetFactory}
2321
import scala.collection.immutable.{OldHashSet, TrieIterator}
2422
import scala.collection.parallel.Task
2523

@@ -125,8 +123,8 @@ self =>
125123
object ParHashSet extends ParSetFactory[ParHashSet] {
126124
def newCombiner[T]: Combiner[T, ParHashSet[T]] = HashSetCombiner[T]
127125

128-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParHashSet[T]] =
129-
// new GenericCanCombineFrom[T]
126+
implicit def canBuildFrom[T]: CanCombineFrom[ParHashSet[_], T, ParHashSet[T]] =
127+
new GenericCanCombineFrom[T]
130128

131129
def fromTrie[T](t: OldHashSet[T]) = new ParHashSet(t)
132130
}

core/src/main/scala/scala/collection/parallel/immutable/ParIterable.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ extends scala.collection.parallel.ParIterable[T]
3939
/** $factoryInfo
4040
*/
4141
object ParIterable extends ParFactory[ParIterable] {
42-
/* implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParIterable[T]] =
43-
new GenericCanCombineFrom[T]*/
42+
implicit def canBuildFrom[T]: CanCombineFrom[ParIterable[_], T, ParIterable[T]] =
43+
new GenericCanCombineFrom[T]
4444

4545
def newBuilder[T]: Combiner[T, ParIterable[T]] = ParVector.newBuilder[T]
4646
def newCombiner[T]: Combiner[T, ParIterable[T]] = ParVector.newCombiner[T]

core/src/main/scala/scala/collection/parallel/immutable/ParRange.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ self =>
4040
override def seq = range
4141

4242
@inline final def length = range.length
43+
@inline final def knownSize = range.knownSize
4344

4445
@inline final def apply(idx: Int) = range.apply(idx)
4546

core/src/main/scala/scala/collection/parallel/immutable/ParSeq.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ package scala
1010
package collection
1111
package parallel.immutable
1212

13-
import scala.collection.generic.GenericParTemplate
14-
import scala.collection.generic.GenericParCompanion
15-
import scala.collection.generic.ParFactory
13+
import scala.collection.generic.{CanCombineFrom, GenericParCompanion, GenericParTemplate, ParFactory}
1614
import scala.collection.parallel.ParSeqLike
1715
import scala.collection.parallel.Combiner
1816

@@ -36,7 +34,7 @@ extends scala.collection.parallel.ParSeq[T]
3634
* @define coll mutable parallel sequence
3735
*/
3836
object ParSeq extends ParFactory[ParSeq] {
39-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSeq[T]] = new GenericCanCombineFrom[T]
37+
implicit def canBuildFrom[T]: CanCombineFrom[ParSeq[_], T, ParSeq[T]] = new GenericCanCombineFrom[T]
4038

4139
def newBuilder[T]: Combiner[T, ParSeq[T]] = ParVector.newBuilder[T]
4240
def newCombiner[T]: Combiner[T, ParSeq[T]] = ParVector.newCombiner[T]

core/src/main/scala/scala/collection/parallel/immutable/ParSet.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@ self =>
4343
object ParSet extends ParSetFactory[ParSet] {
4444
def newCombiner[T]: Combiner[T, ParSet[T]] = HashSetCombiner[T]
4545

46-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSet[T]] = new GenericCanCombineFrom[T]
46+
implicit def canBuildFrom[T]: CanCombineFrom[ParSet[_], T, ParSet[T]] = new GenericCanCombineFrom[T]
4747
}

core/src/main/scala/scala/collection/parallel/immutable/ParVector.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package scala
1010
package collection
1111
package parallel.immutable
1212

13-
import scala.collection.generic.{GenericParTemplate, /*CanCombineFrom,*/ ParFactory}
13+
import scala.collection.generic.{GenericParTemplate, CanCombineFrom, ParFactory}
1414
import scala.collection.parallel.ParSeqLike
1515
import scala.collection.parallel.Combiner
1616
import scala.collection.parallel.SeqSplitter
@@ -48,6 +48,7 @@ extends ParSeq[T]
4848
def apply(idx: Int) = vector.apply(idx)
4949

5050
def length = vector.length
51+
def knownSize = vector.knownSize
5152

5253
def splitter: SeqSplitter[T] = {
5354
val pit = new ParVectorIterator(vector.startIndex, vector.endIndex)
@@ -89,8 +90,8 @@ extends ParSeq[T]
8990
* @define coll immutable parallel vector
9091
*/
9192
object ParVector extends ParFactory[ParVector] {
92-
/*implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParVector[T]] =
93-
new GenericCanCombineFrom[T]*/
93+
implicit def canBuildFrom[T]: CanCombineFrom[ParVector[_], T, ParVector[T]] =
94+
new GenericCanCombineFrom[T]
9495

9596
def newBuilder[T]: Combiner[T, ParVector[T]] = newCombiner[T]
9697

core/src/main/scala/scala/collection/parallel/immutable/package.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ package immutable {
2323
self =>
2424

2525
def apply(idx: Int) = if (0 <= idx && idx < length) elem else throw new IndexOutOfBoundsException("" + idx)
26+
def knownSize = length
2627
override def seq: collection.immutable.Seq[T] = new collection.AbstractSeq[T] with collection.immutable.Seq[T] with CustomParallelizable[T, ParSeq[T]] {
2728
override def length: Int = self.length
2829
override def apply(idx: Int): T = self.apply(idx)

core/src/main/scala/scala/collection/parallel/mutable/ParArray.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ package collection.parallel.mutable
1313

1414
import scala.collection.generic.GenericParTemplate
1515
import scala.collection.generic.GenericParCompanion
16-
//import scala.collection.generic.CanCombineFrom
16+
import scala.collection.generic.CanCombineFrom
1717
import scala.collection.generic.ParFactory
1818
import scala.collection.parallel.Combiner
1919
import scala.collection.parallel.SeqSplitter
@@ -78,6 +78,7 @@ self =>
7878
}
7979

8080
def length = sz
81+
def knownSize = sz
8182

8283
def seq = (if (length == arrayseq.length) arrayseq else arrayseq.take(length)): ArraySeq[T]
8384

@@ -688,7 +689,7 @@ self =>
688689
* @define coll parallel array
689690
*/
690691
object ParArray extends ParFactory[ParArray] {
691-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParArray[T]] = new GenericCanCombineFrom[T]
692+
implicit def canBuildFrom[T]: CanCombineFrom[ParArray[_], T, ParArray[T]] = new GenericCanCombineFrom[T]
692693
def newBuilder[T]: Combiner[T, ParArray[T]] = newCombiner
693694
def newCombiner[T]: Combiner[T, ParArray[T]] = ParArrayCombiner[T]
694695

core/src/main/scala/scala/collection/parallel/mutable/ParHashSet.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ extends ParSet[T]
110110
* @define coll parallel hash set
111111
*/
112112
object ParHashSet extends ParSetFactory[ParHashSet] {
113-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParHashSet[T]] = new GenericCanCombineFrom[T]
113+
implicit def canBuildFrom[T]: CanCombineFrom[ParHashSet[_], T, ParHashSet[T]] = new GenericCanCombineFrom[T]
114114

115115
override def newBuilder[T]: Combiner[T, ParHashSet[T]] = newCombiner
116116

core/src/main/scala/scala/collection/parallel/mutable/ParIterable.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ trait ParIterable[T] extends scala.collection.parallel.ParIterable[T]
4141
/** $factoryInfo
4242
*/
4343
object ParIterable extends ParFactory[ParIterable] {
44-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParIterable[T]] = new GenericCanCombineFrom[T]
44+
implicit def canBuildFrom[T]: CanCombineFrom[ParIterable[_], T, ParIterable[T]] = new GenericCanCombineFrom[T]
4545

4646
def newBuilder[T]: Combiner[T, ParIterable[T]] = ParArrayCombiner[T]
4747
def newCombiner[T]: Combiner[T, ParIterable[T]] = ParArrayCombiner[T]

core/src/main/scala/scala/collection/parallel/mutable/ParSeq.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ package collection.parallel.mutable
1111

1212
import scala.collection.generic.GenericParTemplate
1313
import scala.collection.generic.GenericParCompanion
14-
//import scala.collection.generic.CanCombineFrom
14+
import scala.collection.generic.CanCombineFrom
1515
import scala.collection.generic.ParFactory
1616
import scala.collection.parallel.ParSeqLike
1717
import scala.collection.parallel.Combiner
@@ -42,7 +42,7 @@ self =>
4242
* @define coll mutable parallel sequence
4343
*/
4444
object ParSeq extends ParFactory[ParSeq] {
45-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSeq[T]] = new GenericCanCombineFrom[T]
45+
implicit def canBuildFrom[T]: CanCombineFrom[ParSeq[_], T, ParSeq[T]] = new GenericCanCombineFrom[T]
4646

4747
def newBuilder[T]: Combiner[T, ParSeq[T]] = ParArrayCombiner[T]
4848

core/src/main/scala/scala/collection/parallel/mutable/ParSet.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ self =>
3434
* @define coll mutable parallel set
3535
*/
3636
object ParSet extends ParSetFactory[ParSet] {
37-
// implicit def canBuildFrom[T]: CanCombineFrom[Coll, T, ParSet[T]] = new GenericCanCombineFrom[T]
37+
implicit def canBuildFrom[T]: CanCombineFrom[ParSet[_], T, ParSet[T]] = new GenericCanCombineFrom[T]
3838

3939
override def newBuilder[T]: Combiner[T, ParSet[T]] = ParHashSet.newBuilder
4040

0 commit comments

Comments
 (0)