如何在case类的伴随对象上使用宏注释,以根据每个访问者的类型为每个访问者生成val

时间:2014-05-17 13:52:09

标签: scala annotations accessor scala-macros

我正在尝试为案例类的所有访问器生成镜头。理想情况下,我想获得类似的东西:

case class Person(_name: String, _age: Int)

@Lenses
object Person

这将生成以下伴随对象:

object Person {
  val name: Lens[Person, String] = // some implementation
  val age: Lens[Person, Int] =     // some implementation
}

我发现这个project使用伴随对象上的宏注释来为每个访问者生成一个方法。但是,我不知道如何获取每个访问器的类型和案例类的类型。

0 个答案:

没有答案