summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-02-06 14:31:45 +0100
committerMartin Odersky <odersky@gmail.com>2012-02-06 14:31:45 +0100
commit6a6cd3ac2986c6036e64cb38b9e22f9416409f48 (patch)
tree6283db1827b3fcca6eeecd2443f96d39a62d99dc
parent4407cdb4df86de2422c242210a96b11c2d14ac31 (diff)
downloadscala-6a6cd3ac2986c6036e64cb38b9e22f9416409f48.tar.gz
scala-6a6cd3ac2986c6036e64cb38b9e22f9416409f48.tar.bz2
scala-6a6cd3ac2986c6036e64cb38b9e22f9416409f48.zip
Removing AnyVal as a source class. Removing automatic addition of ScalaObject. Undoing wrong fix in ExtensionMethods.
-rw-r--r--src/compiler/scala/reflect/internal/Definitions.scala8
-rw-r--r--src/compiler/scala/reflect/internal/SymbolTable.scala4
-rw-r--r--src/compiler/scala/reflect/runtime/ToolBoxes.scala14
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala7
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala7
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala20
-rw-r--r--src/library/scala/AnyVal.scala32
-rw-r--r--test/files/buildmanager/t2556_3/t2556_3.check4
-rw-r--r--test/files/neg/anyval-children.check17
-rw-r--r--test/files/neg/t2641.check6
-rw-r--r--test/files/neg/t464-neg.check4
-rw-r--r--test/files/neg/t5060.check4
-rw-r--r--test/files/neg/t664.check4
-rw-r--r--test/files/neg/variances.check2
-rw-r--r--test/files/presentation/callcc-interpreter.check4
-rw-r--r--test/files/run/primitive-sigs-2.check2
-rw-r--r--test/files/run/repl-parens.check2
-rw-r--r--test/files/run/t4172.check2
-rw-r--r--test/files/run/t4891.check1
19 files changed, 49 insertions, 95 deletions
diff --git a/src/compiler/scala/reflect/internal/Definitions.scala b/src/compiler/scala/reflect/internal/Definitions.scala
index 67f6bf838e..8e07c3e109 100644
--- a/src/compiler/scala/reflect/internal/Definitions.scala
+++ b/src/compiler/scala/reflect/internal/Definitions.scala
@@ -235,7 +235,7 @@ trait Definitions extends reflect.api.StandardDefinitions {
lazy val AnyValClass = ScalaPackageClass.info member tpnme.AnyVal orElse {
// println("new anyval")
oldValueScheme = false
- val anyval = enterNewClass(ScalaPackageClass, tpnme.AnyVal, anyparam, 0L)
+ val anyval = enterNewClass(ScalaPackageClass, tpnme.AnyVal, anyparam, ABSTRACT)
val av_constr = anyval.newClassConstructor(NoPosition)
anyval.info.decls enter av_constr
anyval
@@ -1063,9 +1063,9 @@ trait Definitions extends reflect.api.StandardDefinitions {
setParents(AnyValClass, List(NotNullClass.tpe, AnyClass.tpe))
} else {
AnyVal_getClass // force it!
- }
- ScalaValueClasses foreach { sym =>
- setParents(sym, anyvalparam)
+ ScalaValueClasses foreach { sym =>
+ setParents(sym, anyvalparam)
+ }
}
isInitialized = true
diff --git a/src/compiler/scala/reflect/internal/SymbolTable.scala b/src/compiler/scala/reflect/internal/SymbolTable.scala
index fb827b0658..e182bb6fdb 100644
--- a/src/compiler/scala/reflect/internal/SymbolTable.scala
+++ b/src/compiler/scala/reflect/internal/SymbolTable.scala
@@ -41,7 +41,7 @@ abstract class SymbolTable extends api.Universe
/** Override with final implementation for inlining. */
def debuglog(msg: => String): Unit = if (settings.debug.value) log(msg)
def debugwarn(msg: => String): Unit = if (settings.debug.value) Console.err.println(msg)
-
+
/** Overridden when we know more about what was happening during a failure. */
def supplementErrorMessage(msg: String): String = msg
@@ -276,7 +276,7 @@ abstract class SymbolTable extends api.Universe
/** The phase which has given index as identifier. */
val phaseWithId: Array[Phase]
-
+
/** Is this symbol table part of reflexive mirror? In this case
* operations need to be made thread safe.
*/
diff --git a/src/compiler/scala/reflect/runtime/ToolBoxes.scala b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
index 46d890c5d1..e0b9a1e3bb 100644
--- a/src/compiler/scala/reflect/runtime/ToolBoxes.scala
+++ b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
@@ -49,15 +49,15 @@ trait ToolBoxes extends { self: Universe =>
typer.atOwner(tree, owner).typed(tree, analyzer.EXPRmode, pt)
}
-
+
def defOwner(tree: Tree): Symbol = tree find (_.isDef) map (_.symbol) match {
case Some(sym) if sym != null && sym != NoSymbol => sym.owner
case _ => NoSymbol
}
-
+
def wrapInObject(expr: Tree, fvs: List[Symbol]): ModuleDef = {
val obj = EmptyPackageClass.newModule(nextWrapperModuleName())
- val minfo = ClassInfoType(List(ObjectClass.tpe, ScalaObjectClass.tpe), newScope, obj.moduleClass)
+ val minfo = ClassInfoType(List(ObjectClass.tpe), newScope, obj.moduleClass)
obj.moduleClass setInfo minfo
obj setInfo obj.moduleClass.tpe
val meth = obj.moduleClass.newMethod(newTermName(wrapperMethodName))
@@ -104,13 +104,13 @@ trait ToolBoxes extends { self: Universe =>
def runExpr(expr: Tree): Any = {
val etpe = expr.tpe
val fvs = (expr filter isFree map (_.symbol)).distinct
-
+
reporter.reset()
val className = compileExpr(expr, fvs)
if (reporter.hasErrors) {
throw new Error("reflective compilation has failed")
}
-
+
if (settings.debug.value) println("generated: "+className)
val jclazz = jClass.forName(moduleFileName(className), true, classLoader)
val jmeth = jclazz.getDeclaredMethods.find(_.getName == wrapperMethodName).get
@@ -167,7 +167,7 @@ trait ToolBoxes extends { self: Universe =>
lazy val exporter = importer.reverse
lazy val classLoader = new AbstractFileClassLoader(virtualDirectory, defaultReflectiveClassLoader)
-
+
private def importAndTypeCheck(tree: rm.Tree, expectedType: rm.Type): compiler.Tree = {
// need to establish a run an phase because otherwise we run into an assertion in TypeHistory
// that states that the period must be different from NoPeriod
@@ -189,7 +189,7 @@ trait ToolBoxes extends { self: Universe =>
def typeCheck(tree: rm.Tree): rm.Tree =
typeCheck(tree, WildcardType.asInstanceOf[rm.Type])
- def showAttributed(tree: rm.Tree): String =
+ def showAttributed(tree: rm.Tree): String =
compiler.showAttributed(importer.importTree(tree.asInstanceOf[Tree]))
def runExpr(tree: rm.Tree, expectedType: rm.Type): Any = {
diff --git a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
index c308a3633e..4db05f46d3 100644
--- a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
@@ -87,8 +87,8 @@ abstract class ExtensionMethods extends Transform with TypingTransformers {
val thisParam = extensionMeth.newValueParameter(nme.SELF, extensionMeth.pos) setInfo thisParamType
def transform(clonedType: Type): Type = clonedType match {
case MethodType(params, restpe) =>
- // I assume it was a bug that this was dropping params...
- MethodType(thisParam :: params, clonedType)
+ // I assume it was a bug that this was dropping params... [Martin]: No, it wasn't; it's curried.
+ MethodType(List(thisParam), clonedType)
case NullaryMethodType(restpe) =>
MethodType(List(thisParam), restpe)
}
@@ -121,12 +121,13 @@ abstract class ExtensionMethods extends Transform with TypingTransformers {
extensionMeth setInfo newInfo
log("Inline class %s spawns extension method.\n Old: %s\n New: %s".format(
currentOwner,
- origMeth.defString,
+ origMeth.defString,
extensionMeth.defString)) // extensionMeth.defStringSeenAs(origInfo
def thisParamRef = gen.mkAttributedIdent(extensionMeth.info.params.head setPos extensionMeth.pos)
val GenPolyType(extensionTpeParams, extensionMono) = extensionMeth.info
val origTpeParams = origMeth.typeParams ::: currentOwner.typeParams
+ println("expanding "+tree+"/"+allParams(extensionMono)+"/"+extensionMeth.info)
val extensionBody = rhs
.substTreeSyms(origTpeParams, extensionTpeParams)
.substTreeSyms(vparamss.flatten map (_.symbol), allParams(extensionMono).tail)
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 5f156b98e8..7bb9ab2fc9 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -705,13 +705,6 @@ trait Namers extends MethodSynthesis {
if (needsCycleCheck && !typer.checkNonCyclic(tree.pos, tp))
sym setInfo ErrorType
}
- tree match {
- case cdef: ClassDef =>
- if (!treeInfo.isInterface(sym, cdef.impl.body) && sym != ArrayClass &&
- (sym.info.parents forall (_.typeSymbol != AnyValClass)))
- ensureParent(sym, ScalaObjectClass)
- case _ =>
- }
}
def moduleClassTypeCompleter(tree: Tree) = {
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index f7a6815905..2a581b33bb 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -150,7 +150,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
}
// Override checking ------------------------------------------------------------
-
+
def isJavaVarargsAncestor(clazz: Symbol) = (
clazz.isClass
&& clazz.isJavaDefined
@@ -167,14 +167,14 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
log("Found java varargs ancestor in " + clazz.fullLocationString + ".")
val self = clazz.thisType
val bridges = new ListBuffer[Tree]
-
+
def varargBridge(member: Symbol, bridgetpe: Type): Tree = {
log("Generating varargs bridge for " + member.fullLocationString + " of type " + bridgetpe)
-
+
val bridge = member.cloneSymbolImpl(clazz, member.flags | VBRIDGE) setPos clazz.pos
bridge.setInfo(bridgetpe.cloneInfo(bridge))
clazz.info.decls enter bridge
-
+
val params = bridge.paramss.head
val elemtp = params.last.tpe.typeArgs.head
val idents = params map Ident
@@ -183,7 +183,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
localTyper typed DefDef(bridge, body)
}
-
+
// For all concrete non-private members that have a (Scala) repeated parameter:
// compute the corresponding method type `jtpe` with a Java repeated parameter
// if a method with type `jtpe` exists and that method is not a varargs bridge
@@ -203,7 +203,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
}
}
}
-
+
bridges.toList
}
else Nil
@@ -334,7 +334,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
def deferredCheck = member.isDeferred || !other.isDeferred
def subOther(s: Symbol) = s isSubClass other.owner
def subMember(s: Symbol) = s isSubClass member.owner
-
+
if (subOther(member.owner) && deferredCheck) {
//Console.println(infoString(member) + " shadows1 " + infoString(other) " in " + clazz);//DEBUG
return
@@ -420,12 +420,12 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
if( !(sameLength(member.typeParams, other.typeParams) && (memberTp.substSym(member.typeParams, other.typeParams) =:= otherTp)) ) // (1.6)
overrideTypeError();
- }
+ }
else if (other.isAbstractType) {
//if (!member.typeParams.isEmpty) // (1.7) @MAT
// overrideError("may not be parameterized");
val otherTp = self.memberInfo(other)
-
+
if (!(otherTp.bounds containsType memberTp)) { // (1.7.1)
overrideTypeError(); // todo: do an explaintypes with bounds here
explainTypes(_.bounds containsType _, otherTp, memberTp)
@@ -1527,7 +1527,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
)
case _ => ()
}
-
+
// verify classes extending AnyVal meet the requirements
// (whatever those are to be, but at least: @inline annotation)
private def checkAnyValSubclass(clazz: Symbol) = {
diff --git a/src/library/scala/AnyVal.scala b/src/library/scala/AnyVal.scala
deleted file mode 100644
index ed32fb7302..0000000000
--- a/src/library/scala/AnyVal.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-/* __ *\
-** ________ ___ / / ___ Scala API **
-** / __/ __// _ | / / / _ | (c) 2002-2011, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
-** /____/\___/_/ |_/____/_/ | | **
-** |/ **
-\* */
-
-package scala
-
-/** `AnyVal` is the root class of all ''value types'', which describe values
- * not implemented as objects in the underlying host system. The value classes
- * are specified in SLS 12.2.
- *
- * The standard implementation includes nine `AnyVal` subtypes:
- *
- * [[scala.Double]], [[scala.Float]], [[scala.Long]], [[scala.Int]], [[scala.Char]],
- * [[scala.Short]], and [[scala.Byte]] are the ''numeric value types''.
- *
- * [[scala.Unit]] and [[scala.Boolean]] are the ''non-numeric value types''.
- *
- * Other groupings:
- *
- * The ''subrange types'' are [[scala.Byte]], [[scala.Short]], and [[scala.Char]].
- * The ''integer types'' include the subrange types as well as [[scala.Int]] and [[scala.Long]].
- * The ''floating point types'' are [[scala.Float]] and [[scala.Double]].
- */
-trait AnyVal extends NotNull {
-// disabled for now to make the standard build go through.
-// Once we have a new strap we can uncomment this and delete the AnyVal_getClass entry in Definitions.
-// def getClass(): Class[_ <: AnyVal] = ???
-}
diff --git a/test/files/buildmanager/t2556_3/t2556_3.check b/test/files/buildmanager/t2556_3/t2556_3.check
index bf26602494..37808d2b31 100644
--- a/test/files/buildmanager/t2556_3/t2556_3.check
+++ b/test/files/buildmanager/t2556_3/t2556_3.check
@@ -3,8 +3,8 @@ compiling Set(A.scala, B.scala, C.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(class A -> List(), class B -> List(Changed(Class(B))[List((A,Object), (ScalaObject,ScalaObject))]))
-invalidate C.scala because parents have changed [Changed(Class(B))[List((A,Object), (ScalaObject,ScalaObject))]]
+Changes: Map(class A -> List(), class B -> List(Changed(Class(B))[List((A,Object))]))
+invalidate C.scala because parents have changed [Changed(Class(B))[List((A,Object))]]
invalidate B.scala because it references invalid (no longer inherited) definition [ParentChanged(Class(C))]
compiling Set(B.scala, C.scala)
B.scala:3: error: type mismatch;
diff --git a/test/files/neg/anyval-children.check b/test/files/neg/anyval-children.check
index cbb5a2b1d1..769f990210 100644
--- a/test/files/neg/anyval-children.check
+++ b/test/files/neg/anyval-children.check
@@ -1,6 +1,7 @@
-anyval-children.scala:7: error: illegal inheritance; superclass Bippy
- is not a subclass of the superclass Object
- of the mixin trait ScalaObject
+anyval-children.scala:3: error: class AnyVal needs to be a trait to be mixed in
+@inline class NotOkDingus2 extends Immutable with AnyVal // fail
+ ^
+anyval-children.scala:7: error: Bippy does not have a constructor
class NotOkBippy1 extends Bippy // fail
^
anyval-children.scala:9: error: illegal inheritance; superclass Bippy
@@ -8,9 +9,7 @@ anyval-children.scala:9: error: illegal inheritance; superclass Bippy
of the mixin trait Immutable
class NotOkBippy2 extends Bippy with Immutable //fail
^
-anyval-children.scala:9: error: illegal inheritance; superclass Bippy
- is not a subclass of the superclass Object
- of the mixin trait ScalaObject
+anyval-children.scala:9: error: Bippy does not have a constructor
class NotOkBippy2 extends Bippy with Immutable //fail
^
anyval-children.scala:11: error: illegal inheritance; superclass Bippy
@@ -18,9 +17,7 @@ anyval-children.scala:11: error: illegal inheritance; superclass Bippy
of the mixin trait Immutable
@inline class NotOkBippy3 extends Bippy with Immutable //fail
^
-anyval-children.scala:11: error: illegal inheritance; superclass Bippy
- is not a subclass of the superclass Object
- of the mixin trait ScalaObject
+anyval-children.scala:11: error: Bippy does not have a constructor
@inline class NotOkBippy3 extends Bippy with Immutable //fail
^
-5 errors found
+6 errors found
diff --git a/test/files/neg/t2641.check b/test/files/neg/t2641.check
index 9e2f02ac47..909f4f0cf3 100644
--- a/test/files/neg/t2641.check
+++ b/test/files/neg/t2641.check
@@ -9,11 +9,7 @@ t2641.scala:17: error: illegal inheritance;
self-type ManagedSeq does not conform to scala.collection.TraversableView[A,ManagedSeqStrict[A]]'s selftype scala.collection.TraversableView[A,ManagedSeqStrict[A]]
with TraversableView[A, ManagedSeqStrict[A]]
^
-t2641.scala:16: error: illegal inheritance;
- self-type ManagedSeq does not conform to ScalaObject's selftype ScalaObject
- extends ManagedSeqStrict[A]
- ^
t2641.scala:27: error: value managedIterator is not a member of ManagedSeq
override def managedIterator = self.managedIterator slice (from, until)
^
-5 errors found
+four errors found
diff --git a/test/files/neg/t464-neg.check b/test/files/neg/t464-neg.check
index aea1987b2e..e822e7fb6b 100644
--- a/test/files/neg/t464-neg.check
+++ b/test/files/neg/t464-neg.check
@@ -1,7 +1,7 @@
t464-neg.scala:7: error: not found: value f1
f1()
^
-t464-neg.scala:8: error: method f1 in class A cannot be accessed in A with ScalaObject
+t464-neg.scala:8: error: method f1 in class A cannot be accessed in A
super.f1()
^
t464-neg.scala:9: error: value f2 is not a member of B
@@ -10,7 +10,7 @@ t464-neg.scala:9: error: value f2 is not a member of B
t464-neg.scala:10: error: method f3 in class A cannot be accessed in B
f3()
^
-t464-neg.scala:11: error: method f3 in class A cannot be accessed in A with ScalaObject
+t464-neg.scala:11: error: method f3 in class A cannot be accessed in A
super.f3()
^
5 errors found
diff --git a/test/files/neg/t5060.check b/test/files/neg/t5060.check
index ab860c9d5b..e71f30ccdb 100644
--- a/test/files/neg/t5060.check
+++ b/test/files/neg/t5060.check
@@ -1,7 +1,7 @@
-t5060.scala:2: error: covariant type T occurs in contravariant position in type => Object with ScalaObject{def contains(x: T): Unit} of value foo0
+t5060.scala:2: error: covariant type T occurs in contravariant position in type => Object{def contains(x: T): Unit} of value foo0
val foo0 = {
^
-t5060.scala:6: error: covariant type T occurs in contravariant position in type => Object with ScalaObject{def contains(x: T): Unit} of method foo1
+t5060.scala:6: error: covariant type T occurs in contravariant position in type => Object{def contains(x: T): Unit} of method foo1
def foo1 = {
^
two errors found
diff --git a/test/files/neg/t664.check b/test/files/neg/t664.check
index 43a6bea074..cbdf53daea 100644
--- a/test/files/neg/t664.check
+++ b/test/files/neg/t664.check
@@ -1,7 +1,7 @@
-t664.scala:4: error: type Foo is not a member of test.Test with ScalaObject
+t664.scala:4: error: type Foo is not a member of test.Test
trait Foo extends super.Foo {
^
-t664.scala:5: error: type Bar is not a member of AnyRef with ScalaObject
+t664.scala:5: error: type Bar is not a member of AnyRef
trait Bar extends super.Bar;
^
two errors found
diff --git a/test/files/neg/variances.check b/test/files/neg/variances.check
index 4eaab56cef..dc72b05e1e 100644
--- a/test/files/neg/variances.check
+++ b/test/files/neg/variances.check
@@ -4,7 +4,7 @@ variances.scala:4: error: covariant type A occurs in contravariant position in t
variances.scala:14: error: covariant type A occurs in contravariant position in type A of value a
private[this] def setA(a : A) = this.a = a
^
-variances.scala:16: error: covariant type A occurs in invariant position in supertype test.C[A] with ScalaObject of object Baz
+variances.scala:16: error: covariant type A occurs in invariant position in supertype test.C[A] of object Baz
object Baz extends C[A]
^
variances.scala:63: error: covariant type A occurs in contravariant position in type => test.Covariant.T[A]{val m: A => A} of value x
diff --git a/test/files/presentation/callcc-interpreter.check b/test/files/presentation/callcc-interpreter.check
index 3385ef12b7..41b07b07dc 100644
--- a/test/files/presentation/callcc-interpreter.check
+++ b/test/files/presentation/callcc-interpreter.check
@@ -20,7 +20,7 @@ retrieved 64 members
`method ->[B](y: B)(callccInterpreter.type, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
-`method add(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[_ >: callccInterpreter.Num with callccInterpreter.Wrong.type <: Product with Serializable with callccInterpreter.Value]`
+`method add(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[_ >: callccInterpreter.Num with callccInterpreter.Wrong.type <: Serializable with Product with callccInterpreter.Value]`
`method apply(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[callccInterpreter.Value]`
`method asInstanceOf[T0]=> T0`
`method callCC[A](h: (A => callccInterpreter.M[A]) => callccInterpreter.M[A])callccInterpreter.M[A]`
@@ -87,7 +87,7 @@ def showM(m: callccInterpreter.M[callccInterpreter.Value]): String = m.in.apply(
askType at CallccInterpreter.scala(50,30)
================================================================================
[response] askTypeAt at (50,30)
-def add(a: callccInterpreter.Value, b: callccInterpreter.Value): callccInterpreter.M[_ >: callccInterpreter.Num with callccInterpreter.Wrong.type <: Product with Serializable with callccInterpreter.Value] = scala.this.Predef.Pair.apply[callccInterpreter.Value, callccInterpreter.Value](a, b) match {
+def add(a: callccInterpreter.Value, b: callccInterpreter.Value): callccInterpreter.M[_ >: callccInterpreter.Num with callccInterpreter.Wrong.type <: Serializable with Product with callccInterpreter.Value] = scala.this.Predef.Pair.apply[callccInterpreter.Value, callccInterpreter.Value](a, b) match {
case scala.this.Predef.Pair.unapply[callccInterpreter.Value, callccInterpreter.Value](<unapply-selector>) <unapply> ((n: Int)callccInterpreter.Num((m @ _)), (n: Int)callccInterpreter.Num((n @ _))) => this.unitM[callccInterpreter.Num](callccInterpreter.this.Num.apply(m.+(n)))
case _ => callccInterpreter.this.unitM[callccInterpreter.Wrong.type](callccInterpreter.this.Wrong)
}
diff --git a/test/files/run/primitive-sigs-2.check b/test/files/run/primitive-sigs-2.check
index c69d1b54a6..feb0619525 100644
--- a/test/files/run/primitive-sigs-2.check
+++ b/test/files/run/primitive-sigs-2.check
@@ -1,4 +1,4 @@
-T<java.lang.Object> interface scala.ScalaObject
+T<java.lang.Object>
List(A, char, class java.lang.Object)
a
public <T> java.lang.Object Arr.arr4(java.lang.Object[],scala.reflect.Manifest<T>)
diff --git a/test/files/run/repl-parens.check b/test/files/run/repl-parens.check
index 944846541f..69f0a9ce30 100644
--- a/test/files/run/repl-parens.check
+++ b/test/files/run/repl-parens.check
@@ -66,7 +66,7 @@ scala> 55 ; () => 5
res13: () => Int = <function0>
scala> () => { class X ; new X }
-res14: () => Object with ScalaObject = <function0>
+res14: () => Object = <function0>
scala>
diff --git a/test/files/run/t4172.check b/test/files/run/t4172.check
index 95e3eb950d..da467e27ea 100644
--- a/test/files/run/t4172.check
+++ b/test/files/run/t4172.check
@@ -4,7 +4,7 @@ Type :help for more information.
scala>
scala> val c = { class C { override def toString = "C" }; ((new C, new C { def f = 2 })) }
-c: (C, C{def f: Int}) forSome { type C <: Object with ScalaObject } = (C,C)
+c: (C, C{def f: Int}) forSome { type C <: Object } = (C,C)
scala>
diff --git a/test/files/run/t4891.check b/test/files/run/t4891.check
index 072f8df8d4..79fd7f6fbb 100644
--- a/test/files/run/t4891.check
+++ b/test/files/run/t4891.check
@@ -5,4 +5,3 @@ test.generic.C1
test.generic.C2
(m) public void test.generic.C1.m1()
null
-interface scala.ScalaObject