我想从声明的注释中的静态字段中获取值。例子:
@TestAnnotation
const val MY_CUSTOM_FIELD = "test123"
我想获得“test123”作为价值。
到目前为止,我可以这样获得名称和种类Element
:
for (element: Element in environment?.getElementsAnnotatedWith(TestAnnotation::class.java)!!) {
if (element.kind != ElementKind.FIELD) {
messager?.error("@TestAnnotation must be applied to field")
return true
}
val typeMirror = element.asType()
messager?.error(elements?.getName(element.simpleName).toString()) // this prints MY_CUSTOM_FIELD
messager?.error(typeMirror.toString()) // this prints java.lang.String
}
是否有可能以某种方式获得“test123”?