aboutsummaryrefslogtreecommitdiff
path: root/plugins/base
diff options
context:
space:
mode:
authorvmishenev <vad-mishenev@yandex.ru>2021-09-03 13:58:46 +0300
committervmishenev <vad-mishenev@yandex.ru>2021-09-08 03:51:58 +0300
commit37243ad7a5152d4f0f30bb8f1446d4d5c6ce2094 (patch)
tree8c22472130388c55c525ea24de1b2f2633981c73 /plugins/base
parent88ff6bdfb90c7f2a141c0534f69ebf95080db4ea (diff)
downloaddokka-37243ad7a5152d4f0f30bb8f1446d4d5c6ce2094.tar.gz
dokka-37243ad7a5152d4f0f30bb8f1446d4d5c6ce2094.tar.bz2
dokka-37243ad7a5152d4f0f30bb8f1446d4d5c6ce2094.zip
Fix links of inherited properties, do not generate pages for them
Diffstat (limited to 'plugins/base')
-rw-r--r--plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt3
-rw-r--r--plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt2
-rw-r--r--plugins/base/src/test/kotlin/model/PropertyTest.kt25
3 files changed, 27 insertions, 3 deletions
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
index 3dc2385a..04716e16 100644
--- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
@@ -420,9 +420,8 @@ private class DokkaDescriptorVisitor(
originalDescriptor: PropertyDescriptor,
parent: DRIWithPlatformInfo
): DProperty {
- val dri = parent.dri.copy(callable = Callable.from(originalDescriptor))
+ val (dri, inheritedFrom) = originalDescriptor.createDRI()
val descriptor = originalDescriptor.getConcreteDescriptor()
- val inheritedFrom = descriptor.createDRI().let { (originalDri, _) -> originalDri.takeIf { it != dri } }
val isExpect = descriptor.isExpect
val isActual = descriptor.isActual
diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
index 4b5fc1c0..5494e5e7 100644
--- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
+++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt
@@ -51,7 +51,7 @@ open class DefaultPageCreator(
e.nameAfterClash(), contentForEnumEntry(e), setOf(e.dri), e,
e.classlikes.renameClashingDocumentable().map(::pageForClasslike) +
e.filteredFunctions.renameClashingDocumentable().map(::pageForFunction) +
- e.properties.renameClashingDocumentable().mapNotNull(::pageForProperty)
+ e.filteredProperties.renameClashingDocumentable().mapNotNull(::pageForProperty)
)
open fun pageForClasslike(c: DClasslike): ClasslikePageNode {
diff --git a/plugins/base/src/test/kotlin/model/PropertyTest.kt b/plugins/base/src/test/kotlin/model/PropertyTest.kt
index 8474116f..17f526f3 100644
--- a/plugins/base/src/test/kotlin/model/PropertyTest.kt
+++ b/plugins/base/src/test/kotlin/model/PropertyTest.kt
@@ -121,6 +121,7 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
) {
with((this / "property").cast<DPackage>()) {
with((this / "Foo" / "property").cast<DProperty>()) {
+ dri.classNames equals "Foo"
name equals "property"
children counts 0
with(getter.assertNotNull("Getter")) {
@@ -128,6 +129,30 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
}
}
with((this / "Bar" / "property").cast<DProperty>()) {
+ dri.classNames equals "Bar"
+ name equals "property"
+ children counts 0
+ with(getter.assertNotNull("Getter")) {
+ type.name equals "Int"
+ }
+ }
+ }
+ }
+ }
+
+ @Test
+ fun propertyInherited() {
+ inlineModelTest(
+ """
+ |open class Foo() {
+ | open val property: Int get() = 0
+ |}
+ |class Bar(): Foo()
+ """
+ ) {
+ with((this / "property").cast<DPackage>()) {
+ with((this / "Bar" / "property").cast<DProperty>()) {
+ dri.classNames equals "Foo"
name equals "property"
children counts 0
with(getter.assertNotNull("Getter")) {