Я использую Автосервис для обработки некоторых аннотаций, но я не могу определить, имеет ли класс Kotlin «внутренний» модификатор видимости из API процессора аннотаций.
Я использую KAPT и Kotlin в процессоре. Зависимости:
implementation group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: "1.3.0-rc-190"
implementation files("${System.properties['java.home']}/../lib/tools.jar")
implementation 'com.squareup:kotlinpoet:1.0.0-RC2'
implementation "com.google.auto.service:auto-service:1.0-rc4"
kapt "com.google.auto.service:auto-service:1.0-rc4"
Образец класса:
@MyAnnotation
internal class Car
Я получил TypeElement этого внутри метода процесса
override fun process(annotations: MutableSet<out TypeElement>, roundEnv: RoundEnvironment): Boolean {
roundEnv.getElementsAnnotatedWith(MyAnnotation::class.java).forEach { classElement ->
if (classElement.kind != ElementKind.CLASS) {
error(...)
return true
}
classElement as TypeElement
Но я не знаю, как определить, имеет ли класс модификатор «internal».
Если я сделаю: classElement.modifiers
Я получу это:
Есть идеи, как определить «внутренний» модификатор?