diff options
author | Ignat Beresnev <ignat.beresnev@jetbrains.com> | 2022-05-31 15:34:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-31 15:34:37 +0200 |
commit | 623cf222ca2ac5e8b9628af5927956ecb6d44d1e (patch) | |
tree | a995477a569dd27b99d24bd901bdcc024f4f7dd0 /plugins/kotlin-as-java/src/test/kotlin | |
parent | 8913c97b25ebf5061ea367129544d7e5186a738d (diff) | |
download | dokka-623cf222ca2ac5e8b9628af5927956ecb6d44d1e.tar.gz dokka-623cf222ca2ac5e8b9628af5927956ecb6d44d1e.tar.bz2 dokka-623cf222ca2ac5e8b9628af5927956ecb6d44d1e.zip |
Fix gathering inherited properties (#2481)
* Fix gathering inherited properties in PSI
* Refacotr KaJ transformer. Change wrapping TagWrapper for getters and setters.
* Add logic to merge inherited properties in kotlin from java sources.
* Remove getters and setters from JvmField properties for DObject, DEnum, DInterface in KaJ.
* Unify InheritedMember DRI logic.
* Fix gathering docs obtained from inheriting java sources in descriptors
* Apply requested changes.
* Resolve rebase conflicts
* Use 221 for qodana analysis
* Move accessors generation into DefaultDescriptorToDocumentableTranslator
* Fix special "is" case for accessors and refactor logic in general
* Remove ambiguous import after rebasing
* Remove unused imports and format code
* Apply review comment suggestions
* Preserve previously lost accessor lookalikes
* Extract a variable and correct a typo
Co-authored-by: Andrzej Ratajczak <andrzej.ratajczak98@gmail.com>
Diffstat (limited to 'plugins/kotlin-as-java/src/test/kotlin')
-rw-r--r-- | plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt b/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt index 2f490421..99ea017b 100644 --- a/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt +++ b/plugins/kotlin-as-java/src/test/kotlin/JvmFieldTest.kt @@ -5,6 +5,7 @@ import org.jetbrains.dokka.model.JavaVisibility import org.junit.jupiter.api.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull +import kotlin.test.assertNull class JvmFieldTest : BaseAbstractTest() { val configuration = dokkaConfiguration { @@ -78,4 +79,31 @@ class JvmFieldTest : BaseAbstractTest() { } } } -}
\ No newline at end of file + + @Test + fun `object jvmfield property should have no getters`(){ + testInline( + """ + |/src/main/kotlin/kotlinAsJavaPlugin/sample.kt + |package kotlinAsJavaPlugin + |object MyObject { + | @JvmField + | val property: String = TODO() + |} + """.trimMargin(), + configuration, + ) { + documentablesTransformationStage = { module -> + val classLike = module.packages.flatMap { it.classlikes }.first() + val property = classLike.properties.singleOrNull { it.name == "property" } + assertNotNull(property) + assertEquals( + emptyList(), + classLike.functions.map { it.name } + ) + assertNull(property.getter) + assertNull(property.setter) + } + } + } +} |