diff options
| author | Ilya Ryzhenkov <orangy@jetbrains.com> | 2014-07-14 15:00:33 +0400 |
|---|---|---|
| committer | Ilya Ryzhenkov <orangy@jetbrains.com> | 2014-07-14 15:00:33 +0400 |
| commit | a0bfdbd8cc365cb11c26e81ee7587f0ec25df79d (patch) | |
| tree | c68610d2003d2a4712b3fbc95561ac20390a161d /src/Generation | |
| parent | 6168541bd5bb141c40a1e2a909afa84441b35ed5 (diff) | |
| download | dokka-a0bfdbd8cc365cb11c26e81ee7587f0ec25df79d.tar.gz dokka-a0bfdbd8cc365cb11c26e81ee7587f0ec25df79d.tar.bz2 dokka-a0bfdbd8cc365cb11c26e81ee7587f0ec25df79d.zip | |
Location services, formatting services, initial self-documentation output.
Diffstat (limited to 'src/Generation')
| -rw-r--r-- | src/Generation/ConsoleGenerator.kt | 3 | ||||
| -rw-r--r-- | src/Generation/FileGenerator.kt | 18 | ||||
| -rw-r--r-- | src/Generation/JavaSignatureGenerator.kt | 2 | ||||
| -rw-r--r-- | src/Generation/KotlinSignatureGenerator.kt | 2 | ||||
| -rw-r--r-- | src/Generation/SignatureGenerator.kt | 4 |
5 files changed, 24 insertions, 5 deletions
diff --git a/src/Generation/ConsoleGenerator.kt b/src/Generation/ConsoleGenerator.kt index 17fb6532..17e6957b 100644 --- a/src/Generation/ConsoleGenerator.kt +++ b/src/Generation/ConsoleGenerator.kt @@ -1,9 +1,10 @@ package org.jetbrains.dokka -public class ConsoleGenerator(val signatureGenerator : SignatureGenerator) { +public class ConsoleGenerator(val signatureGenerator: SignatureGenerator, val locationService: LocationService) { val IndentStep = " " public fun generate(node: DocumentationNode, indent: String = "") { + println("@${locationService.location(node).file}") generateHeader(node, indent) //generateDetails(node, indent) generateMembers(node, indent) diff --git a/src/Generation/FileGenerator.kt b/src/Generation/FileGenerator.kt new file mode 100644 index 00000000..c1e88a76 --- /dev/null +++ b/src/Generation/FileGenerator.kt @@ -0,0 +1,18 @@ +package org.jetbrains.dokka + +import java.io.File + +public class FileGenerator(val signatureGenerator: SignatureGenerator, + val locationService: LocationService, + val formatService: FormatService) { + public fun generate(node: DocumentationNode) { + val location = locationService.location(node) + println("@${location.file} : ${signatureGenerator.render(node)}") + val file = location.file.appendExtension(formatService.extension) + file.getParentFile()?.mkdirs() + file.writeText(formatService.format(node), defaultCharset) + val items = node.members.sortBy { it.name } + for (child in items) + generate(child) + } +}
\ No newline at end of file diff --git a/src/Generation/JavaSignatureGenerator.kt b/src/Generation/JavaSignatureGenerator.kt index 774eaeb4..e7458eba 100644 --- a/src/Generation/JavaSignatureGenerator.kt +++ b/src/Generation/JavaSignatureGenerator.kt @@ -74,7 +74,7 @@ class JavaSignatureGenerator : SignatureGenerator { } override fun renderModifiersForNode(node: DocumentationNode): String { - val modifiers = node.details(Kind.Modifier).map { renderModifier(it) }.filter { it != ""} + val modifiers = node.details(Kind.Modifier).map { renderModifier(it) }.filter { it != "" } if (modifiers.none()) return "" return modifiers.join(" ", postfix = " ") diff --git a/src/Generation/KotlinSignatureGenerator.kt b/src/Generation/KotlinSignatureGenerator.kt index 50704f1c..1fae62f0 100644 --- a/src/Generation/KotlinSignatureGenerator.kt +++ b/src/Generation/KotlinSignatureGenerator.kt @@ -65,7 +65,7 @@ class KotlinSignatureGenerator : SignatureGenerator { } override fun renderModifiersForNode(node: DocumentationNode): String { - val modifiers = node.details(Kind.Modifier).map { renderModifier(it) }.filter { it != ""} + val modifiers = node.details(Kind.Modifier).map { renderModifier(it) }.filter { it != "" } if (modifiers.none()) return "" return modifiers.join(" ", postfix = " ") diff --git a/src/Generation/SignatureGenerator.kt b/src/Generation/SignatureGenerator.kt index 176f8d40..158c4336 100644 --- a/src/Generation/SignatureGenerator.kt +++ b/src/Generation/SignatureGenerator.kt @@ -10,7 +10,7 @@ trait SignatureGenerator { fun renderType(node: DocumentationNode): String fun renderPackage(node: DocumentationNode): String fun renderProperty(node: DocumentationNode): String - open fun renderModifier(node: DocumentationNode): String - open fun renderModifiersForNode(node: DocumentationNode): String + fun renderModifier(node: DocumentationNode): String + fun renderModifiersForNode(node: DocumentationNode): String } |
