summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-02-14 11:06:01 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-14 11:06:32 -0800
commit5984461227c70dd48d9c87c6e5afe0cf8c58f8f1 (patch)
tree8af869c3c32a5b563c85d41539954986c63c5a1d /src
parent33fc68171105bb8d884219381c220076c5651316 (diff)
downloadscala-5984461227c70dd48d9c87c6e5afe0cf8c58f8f1.tar.gz
scala-5984461227c70dd48d9c87c6e5afe0cf8c58f8f1.tar.bz2
scala-5984461227c70dd48d9c87c6e5afe0cf8c58f8f1.zip
SI-8177 tidy up in type reification
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/reflect/reify/codegen/GenTypes.scala4
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala2
2 files changed, 2 insertions, 4 deletions
diff --git a/src/compiler/scala/reflect/reify/codegen/GenTypes.scala b/src/compiler/scala/reflect/reify/codegen/GenTypes.scala
index 3e2acc28e5..a90a3a338b 100644
--- a/src/compiler/scala/reflect/reify/codegen/GenTypes.scala
+++ b/src/compiler/scala/reflect/reify/codegen/GenTypes.scala
@@ -55,9 +55,7 @@ trait GenTypes {
case tpe @ ConstantType(value) =>
mirrorFactoryCall(nme.ConstantType, reifyProduct(value))
case tpe @ TypeRef(pre, sym, args) =>
- // TODO: remove special case!!! for now, as we can't reify these symbols, let's hope dealias gets us out of this bind...
- if (pre.typeSymbol.isAnonOrRefinementClass && (tpe ne tpe.dealias)) reifyType(tpe.dealias)
- else reifyProduct(tpe)
+ reifyProduct(tpe)
case tpe @ TypeBounds(lo, hi) =>
reifyProduct(tpe)
case tpe @ NullaryMethodType(restpe) =>
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index 27ec882549..b2e36a2732 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -1143,7 +1143,7 @@ trait Types
/** A class for this-types of the form <sym>.this.type
*/
abstract case class ThisType(sym: Symbol) extends SingletonType with ThisTypeApi {
- if (!sym.isClass) {
+ if (!sym.isClass && !sym.isFreeType) {
// SI-6640 allow StubSymbols to reveal what's missing from the classpath before we trip the assertion.
sym.failIfStub()
abort(s"ThisType($sym) for sym which is not a class")