From 833b9e671a08da9c8017b958c7cc9947ef7c3f5b Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 5 Mar 2010 15:32:03 +0000 Subject: Closes #3026. Review by extempore. --- src/compiler/scala/tools/nsc/typechecker/Implicits.scala | 3 ++- src/library/scala/reflect/ClassManifest.scala | 7 ------- 2 files changed, 2 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala index bc9c52072f..5b8ba68e7f 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala @@ -840,7 +840,8 @@ self: Analyzer => case RefinedType(parents, decls) => // refinement is not generated yet if (parents.length == 1) findManifest(parents.head) - else manifestFactoryCall("intersectionType", tp, parents map (findSubManifest(_)): _*) + else if (full) manifestFactoryCall("intersectionType", tp, parents map (findSubManifest(_)): _*) + else mot(erasure.erasure(tp0)) case ExistentialType(tparams, result) => existentialAbstraction(tparams, result) match { case ExistentialType(_, _) => mot(result) diff --git a/src/library/scala/reflect/ClassManifest.scala b/src/library/scala/reflect/ClassManifest.scala index 8a6a573048..ded013a4b5 100644 --- a/src/library/scala/reflect/ClassManifest.scala +++ b/src/library/scala/reflect/ClassManifest.scala @@ -230,11 +230,4 @@ object ClassManifest { override val typeArguments = args.toList override def toString = prefix.toString+"#"+name+argString } - - /** ClassManifest for the intersection type `parents_0 with ... with parents_n'. */ - def intersectionType[T](parents: ClassManifest[_]*): ClassManifest[T] = - new (ClassManifest[T] @serializable) { - def erasure = parents.head.erasure - override def toString = parents.mkString(" with ") - } } -- cgit v1.2.3