From 84ea5c68420a75c7b8401000dbe6dbf3ff2cd6d0 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 4 Nov 2015 16:26:07 +0100 Subject: @Inject all the things --- src/Model/DocumentationReference.kt | 3 +++ src/Model/PackageDocs.kt | 18 +++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'src/Model') diff --git a/src/Model/DocumentationReference.kt b/src/Model/DocumentationReference.kt index 79cec2f3..898c92d7 100644 --- a/src/Model/DocumentationReference.kt +++ b/src/Model/DocumentationReference.kt @@ -1,5 +1,7 @@ package org.jetbrains.dokka +import com.google.inject.Singleton + public data class DocumentationReference(val from: DocumentationNode, val to: DocumentationNode, val kind: DocumentationReference.Kind) { public enum class Kind { Owner, @@ -30,6 +32,7 @@ class PendingDocumentationReference(val lazyNodeFrom: () -> DocumentationNode?, } } +@Singleton class NodeReferenceGraph() { private val nodeMap = hashMapOf() val references = arrayListOf() diff --git a/src/Model/PackageDocs.kt b/src/Model/PackageDocs.kt index a1cfddf9..044c73d8 100644 --- a/src/Model/PackageDocs.kt +++ b/src/Model/PackageDocs.kt @@ -1,19 +1,23 @@ package org.jetbrains.dokka +import com.google.inject.Inject +import com.google.inject.Singleton import org.intellij.markdown.MarkdownElementTypes import org.intellij.markdown.MarkdownTokenTypes -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor import java.io.File -public class PackageDocs(val linkResolver: DeclarationLinkResolver?, - val linkResolveContext: DeclarationDescriptor?, - val logger: DokkaLogger) { +@Singleton +public class PackageDocs + @Inject constructor(val linkResolver: DeclarationLinkResolver?, + val logger: DokkaLogger) +{ public val moduleContent: MutableContent = MutableContent() private val _packageContent: MutableMap = hashMapOf() public val packageContent: Map get() = _packageContent - fun parse(fileName: String) { + fun parse(fileName: String, linkResolveContext: LazyPackageDescriptor?) { val file = File(fileName) if (file.exists()) { val text = file.readText() @@ -26,7 +30,7 @@ public class PackageDocs(val linkResolver: DeclarationLinkResolver?, targetContent = findTargetContent(headingText.trimStart()) } } else { - buildContentTo(it, targetContent, { resolveContentLink(it) }) + buildContentTo(it, targetContent, { resolveContentLink(it, linkResolveContext) }) } } } else { @@ -47,7 +51,7 @@ public class PackageDocs(val linkResolver: DeclarationLinkResolver?, private fun findOrCreatePackageContent(packageName: String) = _packageContent.getOrPut(packageName) { -> MutableContent() } - private fun resolveContentLink(href: String): ContentBlock { + private fun resolveContentLink(href: String, linkResolveContext: LazyPackageDescriptor?): ContentBlock { if (linkResolveContext != null && linkResolver != null) { return linkResolver.resolveContentLink(linkResolveContext, href) } -- cgit