我正在尝试为案例类的所有访问器生成镜头。理想情况下,我想获得类似的东西:
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使用伴随对象上的宏注释来为每个访问者生成一个方法。但是,我不知道如何获取每个访问器的类型和案例类的类型。