Я пытаюсь использовать статический метод в классе Java T
в реализации макроса:
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
, статических методов, которые я хочу использовать, там нет. Как мне получить доступ к этим статическим методам и использовать их в квазицитатах?
Я использую плагин компилятора macro-paradise версии 2.1.0 для scala 2.10.6.
tpe.companion
, но я использую 2.10 - person mushroom   schedule 28.12.2015