From f60beb6e45720ff44ba4e4db915f5e462fb3b907 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 30 Oct 2015 12:24:33 +0100 Subject: fix Kotlin warnings --- src/Formats/StandardFormats.kt | 20 ++++++++++---------- src/Generation/Generator.kt | 18 ++++++++++-------- src/Java/JavaDocumentationBuilder.kt | 2 +- src/Utilities/GuiceModule.kt | 22 +++++++++++----------- src/Utilities/ServiceLocator.kt | 16 +++++----------- src/main.kt | 4 ++-- 6 files changed, 39 insertions(+), 43 deletions(-) (limited to 'src') diff --git a/src/Formats/StandardFormats.kt b/src/Formats/StandardFormats.kt index 1d5ffe13..658735c0 100644 --- a/src/Formats/StandardFormats.kt +++ b/src/Formats/StandardFormats.kt @@ -4,44 +4,44 @@ import org.jetbrains.dokka.* class HtmlFormatDescriptor : FormatDescriptor { override val formatServiceClass: Class - get() = javaClass() + get() = HtmlFormatService::class.java override val outlineServiceClass: Class - get() = javaClass() + get() = HtmlFormatService::class.java override val generatorServiceClass: Class - get() = javaClass() + get() = FileGenerator::class.java } class KotlinWebsiteFormatDescriptor : FormatDescriptor { override val formatServiceClass: Class - get() = javaClass() + get() = KotlinWebsiteFormatService::class.java override val outlineServiceClass: Class - get() = javaClass() + get() = YamlOutlineService::class.java override val generatorServiceClass: Class - get() = javaClass() + get() = FileGenerator::class.java } class JekyllFormatDescriptor : FormatDescriptor { override val formatServiceClass: Class - get() = javaClass() + get() = JekyllFormatService::class.java override val outlineServiceClass: Class? get() = null override val generatorServiceClass: Class - get() = javaClass() + get() = FileGenerator::class.java } class MarkdownFormatDescriptor : FormatDescriptor { override val formatServiceClass: Class - get() = javaClass() + get() = MarkdownFormatService::class.java override val outlineServiceClass: Class? get() = null override val generatorServiceClass: Class - get() = javaClass() + get() = FileGenerator::class.java } diff --git a/src/Generation/Generator.kt b/src/Generation/Generator.kt index 7dcabb0b..d7db1c52 100644 --- a/src/Generation/Generator.kt +++ b/src/Generation/Generator.kt @@ -3,13 +3,15 @@ package org.jetbrains.dokka public interface Generator { fun buildPages(nodes: Iterable) fun buildOutlines(nodes: Iterable) +} - final fun buildAll(nodes: Iterable) { - buildPages(nodes) - buildOutlines(nodes) - } - - final fun buildPage(node: DocumentationNode): Unit = buildPages(listOf(node)) - final fun buildOutline(node: DocumentationNode): Unit = buildOutlines(listOf(node)) - final fun buildAll(node: DocumentationNode): Unit = buildAll(listOf(node)) +fun Generator.buildAll(nodes: Iterable) { + buildPages(nodes) + buildOutlines(nodes) } + +fun Generator.buildPage(node: DocumentationNode): Unit = buildPages(listOf(node)) + +fun Generator.buildOutline(node: DocumentationNode): Unit = buildOutlines(listOf(node)) + +fun Generator.buildAll(node: DocumentationNode): Unit = buildAll(listOf(node)) diff --git a/src/Java/JavaDocumentationBuilder.kt b/src/Java/JavaDocumentationBuilder.kt index 88c13d38..f3cedc07 100644 --- a/src/Java/JavaDocumentationBuilder.kt +++ b/src/Java/JavaDocumentationBuilder.kt @@ -192,7 +192,7 @@ public class JavaDocumentationBuilder(private val options: DocumentationOptions, is PsiField -> element.containingClass!!.qualifiedName + "#" + element.name is PsiMethod -> element.containingClass!!.qualifiedName + "#" + element.name + "(" + - element.parameterList.parameters.map { it.type.typeSignature() }.join(",") + ")" + element.parameterList.parameters.map { it.type.typeSignature() }.joinToString(",") + ")" else -> null } diff --git a/src/Utilities/GuiceModule.kt b/src/Utilities/GuiceModule.kt index 57bad468..855d70b6 100644 --- a/src/Utilities/GuiceModule.kt +++ b/src/Utilities/GuiceModule.kt @@ -10,8 +10,8 @@ import java.io.File class GuiceModule(val config: DokkaGenerator) : Module { override fun configure(binder: Binder) { - binder.bind(javaClass()).toInstance(config) - binder.bind(javaClass()).annotatedWith(Names.named("outputDir")).toInstance(File(config.outputDir)) + binder.bind(DokkaGenerator::class.java).toInstance(config) + binder.bind(File::class.java).annotatedWith(Names.named("outputDir")).toInstance(File(config.outputDir)) binder.bindNameAnnotated("singleFolder") binder.bindNameAnnotated("singleFolder") @@ -19,11 +19,11 @@ class GuiceModule(val config: DokkaGenerator) : Module { binder.bindNameAnnotated("folders") // defaults - binder.bind(javaClass()).to(javaClass()) - binder.bind(javaClass()).to(javaClass()) - binder.bind(javaClass()).to(javaClass()) + binder.bind(LocationService::class.java).to(FoldersLocationService::class.java) + binder.bind(FileLocationService::class.java).to(FoldersLocationService::class.java) + binder.bind(LanguageService::class.java).to(KotlinLanguageService::class.java) - binder.bind(javaClass()).toProvider(object : Provider { + binder.bind(HtmlTemplateService::class.java).toProvider(object : Provider { override fun get(): HtmlTemplateService = HtmlTemplateService.default("/dokka/styles/style.css") }) @@ -35,12 +35,12 @@ class GuiceModule(val config: DokkaGenerator) : Module { val descriptor = ServiceLocator.lookup("format", config.outputFormat, config) descriptor.outlineServiceClass?.let { clazz -> - binder.bind(javaClass()).to(clazz) + binder.bind(OutlineFormatService::class.java).to(clazz) } descriptor.formatServiceClass?.let { clazz -> - binder.bind(javaClass()).to(clazz) + binder.bind(FormatService::class.java).to(clazz) } - binder.bind(javaClass()).to(descriptor.generatorServiceClass) + binder.bind(Generator::class.java).to(descriptor.generatorServiceClass) } } @@ -48,11 +48,11 @@ class GuiceModule(val config: DokkaGenerator) : Module { private inline fun Binder.registerCategory(category: String) { ServiceLocator.allServices(category).forEach { @Suppress("UNCHECKED_CAST") - bind(javaClass()).annotatedWith(Names.named(it.name)).to(javaClass().classLoader.loadClass(it.className) as Class) + bind(T::class.java).annotatedWith(Names.named(it.name)).to(T::class.java.classLoader.loadClass(it.className) as Class) } } private inline fun Binder.bindNameAnnotated(name: String) { - bind(javaClass()).annotatedWith(Names.named(name)).to(javaClass()) + bind(Base::class.java).annotatedWith(Names.named(name)).to(T::class.java) } diff --git a/src/Utilities/ServiceLocator.kt b/src/Utilities/ServiceLocator.kt index bc04238f..57d2f47b 100644 --- a/src/Utilities/ServiceLocator.kt +++ b/src/Utilities/ServiceLocator.kt @@ -15,8 +15,8 @@ public object ServiceLocator { val descriptor = lookupDescriptor(category, implementationName) val loadedClass = javaClass.classLoader.loadClass(descriptor.className) val constructor = loadedClass.constructors - .filter { it.parameterTypes.isEmpty() || (it.parameterTypes.size() == 1 && conf.javaClass.isInstance(it.parameterTypes[0])) } - .sortedByDescending { it.parameterTypes.size() } + .filter { it.parameterTypes.isEmpty() || (it.parameterTypes.size == 1 && conf.javaClass.isInstance(it.parameterTypes[0])) } + .sortedByDescending { it.parameterTypes.size } .firstOrNull() ?: throw ServiceLookupException("Class ${descriptor.className} has no corresponding constructor") val implementationRawType: Any = if (constructor.parameterTypes.isEmpty()) constructor.newInstance() else constructor.newInstance(constructor) @@ -81,20 +81,14 @@ public object ServiceLocator { } ?: emptyList() } -public inline fun ServiceLocator.lookup(category: String, implementationName: String, conf: DokkaGenerator): T = lookup(javaClass(), category, implementationName, conf) -public inline fun ServiceLocator.lookupClass(category: String, implementationName: String): Class = lookupClass(javaClass(), category, implementationName) +public inline fun ServiceLocator.lookup(category: String, implementationName: String, conf: DokkaGenerator): T = lookup(T::class.java, category, implementationName, conf) +public inline fun ServiceLocator.lookupClass(category: String, implementationName: String): Class = lookupClass(T::class.java, category, implementationName) public inline fun ServiceLocator.lookupOrNull(category: String, implementationName: String, conf: DokkaGenerator): T? = try { - lookup(javaClass(), category, implementationName, conf) + lookup(T::class.java, category, implementationName, conf) } catch (any: Throwable) { null } -fun main(args: Array) { - ServiceLocator.allServices("format").forEach { - println(it) - } -} - private val ZipEntry.fileName: String get() = name.substringAfterLast("/", name) diff --git a/src/main.kt b/src/main.kt index a534ffdd..1d2442f2 100644 --- a/src/main.kt +++ b/src/main.kt @@ -146,7 +146,7 @@ class DokkaGenerator(val logger: DokkaLogger, logger.info("Module: $moduleName") logger.info("Output: ${File(outputDir).absolutePath}") - logger.info("Sources: ${environment.sources.join()}") + logger.info("Sources: ${environment.sources.joinToString()}") logger.info("Classpath: ${environment.classpath.joinToString()}") logger.info("Analysing sources and libraries... ") @@ -160,7 +160,7 @@ class DokkaGenerator(val logger: DokkaLogger, val timeBuild = measureTimeMillis { logger.info("Generating pages... ") - Guice.createInjector(GuiceModule(this)).getInstance(javaClass()).buildAll(documentation) + Guice.createInjector(GuiceModule(this)).getInstance(Generator::class.java).buildAll(documentation) } logger.info("done in ${timeBuild / 1000} secs") -- cgit