Это проблема, с которой применяются аннотации. Если бы у вас была аннотация с целью «свойство», ваш код вывел бы их в порядке:
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.PROPERTY)
annotation class ValidComponent
Я полагаю, ваша аннотация вместо этого имеет цель "field", и в этом случае вам придется прыгать через отражение Java, чтобы просмотреть аннотации к вашим свойствам:
this::class.memberProperties
.filter { property ->
val fieldAnnotations = property.javaField?.annotations
fieldAnnotations != null && fieldAnnotations.map { ann -> ann.annotationClass }.contains(ValidComponent::class)
}