diff options
author | Oleg Yukhnevich <whyoleg@gmail.com> | 2023-11-22 09:53:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-22 09:53:40 +0200 |
commit | 04623bff02cf5486ca054f986b4b05818800f554 (patch) | |
tree | f35cc829b8f33afe82e73b0476f2030adc623188 /dokka-subprojects/analysis-java-psi/src/main/kotlin/org | |
parent | 6fbc2221ff309995c605161b51d4d64cbabddd51 (diff) | |
download | dokka-04623bff02cf5486ca054f986b4b05818800f554.tar.gz dokka-04623bff02cf5486ca054f986b4b05818800f554.tar.bz2 dokka-04623bff02cf5486ca054f986b4b05818800f554.zip |
Support `inner` modifier for java non-`static` classes (#3347)
Diffstat (limited to 'dokka-subprojects/analysis-java-psi/src/main/kotlin/org')
-rw-r--r-- | dokka-subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dokka-subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt b/dokka-subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt index b8dabe42..9cfa2bfe 100644 --- a/dokka-subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt +++ b/dokka-subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt @@ -236,6 +236,18 @@ internal class DokkaPsiParser( val implementedInterfacesExtra = ImplementedInterfaces(ancestry.allImplementedInterfaces().toSourceSetDependent()) + // used only for class and enum + val innerModifierExtra = when { + // top level java classes - no `inner` + psi.containingClass == null -> null + // java `static class` = kotlin `class` + psi.hasModifier(JvmModifier.STATIC) -> null + // java `class` = kotlin `inner class` + else -> setOf( + ExtraModifiers.KotlinOnlyModifiers.Inner + ).toSourceSetDependent().toAdditionalModifiers() + } + when { isAnnotationType -> DAnnotation( @@ -295,6 +307,7 @@ internal class DokkaPsiParser( isExpectActual = false, extra = PropertyContainer.withAll( implementedInterfacesExtra, + innerModifierExtra, annotations.toList().toListOfAnnotations().toSourceSetDependent() .toAnnotations() ) @@ -341,6 +354,7 @@ internal class DokkaPsiParser( isExpectActual = false, extra = PropertyContainer.withAll( implementedInterfacesExtra, + innerModifierExtra, annotations.toList().toListOfAnnotations().toSourceSetDependent() .toAnnotations(), ancestry.exceptionInSupertypesOrNull() |