aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/DokkaGenerator.kt
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/kotlin/DokkaGenerator.kt')
-rw-r--r--core/src/main/kotlin/DokkaGenerator.kt41
1 files changed, 5 insertions, 36 deletions
diff --git a/core/src/main/kotlin/DokkaGenerator.kt b/core/src/main/kotlin/DokkaGenerator.kt
index 9616b013..053b4cb6 100644
--- a/core/src/main/kotlin/DokkaGenerator.kt
+++ b/core/src/main/kotlin/DokkaGenerator.kt
@@ -77,8 +77,7 @@ class DokkaGenerator(
fun createDocumentationModels(
platforms: Map<PlatformData, EnvironmentAndFacade>,
context: DokkaContext
- ) = platforms.map { (pdata, _) -> translateDescriptors(pdata, context) } +
- platforms.map { (pdata, _) -> translatePsi(pdata, context) }
+ ) = platforms.flatMap { (pdata, _) -> translateSources(pdata, context) }
fun transformDocumentationModelBeforeMerge(
modulesFromPlatforms: List<DModule>,
@@ -129,40 +128,10 @@ class DokkaGenerator(
EnvironmentAndFacade(environment, facade)
}
- private fun translateDescriptors(platformData: PlatformData, context: DokkaContext): DModule {
- val (environment, facade) = context.platforms.getValue(platformData)
-
- val packageFragments = environment.getSourceFiles().asSequence()
- .map { it.packageFqName }
- .distinct()
- .mapNotNull { facade.resolveSession.getPackageFragment(it) }
- .toList()
-
- return context.single(CoreExtensions.descriptorToDocumentableTranslator)
- .invoke(platformData.name, packageFragments, platformData)
- }
-
- private fun translatePsi(platformData: PlatformData, context: DokkaContext): DModule {
- val (environment, _) = context.platforms.getValue(platformData)
-
- val sourceRoots = environment.configuration.get(CLIConfigurationKeys.CONTENT_ROOTS)
- ?.filterIsInstance<JavaSourceRoot>()
- ?.map { it.file }
- ?: listOf()
- val localFileSystem = VirtualFileManager.getInstance().getFileSystem("file")
-
- val psiFiles = sourceRoots.map { sourceRoot ->
- sourceRoot.absoluteFile.walkTopDown().mapNotNull {
- localFileSystem.findFileByPath(it.path)?.let { vFile ->
- PsiManager.getInstance(environment.project).findFile(vFile) as? PsiJavaFile
- }
- }.toList()
- }.flatten()
-
- return context.single(CoreExtensions.psiToDocumentableTranslator)
- .invoke(platformData.name, psiFiles, platformData, context)
-
- }
+ private fun translateSources(platformData: PlatformData, context: DokkaContext) =
+ context[CoreExtensions.sourceToDocumentableTranslator].map {
+ it.invoke(platformData, context)
+ }
class DokkaMessageCollector(private val logger: DokkaLogger) : MessageCollector {
override fun clear() {