summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-27 16:17:38 -0800
committerPaul Phillips <paulp@improving.org>2013-01-27 16:17:38 -0800
commitf389f6a18f5812a08f324222432ba45a5b15aa18 (patch)
tree2db0305a5969f0c9683670696238f33b0625c9f0
parent22dcec63745c2906c3c0ad636049e4ab0f73233c (diff)
parent982633a77ccef39e2c2611b88294d39d022a0f03 (diff)
downloadscala-f389f6a18f5812a08f324222432ba45a5b15aa18.tar.gz
scala-f389f6a18f5812a08f324222432ba45a5b15aa18.tar.bz2
scala-f389f6a18f5812a08f324222432ba45a5b15aa18.zip
Merge pull request #1978 from retronym/ticket/6556-2
SI-6556 Remove unneeded workaround in erasure.
-rw-r--r--src/reflect/scala/reflect/internal/transform/Erasure.scala13
1 files changed, 1 insertions, 12 deletions
diff --git a/src/reflect/scala/reflect/internal/transform/Erasure.scala b/src/reflect/scala/reflect/internal/transform/Erasure.scala
index 59bf51d638..5581c78a3a 100644
--- a/src/reflect/scala/reflect/internal/transform/Erasure.scala
+++ b/src/reflect/scala/reflect/internal/transform/Erasure.scala
@@ -214,9 +214,6 @@ trait Erasure {
specialConstructorErasure(clazz, restpe)
case ExistentialType(tparams, restpe) =>
specialConstructorErasure(clazz, restpe)
- case RefinedType(parents, decls) =>
- specialConstructorErasure(
- clazz, specialScalaErasure.mergeParents(parents))
case mt @ MethodType(params, restpe) =>
MethodType(
cloneSymbolsAndModify(params, specialScalaErasure),
@@ -225,15 +222,7 @@ trait Erasure {
typeRef(pre, clazz, List())
case tp =>
if (!(clazz == ArrayClass || tp.isError))
- // See SI-6556. It seems in some cases the result constructor
- // type of an anonymous class is a different version of the class.
- // This has nothing to do with value classes per se.
- // We simply used a less discriminating transform before, that
- // did not look at the cases in detail.
- // It seems there is a deeper problem here, which needs
- // following up to. But we will not risk regressions
- // in 2.10 because of it.
- devWarning(s"unexpected constructor erasure $tp for $clazz")
+ assert(clazz == ArrayClass || tp.isError, s"!!! unexpected constructor erasure $tp for $clazz")
specialScalaErasure(tp)
}
}