diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-12-12 05:44:21 -0800 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-12-12 05:44:21 -0800 |
commit | 312f45d437e48a47f16cb3fe276485adc38345ac (patch) | |
tree | eeac8d1a0cd0361cee347a6a6acafa0fef4103ec /test/files/pos | |
parent | b345b42cac64aa97e3bbcc6f14ef8f08214ab56f (diff) | |
parent | 495b7b873b65b5847ddcde40e4ed92c7119ed448 (diff) | |
download | scala-312f45d437e48a47f16cb3fe276485adc38345ac.tar.gz scala-312f45d437e48a47f16cb3fe276485adc38345ac.tar.bz2 scala-312f45d437e48a47f16cb3fe276485adc38345ac.zip |
Merge pull request #3255 from densh/pr/unliftable-3
Introduce Unliftable for Quasiquotes (take #3)
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/macro-implicit-invalidate-on-error.scala | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/test/files/pos/macro-implicit-invalidate-on-error.scala b/test/files/pos/macro-implicit-invalidate-on-error.scala index 22cd2d34b4..f9756d965f 100644 --- a/test/files/pos/macro-implicit-invalidate-on-error.scala +++ b/test/files/pos/macro-implicit-invalidate-on-error.scala @@ -1,23 +1,20 @@ -package scala.reflect -package api - import scala.language.experimental.macros import scala.reflect.macros.Context -trait Liftable[T] { - def apply(universe: api.Universe, value: T): universe.Tree +trait LegacyLiftable[T] { + def apply(universe: scala.reflect.api.Universe, value: T): universe.Tree } -object Liftable { - implicit def liftCaseClass[T <: Product]: Liftable[T] = macro liftCaseClassImpl[T] +object LegacyLiftable { + implicit def liftCaseClass[T <: Product]: LegacyLiftable[T] = macro liftCaseClassImpl[T] - def liftCaseClassImpl[T: c.WeakTypeTag](c: Context): c.Expr[Liftable[T]] = { + def liftCaseClassImpl[T: c.WeakTypeTag](c: Context): c.Expr[LegacyLiftable[T]] = { import c.universe._ val tpe = weakTypeOf[T] if (!tpe.typeSymbol.asClass.isCaseClass) c.abort(c.enclosingPosition, "denied") val p = List(q"Literal(Constant(1))") - c.Expr[Liftable[T]] { q""" - new scala.reflect.api.Liftable[$tpe] { + c.Expr[LegacyLiftable[T]] { q""" + new LegacyLiftable[$tpe] { def apply(universe: scala.reflect.api.Universe, value: $tpe): universe.Tree = { import universe._ Apply(Select(Ident(TermName("C")), TermName("apply")), List(..$p)) |