aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Model
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2019-03-13 16:30:07 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2019-03-13 18:56:18 +0300
commit69eefa767ccf692297cbdb9dc44240a4fa67aa3c (patch)
treee3004b0e7549b1d2c5ec0613650ff274cc3c61b5 /core/src/main/kotlin/Model
parent730a56645ebac9bc8acde2f2179d86d330b584b0 (diff)
downloaddokka-69eefa767ccf692297cbdb9dc44240a4fa67aa3c.tar.gz
dokka-69eefa767ccf692297cbdb9dc44240a4fa67aa3c.tar.bz2
dokka-69eefa767ccf692297cbdb9dc44240a4fa67aa3c.zip
Fix nullability annotations in javadoc
#446 fixed
Diffstat (limited to 'core/src/main/kotlin/Model')
-rw-r--r--core/src/main/kotlin/Model/DocumentationNode.kt23
1 files changed, 13 insertions, 10 deletions
diff --git a/core/src/main/kotlin/Model/DocumentationNode.kt b/core/src/main/kotlin/Model/DocumentationNode.kt
index a3388031..ad7801f2 100644
--- a/core/src/main/kotlin/Model/DocumentationNode.kt
+++ b/core/src/main/kotlin/Model/DocumentationNode.kt
@@ -179,17 +179,20 @@ val DocumentationNode.path: List<DocumentationNode>
}
fun findOrCreatePackageNode(module: DocumentationNode?, packageName: String, packageContent: Map<String, Content>, refGraph: NodeReferenceGraph): DocumentationNode {
- val existingNode = refGraph.lookup(packageName)
- if (existingNode != null) {
- return existingNode
- }
- val newNode = DocumentationNode(packageName,
+ val node = refGraph.lookup(packageName) ?: run {
+ val newNode = DocumentationNode(
+ packageName,
packageContent.getOrElse(packageName) { Content.Empty },
- NodeKind.Package)
+ NodeKind.Package
+ )
- refGraph.register(packageName, newNode)
- module?.append(newNode, RefKind.Member)
- return newNode
+ refGraph.register(packageName, newNode)
+ newNode
+ }
+ if (module != null && node !in module.members) {
+ module.append(node, RefKind.Member)
+ }
+ return node
}
fun DocumentationNode.append(child: DocumentationNode, kind: RefKind) {
@@ -215,7 +218,7 @@ fun DocumentationNode.qualifiedName(): String {
} else if (kind == NodeKind.Package) {
return name
}
- return path.drop(1).map { it.name }.filter { it.length > 0 }.joinToString(".")
+ return path.dropWhile { it.kind == NodeKind.Module }.map { it.name }.filter { it.isNotEmpty() }.joinToString(".")
}
fun DocumentationNode.simpleName() = name.substringAfterLast('.')