我正在关注Kotlin和KotlinPoet 文档中的 Hello World of Annotation Processing,并尝试为 Kotlin 实现一个通用构建器。我想一般为带注释的数据类中的每个字段创建一个方法,并为其参数提供与字段相同的名称和类型。问题是,鉴于我拥有的实例,我无法找到该字段的类型。这是我到目前为止所管理的:javax.lang.model.element.Element
fieldsIn(klass.enclosedElements)
.forEach {
classBuilder
.addProperty(PropertySpec
.builder(it.toString(), String::class, KModifier.INTERNAL)
.mutable(true)
.initializer("\"\"")
.build())
classBuilder
.addFunction(FunSpec
.builder(it.toString())
.addParameter(ParameterSpec
.builder(
it.toString(),
it.?) // what to use here?
.build())
.build())
}
如何找到字段的类型?我在文档中读到您应该使用方法asType()
,但这会返回一个TypeMirror
. 我真的不知道如何从这里继续。欢迎任何建议。