有没有办法在 AbstractProcessor 的 process 方法中获取 kotlin 委托属性的类型?我想根据我的片段变量生成一些代码。其中大多数是 kotlin 属性,我不知道如何获取该变量的类型。看起来不可能得到,因为 kotlin 会生成这样的东西
class C {
var prop: Type by MyDelegate()
}
// this code is generated by the compiler instead:
class C {
private val prop$delegate = MyDelegate()
var prop: Type
get() = prop$delegate.getValue(this, this::prop)
set(value: Type) = prop$delegate.setValue(this, this::prop, value)
}
当我做
element.enclosedElements.filter {it.kind == ElementKind.FIELD}
我只有像 prop$delegate 这样的代表,它的类型是 Type.ClassType