aboutsummaryrefslogtreecommitdiff
path: root/src/Model/DocumentationReference.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/DocumentationReference.kt')
-rw-r--r--src/Model/DocumentationReference.kt61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/Model/DocumentationReference.kt b/src/Model/DocumentationReference.kt
deleted file mode 100644
index 898c92d7..00000000
--- a/src/Model/DocumentationReference.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-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,
- Member,
- InheritedMember,
- Detail,
- Link,
- HiddenLink,
- Extension,
- Inheritor,
- Superclass,
- Override,
- Annotation,
- Deprecation,
- TopLevelPage
- }
-}
-
-class PendingDocumentationReference(val lazyNodeFrom: () -> DocumentationNode?,
- val lazyNodeTo: () -> DocumentationNode?,
- val kind: DocumentationReference.Kind) {
- fun resolve() {
- val fromNode = lazyNodeFrom()
- val toNode = lazyNodeTo()
- if (fromNode != null && toNode != null) {
- fromNode.addReferenceTo(toNode, kind)
- }
- }
-}
-
-@Singleton
-class NodeReferenceGraph() {
- private val nodeMap = hashMapOf<String, DocumentationNode>()
- val references = arrayListOf<PendingDocumentationReference>()
-
- fun register(signature: String, node: DocumentationNode) {
- nodeMap.put(signature, node)
- }
-
- fun link(fromNode: DocumentationNode, toSignature: String, kind: DocumentationReference.Kind) {
- references.add(PendingDocumentationReference({ -> fromNode}, { -> nodeMap[toSignature]}, kind))
- }
-
- fun link(fromSignature: String, toNode: DocumentationNode, kind: DocumentationReference.Kind) {
- references.add(PendingDocumentationReference({ -> nodeMap[fromSignature]}, { -> toNode}, kind))
- }
-
- fun link(fromSignature: String, toSignature: String, kind: DocumentationReference.Kind) {
- references.add(PendingDocumentationReference({ -> nodeMap[fromSignature]}, { -> nodeMap[toSignature]}, kind))
- }
-
- fun lookup(signature: String): DocumentationNode? = nodeMap[signature]
-
- fun resolveReferences() {
- references.forEach { it.resolve() }
- }
-}