Доступ к методу AST в Scala
Есть ли рефлексивный способ доступа к методам классов AST?
class Clazz {
def hello(a: Int) = (a + 1).toLong
}
val src =
"""
class Clazz {
def hello(a: Int) = (a + 1).toLong
}
"""
Я хочу получить что-то подобное
scala> val a = 100
scala> showRaw(reify((a + 1).toLong).tree)
res2: String = Select(Apply(Select(Select(Select(Select(Select(Select(Ident($line11.$read), newTermName("$iw")), newTermName("$iw")), newTermName("$iw")), newTermName("$iw")), newTermName("a")), newTermName("$plus")), List(Literal(Constant(1)))), newTermName("toLong"))
в следствии.
Я верю, что это будет вселенная времени компиляции.