aboutsummaryrefslogtreecommitdiff
path: root/src/Kotlin/DocumentationBuilder.kt
diff options
context:
space:
mode:
authorDmitry Jemerov <yole@jetbrains.com>2015-02-13 12:38:32 +0100
committerDmitry Jemerov <yole@jetbrains.com>2015-02-13 12:38:32 +0100
commit4a018fa175bee9e7223232cbaf6365c81c540239 (patch)
treee277a18871531336c026e2d83adc163d398d3f42 /src/Kotlin/DocumentationBuilder.kt
parentba58510ffba0be044fa13214e38d3fe24186b804 (diff)
downloaddokka-4a018fa175bee9e7223232cbaf6365c81c540239.tar.gz
dokka-4a018fa175bee9e7223232cbaf6365c81c540239.tar.bz2
dokka-4a018fa175bee9e7223232cbaf6365c81c540239.zip
allow multiple builders to provide package nodes; move some kotlin-independent logic to DocumentationNode
Diffstat (limited to 'src/Kotlin/DocumentationBuilder.kt')
-rw-r--r--src/Kotlin/DocumentationBuilder.kt13
1 files changed, 1 insertions, 12 deletions
diff --git a/src/Kotlin/DocumentationBuilder.kt b/src/Kotlin/DocumentationBuilder.kt
index f1be8a50..068f251a 100644
--- a/src/Kotlin/DocumentationBuilder.kt
+++ b/src/Kotlin/DocumentationBuilder.kt
@@ -38,7 +38,6 @@ class DocumentationBuilder(val session: ResolveSession, val options: Documentati
val descriptorToNode = hashMapOf<DeclarationDescriptor, DocumentationNode>()
val nodeToDescriptor = hashMapOf<DocumentationNode, DeclarationDescriptor>()
val links = hashMapOf<DocumentationNode, DeclarationDescriptor>()
- val packages = hashMapOf<FqName, DocumentationNode>()
fun parseDocumentation(descriptor: DeclarationDescriptor): Content {
val kdoc = KDocFinder.findKDoc(descriptor)
@@ -119,15 +118,6 @@ class DocumentationBuilder(val session: ResolveSession, val options: Documentati
return this
}
- fun DocumentationNode.append(child: DocumentationNode, kind: DocumentationReference.Kind) {
- addReferenceTo(child, kind)
- when (kind) {
- DocumentationReference.Kind.Detail -> child.addReferenceTo(this, DocumentationReference.Kind.Owner)
- DocumentationReference.Kind.Member -> child.addReferenceTo(this, DocumentationReference.Kind.Owner)
- DocumentationReference.Kind.Owner -> child.addReferenceTo(this, DocumentationReference.Kind.Member)
- }
- }
-
fun DocumentationNode.appendModality(descriptor: MemberDescriptor) {
var modality = descriptor.getModality()
if (modality == Modality.OPEN) {
@@ -269,13 +259,12 @@ class DocumentationBuilder(val session: ResolveSession, val options: Documentati
}
for ((packageName, declarations) in descriptors) {
logger.info(" package $packageName: ${declarations.count()} declarations")
- val packageNode = DocumentationNode(packageName, Content.Empty, Kind.Package)
+ val packageNode = findOrCreatePackageNode(packageName)
val externalClassNodes = hashMapOf<FqName, DocumentationNode>()
declarations.forEach { descriptor ->
val parent = packageNode.getParentForPackageMember(descriptor, externalClassNodes)
parent.appendChild(descriptor, DocumentationReference.Kind.Member)
}
- append(packageNode, DocumentationReference.Kind.Member)
}
}