我正在尝试T
在宏实现中对 Java 类使用静态方法:
def macroImpl[T : c.WeakTypeTag](c: Context): c.Expr[ResultType] = {
import c.universe._
val tpe = weakTypeOf[T]
val someStaticMethod = tpe.declaration(c.universe.newTermName("someStaticMethod")).asMethod
c.Expr[ResultType] { q""" new ResultType {
def myMethod = ${someStaticMethod.name.toTermName}
}"""}
}
这不起作用。当我打印出 的所有成员和声明时tpe
,我想使用的静态方法不存在。如何访问这些静态方法并在准引用中使用它们?
我正在为 scala 2.10.6 使用 2.1.0 版的宏天堂编译器插件。