summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-09-06 09:19:32 +0000
committerMartin Odersky <odersky@gmail.com>2008-09-06 09:19:32 +0000
commit4334d8c9915c976ff083621e0df44bb7d2321064 (patch)
treefc8c1ea2c8d20a51b84eb39f97e321d0c156fc92 /src
parent16acc7aa51cf45bc2b444fb7f0f3515e033dc035 (diff)
downloadscala-4334d8c9915c976ff083621e0df44bb7d2321064.tar.gz
scala-4334d8c9915c976ff083621e0df44bb7d2321064.tar.bz2
scala-4334d8c9915c976ff083621e0df44bb7d2321064.zip
fixed build problems
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala5
-rw-r--r--src/compiler/scala/tools/nsc/symtab/StdNames.scala1
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala4
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala2
-rw-r--r--src/library/scala/NotNull.scala3
-rw-r--r--src/library/scala/Predef.scala3
-rwxr-xr-xsrc/library/scala/UncheckedStable.scala12
7 files changed, 20 insertions, 10 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index d60dbf2f4c..cd24f34097 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -44,7 +44,7 @@ trait Definitions {
var NullClass: Symbol = _
var NothingClass: Symbol = _
var SingletonClass: Symbol = _
- lazy val StableClass = getClass("scala.$Stable$") // todo internalize, need a new starr first
+ lazy val UncheckedStableClass = getClass("scala.UncheckedStable")
lazy val ClassClass: Symbol = getClass(sn.Class)
lazy val StringClass: Symbol = getClass(sn.String)
@@ -669,9 +669,6 @@ trait Definitions {
SingletonClass = newClass(ScalaPackageClass, nme.Singleton, any)
.setFlag(ABSTRACT | TRAIT | FINAL)
-// StableClass = newClass(ScalaPackageClass, nme._Stable_, any)
-// .setFlag(ABSTRACT | TRAIT | FINAL)
-
UnitClass =
newClass(ScalaPackageClass, nme.Unit, List(AnyValClass.typeConstructor))
.setFlag(ABSTRACT | FINAL)
diff --git a/src/compiler/scala/tools/nsc/symtab/StdNames.scala b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
index c8168ed52a..c230cb5ab0 100644
--- a/src/compiler/scala/tools/nsc/symtab/StdNames.scala
+++ b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
@@ -256,7 +256,6 @@ trait StdNames {
val Seq = newTermName("Seq")
val Short = newTermName("Short")
val Singleton = newTermName("Singleton")
- val _Stable_ = newTermName("$Stable$")
val Some = newTermName("Some")
val SourceFile = newTermName("SourceFile")
val String = newTermName("String")
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala
index 76120f084e..2d83924226 100644
--- a/src/compiler/scala/tools/nsc/symtab/Types.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Types.scala
@@ -1189,7 +1189,7 @@ trait Types {
case _ =>
false
})) &&
- !(typeSymbol isNonBottomSubClass StableClass) // escape hatch!
+ !(typeSymbol isNonBottomSubClass UncheckedStableClass) // escape hatch!
}
override def isStable =
@@ -1381,7 +1381,7 @@ trait Types {
override def isStable: Boolean = {
sym == SingletonClass ||
- sym == StableClass ||
+ sym == UncheckedStableClass ||
sym.isAliasType && normalize.isStable ||
sym.isAbstractType && bounds.hi.isStable
}
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala
index f9876f45e2..23203bd848 100644
--- a/src/compiler/scala/tools/nsc/transform/Erasure.scala
+++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala
@@ -81,7 +81,7 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer {
if (sym == ArrayClass)
if (isGeneric(tp)) erasedTypeRef(BoxedArrayClass)
else typeRef(apply(pre), sym, args map this)
- else if (sym == AnyClass || sym == AnyValClass || sym == SingletonClass || sym == StableClass) erasedTypeRef(ObjectClass)
+ else if (sym == AnyClass || sym == AnyValClass || sym == SingletonClass) erasedTypeRef(ObjectClass)
else if (sym == UnitClass) erasedTypeRef(BoxedUnitClass)
else if (sym.isClass)
typeRef(apply(if (sym.owner.isClass) sym.owner.tpe else pre), sym, List())
diff --git a/src/library/scala/NotNull.scala b/src/library/scala/NotNull.scala
index b6c80b662f..8fdda2196d 100644
--- a/src/library/scala/NotNull.scala
+++ b/src/library/scala/NotNull.scala
@@ -7,5 +7,6 @@
\* */
package scala
-/** A marker thread for things that are not allowed to be null */
+/** A marker trait for things that are not allowed to be null
+ */
trait NotNull {}
diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala
index d40369e740..ce3b05771c 100644
--- a/src/library/scala/Predef.scala
+++ b/src/library/scala/Predef.scala
@@ -114,7 +114,8 @@ object Predef {
// tupling ------------------------------------------------------------
- def uncheckedStable[A](x: A): A with _$Stable = x.asInstanceOf[A with $Stable$]
+ def uncheckedStable[A](x: A): A with UncheckedStable =
+ x.asInstanceOf[A with UncheckedStable]
type Pair[+A, +B] = Tuple2[A, B]
object Pair {
diff --git a/src/library/scala/UncheckedStable.scala b/src/library/scala/UncheckedStable.scala
new file mode 100755
index 0000000000..fab43b48a7
--- /dev/null
+++ b/src/library/scala/UncheckedStable.scala
@@ -0,0 +1,12 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2002-2007, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+package scala
+
+/** A marker class for types that are assumed to be stable
+ */
+abstract final class UncheckedStable {}