通用的 case class
case class GroupResult[T](
group: String,
reduction: Seq[T]
)
宏方法
def foo[T] = macro fooImpl[T]
def fooImpl[T: c.WeakTypeTag](c: Context) = {
import c.universe._
val tpe = weakTypeOf[T]
tpe.declarations.collect {
case m: MethodSymbol if m.isCaseAccessor => println(m.returnType)
}
c.literalUnit
}
当我调用
foo[GroupResult[Int]]
时,输出结果为:String
Seq[T]
T没有被应用?我该如何获取已应用的Seq[Int]
?