blob: 61d6345f16d59ca8ca74ddd16fc1187701de25c4 (
plain) (
tree)
|
|
import scala.reflect.macros.Context
object Helper {
def unapplySeq[T](x: List[T]): Option[Seq[T]] = List.unapplySeq[T](x)
}
object Macros {
def impl[T: c.WeakTypeTag](c: Context)(x: c.Expr[List[T]]) = {
c.universe.reify(Helper.unapplySeq(x.splice))
}
object UnapplyMacro {
def unapplySeq[T](x: List[T]): Option[Seq[T]] = macro impl[T]
}
}
|