aboutsummaryrefslogtreecommitdiff
path: root/src/Generation
diff options
context:
space:
mode:
authorIlya Ryzhenkov <orangy@jetbrains.com>2014-07-14 15:00:33 +0400
committerIlya Ryzhenkov <orangy@jetbrains.com>2014-07-14 15:00:33 +0400
commita0bfdbd8cc365cb11c26e81ee7587f0ec25df79d (patch)
treec68610d2003d2a4712b3fbc95561ac20390a161d /src/Generation
parent6168541bd5bb141c40a1e2a909afa84441b35ed5 (diff)
downloaddokka-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.kt3
-rw-r--r--src/Generation/FileGenerator.kt18
-rw-r--r--src/Generation/JavaSignatureGenerator.kt2
-rw-r--r--src/Generation/KotlinSignatureGenerator.kt2
-rw-r--r--src/Generation/SignatureGenerator.kt4
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
}