Skip to content

Commit 041d1ef

Browse files
committed
make coll. wrapper classes usable by other libs; seq alias variance
1 parent e9e1efc commit 041d1ef

File tree

7 files changed

+13
-9
lines changed

7 files changed

+13
-9
lines changed

src/main/scala-2.12/scala/swing/BufferWrapper.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import scala.collection.{Iterator, mutable}
1313
/**
1414
* Default partial implementation for buffer adapters.
1515
*/
16-
protected[swing] abstract class BufferWrapper[A] extends mutable.Buffer[A] {
16+
abstract class BufferWrapper[A] extends mutable.Buffer[A] {
1717
// abstract
1818

1919
def addOne(elem: A): this.type
@@ -22,6 +22,8 @@ protected[swing] abstract class BufferWrapper[A] extends mutable.Buffer[A] {
2222

2323
// impl
2424

25+
type MoreElem[+B] = Traversable[B]
26+
2527
final override def +=(elem: A): this.type = addOne(elem)
2628

2729
override def clear(): Unit = for (_ <- 0 until length) remove(0)
@@ -31,7 +33,7 @@ protected[swing] abstract class BufferWrapper[A] extends mutable.Buffer[A] {
3133
insert(n, a)
3234
}
3335

34-
override def insertAll(n: Int, elems: Traversable[A]): Unit = {
36+
override def insertAll(n: Int, elems: MoreElem[A]): Unit = {
3537
var i = n
3638
for (el <- elems) {
3739
insert(i, el)

src/main/scala-2.12/scala/swing/MapWrapper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import scala.collection.mutable
55
/**
66
* Default partial implementation for set adapters.
77
*/
8-
protected[swing] abstract class MapWrapper[K, V] extends mutable.Map[K, V] {
8+
abstract class MapWrapper[K, V] extends mutable.Map[K, V] {
99
// abstract
1010

1111
def addOne (elem: (K, V)): this.type

src/main/scala-2.12/scala/swing/SetWrapper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import scala.collection.mutable
55
/**
66
* Default partial implementation for set adapters.
77
*/
8-
protected[swing] abstract class SetWrapper[A] extends mutable.Set[A] {
8+
abstract class SetWrapper[A] extends mutable.Set[A] {
99
// abstract
1010

1111
def addOne (elem: A): this.type

src/main/scala-2.13.0-M5/scala/swing/BufferWrapper.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import scala.collection.{Iterator, mutable}
1313
/**
1414
* Default partial implementation for buffer adapters.
1515
*/
16-
protected[swing] abstract class BufferWrapper[A] extends mutable.Buffer[A] {
16+
abstract class BufferWrapper[A] extends mutable.Buffer[A] {
17+
type MoreElem[+B] = IterableOnce[B]
18+
1719
override def clear(): Unit = for (_ <- 0 until length) remove(0)
1820

1921
override def update(n: Int, a: A): Unit = {
@@ -25,7 +27,7 @@ protected[swing] abstract class BufferWrapper[A] extends mutable.Buffer[A] {
2527

2628
override def prepend(elem: A): this.type = { insert(0, elem); this }
2729

28-
override def insertAll(idx: Int, elems: IterableOnce[A]): Unit = {
30+
override def insertAll(idx: Int, elems: MoreElem[A]): Unit = {
2931
var i = idx
3032
for (el <- elems.iterator) {
3133
insert(i, el)

src/main/scala-2.13.0-M5/scala/swing/MapWrapper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ package scala.swing
22

33
import scala.collection.mutable
44

5-
protected[swing] abstract class MapWrapper[K, V] extends mutable.Map[K, V]
5+
abstract class MapWrapper[K, V] extends mutable.Map[K, V]

src/main/scala-2.13.0-M5/scala/swing/SetWrapper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ package scala.swing
22

33
import scala.collection.mutable
44

5-
protected[swing] abstract class SetWrapper[A] extends mutable.Set[A]
5+
abstract class SetWrapper[A] extends mutable.Set[A]

src/main/scala/scala/swing/package.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ package object swing {
2222
type Image = java.awt.Image
2323
type Font = java.awt.Font
2424

25-
type Seq[A] = scala.collection.Seq[A] // because scala.Seq differs between Scala 2.12 and 2.13
25+
type Seq[+A] = scala.collection.Seq[A] // because scala.Seq differs between Scala 2.12 and 2.13
2626

2727
implicit lazy val reflectiveCalls = scala.language.reflectiveCalls
2828
implicit lazy val implicitConversions = scala.language.implicitConversions

0 commit comments

Comments
 (0)