diff options
Diffstat (limited to 'src/library/scala/reflect/makro/Context.scala')
-rw-r--r-- | src/library/scala/reflect/makro/Context.scala | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/library/scala/reflect/makro/Context.scala b/src/library/scala/reflect/makro/Context.scala index b8fb0dcce5..b0e15fd572 100644 --- a/src/library/scala/reflect/makro/Context.scala +++ b/src/library/scala/reflect/makro/Context.scala @@ -28,17 +28,6 @@ trait Context extends Aliases val prefix: Expr[PrefixType] /** Alias to the underlying mirror's reify */ - def reify[T](expr: T): Expr[T] = macro Context.reify[T] -} - -object Context { - def reify[T](cc: Context{ type PrefixType = Context })(expr: cc.Expr[T]): cc.Expr[cc.prefix.value.Expr[T]] = { - import cc.mirror._ - import scala.reflect.makro.internal._ - // [Eugene] how do I typecheck this without undergoing this tiresome (and, in general, incorrect) procedure? - val prefix: Tree = Select(cc.prefix.tree, newTermName("mirror")) - val prefixTpe = cc.typeCheck(TypeApply(Select(prefix, newTermName("asInstanceOf")), List(SingletonTypeTree(prefix)))).tpe - prefix setType prefixTpe - cc.Expr(cc.materializeExpr(prefix, expr.tree)) - } + // implementation is magically hardwired to `scala.reflect.reify.Taggers` + def reify[T](expr: T): Expr[T] = macro ??? } |