diff options
author | Martin Odersky <odersky@gmail.com> | 2006-02-06 18:18:06 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-02-06 18:18:06 +0000 |
commit | 9668bd2204b7e5b1410bf066f869611618277825 (patch) | |
tree | a3e0a7c1de1883ca8311684714a0433dbf2353e1 /src/library | |
parent | b8f52d46645947c523567bc2ecf63168e6ec0cbc (diff) | |
download | scala-9668bd2204b7e5b1410bf066f869611618277825.tar.gz scala-9668bd2204b7e5b1410bf066f869611618277825.tar.bz2 scala-9668bd2204b7e5b1410bf066f869611618277825.zip |
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/NonNull.scala | 13 | ||||
-rw-r--r-- | src/library/scala/UndefinedException.scala | 12 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/DoubleLinkedList.scala | 2 | ||||
-rw-r--r-- | src/library/scala/collection/mutable/SingleLinkedList.scala | 4 | ||||
-rw-r--r-- | src/library/scala/concurrent/MailBox.scala | 2 | ||||
-rw-r--r-- | src/library/scala/runtime/ScalaRunTime.scala | 3 |
6 files changed, 32 insertions, 4 deletions
diff --git a/src/library/scala/NonNull.scala b/src/library/scala/NonNull.scala new file mode 100644 index 0000000000..02a037ccf0 --- /dev/null +++ b/src/library/scala/NonNull.scala @@ -0,0 +1,13 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2002-2005, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id: ScalaObject.scala 5390 2005-12-19 13:49:03Z dubochet $ + +package scala; + +trait NonNull; diff --git a/src/library/scala/UndefinedException.scala b/src/library/scala/UndefinedException.scala new file mode 100644 index 0000000000..d88cb0a5ca --- /dev/null +++ b/src/library/scala/UndefinedException.scala @@ -0,0 +1,12 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2002, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +** ** +** $Id: MatchError.scala 5390 2005-12-19 13:49:03Z dubochet $ +\* */ +package scala; + +final class UndefinedException extends RuntimeException; diff --git a/src/library/scala/collection/mutable/DoubleLinkedList.scala b/src/library/scala/collection/mutable/DoubleLinkedList.scala index 4b79ba534c..0fefcf6b04 100644 --- a/src/library/scala/collection/mutable/DoubleLinkedList.scala +++ b/src/library/scala/collection/mutable/DoubleLinkedList.scala @@ -19,7 +19,7 @@ package scala.collection.mutable; * @version 1.0, 08/07/2003 */ [serializable] -abstract class DoubleLinkedList[A, This <: DoubleLinkedList[A, This]] requires This +abstract class DoubleLinkedList[A, This >: AllRef <: DoubleLinkedList[A, This]] requires This extends SingleLinkedList[A, This] { var prev: This = _; diff --git a/src/library/scala/collection/mutable/SingleLinkedList.scala b/src/library/scala/collection/mutable/SingleLinkedList.scala index 9ec97f39ff..52c2fdcd35 100644 --- a/src/library/scala/collection/mutable/SingleLinkedList.scala +++ b/src/library/scala/collection/mutable/SingleLinkedList.scala @@ -19,13 +19,13 @@ package scala.collection.mutable; * @version 1.0, 08/07/2003 */ [serializable] -abstract class SingleLinkedList[A, This <: SingleLinkedList[A, This]] +abstract class SingleLinkedList[A, This >: AllRef <: SingleLinkedList[A, This]] requires This extends AnyRef with Seq[A] { var elem: A = _; - var next: This = _; + var next: This = null; def length: Int = 1 + (if (next == null) 0 else next.length); diff --git a/src/library/scala/concurrent/MailBox.scala b/src/library/scala/concurrent/MailBox.scala index 427d424b28..4463071f2e 100644 --- a/src/library/scala/concurrent/MailBox.scala +++ b/src/library/scala/concurrent/MailBox.scala @@ -137,7 +137,7 @@ trait ListQueueCreator { /** Efficient queue module creator based on linked lists. */ trait LinkedListQueueCreator { import scala.collection.mutable.LinkedList; - def queueCreate[a <: AnyRef]: QueueModule[a] = new QueueModule[a] { + def queueCreate[a >: AllRef <: AnyRef]: QueueModule[a] = new QueueModule[a] { type t = Pair[LinkedList[a], LinkedList[a]]; // fst = the list, snd = last elem def make: t = { val l = new LinkedList[a](null, null); diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala index 827e4cc223..77d46fc745 100644 --- a/src/library/scala/runtime/ScalaRunTime.scala +++ b/src/library/scala/runtime/ScalaRunTime.scala @@ -88,6 +88,9 @@ object ScalaRunTime { false } + def checkDefined[T >: AllRef](x: T): T = + if (x == null) throw new UndefinedException else x + def Seq[a](xs: a*): Seq[a] = null; // interpreted specially by new backend. def booleanValue(x: BoxedBoolean): Boolean = if (x eq null) false else x.booleanValue(); |