Я пытаюсь вызвать this.asType (). AsTypeName (). IsNullable isNullable - работает некорректно.
Я нашел решение, но оно выглядит не очень хорошо:
fun Element.getTypeNameWithRealNullable(): TypeName {
val annotation = this.getAnnotationMirror(Nullable::class)
return annotation?.let {
this.asType().asTypeName().copy(nullable = true)
} ?: this.asType().asTypeName().copy(nullable = false)
}
fun <T : Annotation> Element.getAnnotationMirror(type: KClass<T>): AnnotationMirror? {
return this.getAnnotation(type.java.name)
}
Есть ли у kotlinpoet лучший способ получить правильный isNullable?