aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-10-04 06:42:59 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-10-04 06:42:59 +0300
commitbf883d16819791f9ed66fda97560f5e2f02e7506 (patch)
tree35ec02c81757c8044d9671fad9c44b65f9ce9848 /core/src
parentdd432c8283b9c4a4aa98ae79a5fa4cbc07ec63fd (diff)
downloaddokka-bf883d16819791f9ed66fda97560f5e2f02e7506.tar.gz
dokka-bf883d16819791f9ed66fda97560f5e2f02e7506.tar.bz2
dokka-bf883d16819791f9ed66fda97560f5e2f02e7506.zip
Proper GroupNode members relocation condition
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/kotlin/Formats/PackageListService.kt11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/src/main/kotlin/Formats/PackageListService.kt b/core/src/main/kotlin/Formats/PackageListService.kt
index 7b68098e..e675d927 100644
--- a/core/src/main/kotlin/Formats/PackageListService.kt
+++ b/core/src/main/kotlin/Formats/PackageListService.kt
@@ -32,10 +32,13 @@ class DefaultPackageListService @Inject constructor(
node.members.forEach { visit(it, relocated = true) }
}
NodeKind.GroupNode -> {
- //only children of top-level GN records interesting for us, since link to top-level ones should point to GN
- node.members.forEach { it.members.forEach { visit(it, relocated = true) } }
- //record signature of GN as signature of type alias and class merged to GN, so link to it should point to GN
- node.detailOrNull(NodeKind.Signature)?.let { visit(it, relocated = true) }
+ if (node.members.isNotEmpty()) {
+ // Only nodes only has single file is need to be relocated
+ // TypeAliases for example
+ node.origins
+ .filter { it.members.isEmpty() }
+ .forEach { visit(it, relocated = true) }
+ }
}
else -> {
if (nodeKind in NodeKind.classLike || nodeKind in NodeKind.memberLike) {