aboutsummaryrefslogtreecommitdiff
path: root/src/Kotlin
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2015-10-28 15:23:50 +0100
committerDmitry Jemerov <yole@jetbrains.com>2015-10-29 11:57:24 +0100
commit36f4b916bc956d8f5c9f6b55d295ea9a69c9f0bc (patch)
treecab9e34dec64cce5cea97bbf9f1bd5e276ac42be /src/Kotlin
parent78455025203b911c855f7cfc0d75270dd7351199 (diff)
downloaddokka-36f4b916bc956d8f5c9f6b55d295ea9a69c9f0bc.tar.gz
dokka-36f4b916bc956d8f5c9f6b55d295ea9a69c9f0bc.tar.bz2
dokka-36f4b916bc956d8f5c9f6b55d295ea9a69c9f0bc.zip
show inherited members in the list of class members
Diffstat (limited to 'src/Kotlin')
-rw-r--r--src/Kotlin/DocumentationBuilder.kt21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/Kotlin/DocumentationBuilder.kt b/src/Kotlin/DocumentationBuilder.kt
index ea54f4d3..08a74172 100644
--- a/src/Kotlin/DocumentationBuilder.kt
+++ b/src/Kotlin/DocumentationBuilder.kt
@@ -404,8 +404,18 @@ class DocumentationBuilder(val resolutionFacade: ResolutionFacade,
}
- fun DocumentationNode.appendChildren(descriptors: Iterable<DeclarationDescriptor>, kind: DocumentationReference.Kind) {
- descriptors.forEach { descriptor -> appendChild(descriptor, kind) }
+ fun DocumentationNode.appendMembers(descriptors: Iterable<DeclarationDescriptor>) {
+ descriptors.forEach { descriptor ->
+ if (descriptor is CallableMemberDescriptor && descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) {
+ val baseDescriptor = descriptor.overriddenDescriptors.firstOrNull()
+ if (baseDescriptor != null) {
+ link(this, baseDescriptor, DocumentationReference.Kind.InheritedMember)
+ }
+ }
+ else {
+ appendChild(descriptor, DocumentationReference.Kind.Member)
+ }
+ }
}
fun DocumentationNode.appendInPageChildren(descriptors: Iterable<DeclarationDescriptor>, kind: DocumentationReference.Kind) {
@@ -483,14 +493,13 @@ class DocumentationBuilder(val resolutionFacade: ResolutionFacade,
constructors.filter { it.valueParameters.size > 0 }
else
constructors
- node.appendChildren(constructorsToDocument, DocumentationReference.Kind.Member)
+ node.appendMembers(constructorsToDocument)
}
val members = defaultType.memberScope.getAllDescriptors().filter { it != companionObjectDescriptor }
- node.appendChildren(members, DocumentationReference.Kind.Member)
+ node.appendMembers(members)
val companionObjectDescriptor = companionObjectDescriptor
if (companionObjectDescriptor != null) {
- node.appendChildren(companionObjectDescriptor.defaultType.memberScope.getAllDescriptors(),
- DocumentationReference.Kind.Member)
+ node.appendMembers(companionObjectDescriptor.defaultType.memberScope.getAllDescriptors())
}
node.appendAnnotations(this)
node.appendModifiers(this)