From ee5644056a8ee40de66ba478eef3687c547dc570 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 29 Nov 2011 12:06:30 +0000 Subject: Attempt to fix #5230. Review by burmako. --- src/compiler/scala/tools/nsc/transform/LiftCode.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/transform/LiftCode.scala b/src/compiler/scala/tools/nsc/transform/LiftCode.scala index b395f9095e..40ce7128c8 100644 --- a/src/compiler/scala/tools/nsc/transform/LiftCode.scala +++ b/src/compiler/scala/tools/nsc/transform/LiftCode.scala @@ -472,8 +472,10 @@ abstract class LiftCode extends Transform with TypingTransformers { reifyFree(tree) case Ident(_) if !(boundSyms contains tree.symbol) => reifyFree(tree) - case TypeTree() if (tree.tpe != null) => - mirrorCall("TypeTree", reifyType(tree.tpe)) + case tt: TypeTree if (tt.tpe != null) => + if (!(boundSyms exists (tt.tpe contains _))) mirrorCall("TypeTree", reifyType(tt.tpe)) + else if (tt.original != null) reify(tt.original) + else TypeTree() case _ => if (tree.isDef) boundSyms += tree.symbol -- cgit v1.2.3