Skip to content

Commit e83d7d0

Browse files
committed
Fix scala.collection.convert.JavaCollectionWrappers
1 parent d82defc commit e83d7d0

File tree

3 files changed

+10
-19
lines changed

3 files changed

+10
-19
lines changed

project/MiMaFilters.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ object MiMaFilters {
8686
ProblemFilters.exclude[FinalMethodProblem]("scala.io.Source.NoPositioner"),
8787
ProblemFilters.exclude[FinalMethodProblem]("scala.io.Source.RelaxedPosition"),
8888
ProblemFilters.exclude[FinalMethodProblem]("scala.io.Source.RelaxedPositioner"),
89-
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.convert.JavaCollectionWrappers#*.empty"),
9089
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.immutable.RedBlackTree#EqualsIterator.nextResult"),
9190
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.immutable.SortedMapOps.coll"),
9291
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.immutable.TreeMap.empty"),
@@ -102,7 +101,6 @@ object MiMaFilters {
102101
ProblemFilters.exclude[ReversedMissingMethodProblem]("scala.collection.immutable.SortedMapOps.coll"),
103102
) ++
104103
Seq( // DirectMissingMethodProblem
105-
"scala.collection.convert.JavaCollectionWrappers#*.iterableFactory", "scala.collection.convert.JavaCollectionWrappers#*.mapFactory", "scala.collection.convert.JavaCollectionWrappers#IteratorWrapper.remove",
106104
"scala.collection.immutable.ArraySeq#*.elemTag",
107105
"scala.collection.immutable.HashCollisionSetNode.copy",
108106
"scala.collection.immutable.MapKeyValueTupleHashIterator.next",
@@ -158,9 +156,6 @@ object MiMaFilters {
158156
ProblemFilters.exclude[IncompatibleMethTypeProblem]("scala.collection.mutable.ArrayBuilder#ofUnit.addAll"),
159157

160158
// Non-categorized
161-
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.convert.JavaCollectionWrappers#JConcurrentMapWrapper.empty"),
162-
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.convert.JavaCollectionWrappers#JMapWrapper.empty"),
163-
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.convert.JavaCollectionWrappers#JPropertiesWrapper.empty"),
164159
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.immutable.RedBlackTree#EqualsIterator.nextResult"),
165160
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.immutable.SortedMapOps.coll"),
166161
ProblemFilters.exclude[IncompatibleResultTypeProblem]("scala.collection.mutable.LinkedHashMap.newBuilder"),

project/TastyMiMaFilters.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,12 @@ object TastyMiMaFilters {
112112
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.StringContext.parts"),
113113

114114
// Problem: Inferred result type of non-private member differs
115-
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.convert.JavaCollectionWrappers.*.iterableFactory"),
116-
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.convert.JavaCollectionWrappers.*.empty"),
117-
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.convert.JavaCollectionWrappers.*.mapFactory"),
118115
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.math.Big*.underlying"),
119116
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.immutable.TreeSet.sortedIterableFactory"),
120117
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.collection.View.*PartitionMapped.iterator"),
121118
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.concurrent.duration.FiniteDuration.unary_-"),
122-
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.convert.JavaCollectionWrappers.IteratorWrapper.remove"),
123-
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.convert.JavaCollectionWrappers.IterableWrapperTrait.iterator"),
124119
ProblemMatcher.make(ProblemKind.IncompatibleTypeChange, "scala.util.matching.Regex.MatchIterator.replacementData"),
120+
ProblemMatcher.make(ProblemKind.MissingTermMember, "scala.collection.convert.JavaCollectionWrappers.IterableWrapperTrait.iterator"),
125121

126122
// Problem: implicit class (method should not be final)
127123
ProblemMatcher.make(ProblemKind.FinalMember, "scala.collection.convert.*.*"),

stdlib-bootstrapped/src/scala/collection/convert/JavaCollectionWrappers.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
3333
def next() = underlying.next()
3434
def hasMoreElements = underlying.hasNext
3535
def nextElement() = underlying.next()
36-
override def remove() = throw new UnsupportedOperationException
36+
override def remove(): Nothing = throw new UnsupportedOperationException
3737
}
3838

3939
@SerialVersionUID(3L)
@@ -64,7 +64,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
6464
with StrictOptimizedIterableOps[A, Iterable, Iterable[A]]
6565
with Serializable {
6666
def iterator = underlying.iterator.asScala
67-
override def iterableFactory = mutable.ArrayBuffer
67+
override def iterableFactory: mutable.ArrayBuffer.type = mutable.ArrayBuffer
6868
override def isEmpty: Boolean = !underlying.iterator().hasNext
6969
}
7070

@@ -77,7 +77,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
7777
override def size = underlying.size
7878
override def knownSize: Int = if (underlying.isEmpty) 0 else super.knownSize
7979
override def isEmpty = underlying.isEmpty
80-
override def iterableFactory = mutable.ArrayBuffer
80+
override def iterableFactory: mutable.ArrayBuffer.type = mutable.ArrayBuffer
8181
}
8282

8383
@SerialVersionUID(3L)
@@ -134,7 +134,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
134134
this
135135
}
136136
def remove(from: Int, n: Int): Unit = underlying.subList(from, from+n).clear()
137-
override def iterableFactory = mutable.ArrayBuffer
137+
override def iterableFactory: mutable.ArrayBuffer.type = mutable.ArrayBuffer
138138
override def subtractOne(elem: A): this.type = { underlying.remove(elem.asInstanceOf[AnyRef]); this }
139139
}
140140

@@ -417,7 +417,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
417417

418418
override def isEmpty: Boolean = underlying.isEmpty
419419
override def knownSize: Int = if (underlying.isEmpty) 0 else super.knownSize
420-
override def empty = new JMapWrapper(new ju.HashMap[K, V])
420+
override def empty: JMapWrapper[K, V] = new JMapWrapper(new ju.HashMap[K, V])
421421
}
422422

423423
@SerialVersionUID(3L)
@@ -464,7 +464,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
464464

465465
override def isEmpty: Boolean = underlying.isEmpty
466466
override def knownSize: Int = if (underlying.isEmpty) 0 else super.knownSize
467-
override def empty = new JConcurrentMapWrapper(new juc.ConcurrentHashMap[K, V])
467+
override def empty: JConcurrentMapWrapper[K, V] = new JConcurrentMapWrapper(new juc.ConcurrentHashMap[K, V])
468468

469469
def putIfAbsent(k: K, v: V): Option[V] = Option(underlying.putIfAbsent(k, v))
470470

@@ -543,7 +543,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
543543

544544
override def clear() = iterator.foreach(entry => underlying.remove(entry._1))
545545

546-
override def mapFactory = mutable.HashMap
546+
override def mapFactory: mutable.HashMap.type = mutable.HashMap
547547
}
548548

549549
@SerialVersionUID(3L)
@@ -588,7 +588,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
588588

589589
override def clear() = underlying.clear()
590590

591-
override def empty = new JPropertiesWrapper(new ju.Properties)
591+
override def empty: JPropertiesWrapper = new JPropertiesWrapper(new ju.Properties)
592592

593593
def getProperty(key: String) = underlying.getProperty(key)
594594

@@ -598,7 +598,7 @@ private[collection] object JavaCollectionWrappers extends Serializable {
598598
def setProperty(key: String, value: String) =
599599
underlying.setProperty(key, value)
600600

601-
override def mapFactory = mutable.HashMap
601+
override def mapFactory: mutable.HashMap.type = mutable.HashMap
602602
}
603603

604604
/** Thrown when certain Map operations attempt to put a null value. */

0 commit comments

Comments
 (0)