diff options
| author | Ignat Beresnev <ignat.beresnev@jetbrains.com> | 2022-06-19 17:30:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-19 17:30:05 +0200 |
| commit | 89fc2494b40624c03a74e01f2f4ec4941bb5314d (patch) | |
| tree | de6a8ae616f2f06e02d3c5b0a0fce20c1b08315a /plugins/base/src/main/kotlin/translators/psi | |
| parent | a11a8dd92fcccff770d6893f27c3546fef17655d (diff) | |
| download | dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.tar.gz dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.tar.bz2 dokka-89fc2494b40624c03a74e01f2f4ec4941bb5314d.zip | |
Fix incorrectly labeling java properties as val/var (#2540)
Fixes #2539
Diffstat (limited to 'plugins/base/src/main/kotlin/translators/psi')
| -rw-r--r-- | plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt index bef86144..f64eb261 100644 --- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt @@ -620,6 +620,12 @@ class DefaultPsiToDocumentableTranslator( private fun parseField(psi: PsiField, getter: DFunction?, setter: DFunction?, inheritedFrom: DRI? = null): DProperty { val dri = DRI.from(psi) + + // non-final java field without accessors should be a var + // setter should be not null when inheriting kotlin vars + val isMutable = !psi.hasModifierProperty("final") + val isVar = (isMutable && getter == null && setter == null) || (getter != null && setter != null) + return DProperty( dri = dri, name = psi.name, @@ -645,7 +651,8 @@ class DefaultPsiToDocumentableTranslator( PropertyContainer.withAll( inheritedFrom?.let { inheritedFrom -> InheritedMember(inheritedFrom.toSourceSetDependent()) }, it.toSourceSetDependent().toAdditionalModifiers(), - annotations.toSourceSetDependent().toAnnotations() + annotations.toSourceSetDependent().toAnnotations(), + takeIf { isVar }?.let { IsVar } ) } ) |
