Корневые элементы не обязательно являются аннотированными элементами, они корни .Корни обработки аннотаций могут быть отдельными элементами, аннотированными аннотациями, предназначенными для getSupportedAnnotationTypes () , или классами / пакетами, охватывающими набор этих элементов, - API несколько плохо определен, поэтому точный характер корневых элементовявляется расплывчатым.
Ситуация еще более осложняется тем фактом, что Kotlin и Gradle, начиная с последней версии, могут переносить API-интерфейсы процессора аннотаций и предоставлять свои собственные реализации RoundEnvironment
.Эти реализации могут не вести себя должным образом, в соответствии со значениями по умолчанию javac.