Допустим, у меня есть класс данных:
data class AnotherDataClass(
val property: String,
@KYC
val annotatedProperty: String
)
И я хочу получить все поля с определенной аннотацией. Я делаю это:
anotherDataClass::class.memberProperties.filter {
it.findAnnotation<KYC>() != null
}
Работает нормально.
Что если я хочу получить все поля из классов, определенных в моем классе, содержащих эту переменную, как в примере ниже?
data class DataClass(
val other: String,
@KYC
val otherAnnotated: String
)
data class AnotherDataClass(
val property: String,
@KYC
val annotatedProperty: String,
val dataClass: DataClass
)
Можно ли рекурсивно проверить аннотации?