diff options
author | Simon Ogorodnik <Simon.Ogorodnik@jetbrains.com> | 2018-10-04 06:42:59 +0300 |
---|---|---|
committer | Simon Ogorodnik <Simon.Ogorodnik@jetbrains.com> | 2018-10-04 06:42:59 +0300 |
commit | bf883d16819791f9ed66fda97560f5e2f02e7506 (patch) | |
tree | 35ec02c81757c8044d9671fad9c44b65f9ce9848 /core/src | |
parent | dd432c8283b9c4a4aa98ae79a5fa4cbc07ec63fd (diff) | |
download | dokka-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.kt | 11 |
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) { |