Jul*_*ers 2 annotations scala scala-macros
当注释的参数是常量时,我获得了成功,例如:
@Annotation(2)
class AnnotatedClass
Run Code Online (Sandbox Code Playgroud)
因为我可以通过以下方式获取宏中的值impl:
c.prefix.tree match {
case Apply(_, List(Literal(Constant(x)))) => x.toInt
}
Run Code Online (Sandbox Code Playgroud)
但是当注释的参数不是常数时,我很难过,比如:
object Obj {val n = 2}
@Annotation(Obj.n)
class AnnotatedClass
Run Code Online (Sandbox Code Playgroud)
在假开始类似这样的问题,我可以匹配c.prefix.tree一次拉出名称Obj和n,但我如何获得的价值Obj.n?
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |