From db83eda175f7bf44831d4986e7f0906dbdfc1cf7 Mon Sep 17 00:00:00 2001 From: Goooler Date: Wed, 22 Sep 2021 17:56:08 +0800 Subject: [PATCH 1/7] Code cleanups --- .../org/jetbrains/ValidatePublications.kt | 3 +- .../matchers/content/contentMatchers.kt | 13 ++--- core/src/main/kotlin/CoreExtensions.kt | 2 +- core/src/main/kotlin/model/Documentable.kt | 2 +- core/src/main/kotlin/model/WithChildren.kt | 8 +-- core/src/main/kotlin/pages/ContentNodes.kt | 2 +- .../main/kotlin/utilities/ServiceLocator.kt | 17 +++--- .../main/kotlin/utilities/safeEnumValueOf.kt | 2 +- .../kotlin/testApi/context/MockContext.kt | 2 +- .../kotlin/testApi/testRunner/TestRunner.kt | 4 +- .../dokka/analysis/AnalysisEnvironment.kt | 2 +- .../dokka/analysis/CoreKotlinCacheService.kt | 7 +-- .../jetbrains/dokka/analysis/DRIFactory.kt | 2 +- .../analysis/JvmDependenciesIndexImpl.kt | 7 ++- .../dokka/analysis/TypeReferenceFactory.kt | 2 +- .../main/kotlin/renderers/SignatureUtils.kt | 7 ++- .../kotlin/renderers/html/HtmlRenderer.kt | 6 +- .../renderers/html/SearchbarDataInstaller.kt | 2 +- .../src/main/kotlin/renderers/html/Tags.kt | 5 +- .../signatures/KotlinSignatureProvider.kt | 2 +- .../kotlin/signatures/KotlinSignatureUtils.kt | 4 +- .../DefaultDocumentableMerger.kt | 5 +- .../InheritorsExtractorTransformer.kt | 2 +- .../samples/DefaultSamplesTransformer.kt | 3 +- .../pages/samples/SamplesTransformer.kt | 6 +- ...faultDescriptorToDocumentableTranslator.kt | 18 +++--- .../documentables/DefaultPageCreator.kt | 6 +- .../psi/DefaultPsiToDocumentableTranslator.kt | 4 +- .../translators/psi/parsers/JavadocParser.kt | 2 +- .../kotlin/filter/DeprecationFilterTest.kt | 4 +- .../kotlin/filter/VisibilityFilterTest.kt | 4 +- .../base/src/test/kotlin/model/CommentTest.kt | 8 +-- .../src/test/kotlin/model/FunctionsTest.kt | 4 +- .../base/src/test/kotlin/model/JavaTest.kt | 5 +- .../signatures/AbstractRenderingTest.kt | 9 ++- .../PageTransformerBuilderTest.kt | 2 +- ...oduleAndPackageDocumentationReaderTest3.kt | 3 - .../base/src/test/kotlin/utils/TestUtils.kt | 2 +- .../linkable/samples/jsMain/kotlin/JsClass.kt | 2 +- .../samples/jvmMain/kotlin/JvmClass.kt | 2 +- .../org/jetbrains/dokka/gfm/gfmTemplating.kt | 2 +- .../dokka/javadoc/JavadocPageCreator.kt | 2 +- .../javadoc/pages/JavadocContentNodes.kt | 2 +- .../dokka/javadoc/pages/htmlPreprocessors.kt | 2 +- .../converters/KotlinToJavaConverter.kt | 55 ++++++++++--------- .../kotlin/signatures/JavaSignatureUtils.kt | 4 +- .../kotlin/transformers/JvmNameProvider.kt | 2 +- .../dokka/gradle/GradleSourceLinkBuilder.kt | 2 +- .../maven-plugin/src/main/kotlin/DokkaMojo.kt | 4 +- 49 files changed, 131 insertions(+), 136 deletions(-) diff --git a/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt b/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt index 4b97d74a4a..f5f515e501 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt @@ -64,8 +64,7 @@ open class ValidatePublications : DefaultTask() { ) val isPublished = publishing.publications.filterIsInstance() - .filter { it.version == project.dokkaVersion } - .any() + .any { it.version == project.dokkaVersion } if (!isPublished) { throw UnpublishedProjectDependencyException(project, projectDependency.dependencyProject) diff --git a/core/content-matcher-test-utils/src/main/kotlin/matchers/content/contentMatchers.kt b/core/content-matcher-test-utils/src/main/kotlin/matchers/content/contentMatchers.kt index 6a0e1c97d7..e2b692265f 100644 --- a/core/content-matcher-test-utils/src/main/kotlin/matchers/content/contentMatchers.kt +++ b/core/content-matcher-test-utils/src/main/kotlin/matchers/content/contentMatchers.kt @@ -37,7 +37,7 @@ class CompositeMatcher( assertions: T.() -> Unit = {} ) : NodeMatcher(kclass, assertions) { internal val normalizedChildren: List by lazy { - children.fold(listOf()) { acc, e -> + children.fold(listOf()) { acc, e -> when { acc.lastOrNull() is Anything && e is Anything -> acc acc.lastOrNull() is TextMatcher && e is TextMatcher -> @@ -119,8 +119,7 @@ private class FurtherSiblings(val list: List, val parent: Compos fun drop() = FurtherSiblings(list.drop(1), parent) val messageEnd: String - get() = list.filter { it !is Anything } - .count().takeIf { it > 0 } + get() = list.count { it !is Anything }.takeIf { it > 0 } ?.let { " and $it further matchers were not satisfied" } ?: "" } @@ -139,10 +138,10 @@ internal fun MatcherElement.toDebugString(anchor: MatcherElement?, anchorAfter: is CompositeMatcher<*> -> { append("${element.kclass.simpleName.toString()}\n") if (element.normalizedChildren.isNotEmpty()) { - val newOwnPrefix = childPrefix + '\u251c' + '\u2500' + ' ' - val lastOwnPrefix = childPrefix + '\u2514' + '\u2500' + ' ' - val newChildPrefix = childPrefix + '\u2502' + ' ' + ' ' - val lastChildPrefix = childPrefix + ' ' + ' ' + ' ' + val newOwnPrefix = "$childPrefix├─ " + val lastOwnPrefix = "$childPrefix└─ " + val newChildPrefix = "$childPrefix│ " + val lastChildPrefix = "$childPrefix " element.normalizedChildren.forEachIndexed { n, e -> if (n != element.normalizedChildren.lastIndex) append(e, newOwnPrefix, newChildPrefix) else append(e, lastOwnPrefix, lastChildPrefix) diff --git a/core/src/main/kotlin/CoreExtensions.kt b/core/src/main/kotlin/CoreExtensions.kt index 0dd5780b61..ddfa0c69ef 100644 --- a/core/src/main/kotlin/CoreExtensions.kt +++ b/core/src/main/kotlin/CoreExtensions.kt @@ -26,6 +26,6 @@ object CoreExtensions { private fun coreExtensionPoint() = object { operator fun provideDelegate(thisRef: CoreExtensions, property: KProperty<*>): Lazy> = - lazy { ExtensionPoint(thisRef::class.qualifiedName!!, property.name) } + lazy { ExtensionPoint(thisRef::class.qualifiedName!!, property.name) } } } \ No newline at end of file diff --git a/core/src/main/kotlin/model/Documentable.kt b/core/src/main/kotlin/model/Documentable.kt index fcbb9591d1..13d0455525 100644 --- a/core/src/main/kotlin/model/Documentable.kt +++ b/core/src/main/kotlin/model/Documentable.kt @@ -126,7 +126,7 @@ data class DPackage( * e.g. this will return a human readable version for root packages. * Use [packageName] or `dri.packageName` instead to obtain the real packageName */ - override val name: String = if (packageName.isBlank()) "[root]" else packageName + override val name: String = packageName.ifBlank { "[root]" } override val children: List = properties + functions + classlikes + typealiases diff --git a/core/src/main/kotlin/model/WithChildren.kt b/core/src/main/kotlin/model/WithChildren.kt index 59a14acc97..01a188c803 100644 --- a/core/src/main/kotlin/model/WithChildren.kt +++ b/core/src/main/kotlin/model/WithChildren.kt @@ -79,10 +79,10 @@ fun > T.asPrintableTree( nodeNameBuilder(element) appendLine() element.children.takeIf(Collection<*>::isNotEmpty)?.also { children -> - val newOwnPrefix = childPrefix + '\u251c' + '\u2500' + ' ' - val lastOwnPrefix = childPrefix + '\u2514' + '\u2500' + ' ' - val newChildPrefix = childPrefix + '\u2502' + ' ' + ' ' - val lastChildPrefix = childPrefix + ' ' + ' ' + ' ' + val newOwnPrefix = "$childPrefix├─ " + val lastOwnPrefix = "$childPrefix└─ " + val newChildPrefix = "$childPrefix│ " + val lastChildPrefix = "$childPrefix " children.forEachIndexed { n, e -> if (n != children.lastIndex) append(e, newOwnPrefix, newChildPrefix) else append(e, lastOwnPrefix, lastChildPrefix) diff --git a/core/src/main/kotlin/pages/ContentNodes.kt b/core/src/main/kotlin/pages/ContentNodes.kt index 0c262937d7..a6d37f30cf 100644 --- a/core/src/main/kotlin/pages/ContentNodes.kt +++ b/core/src/main/kotlin/pages/ContentNodes.kt @@ -33,7 +33,7 @@ data class ContentText( ) : ContentNode { override fun withNewExtras(newExtras: PropertyContainer): ContentText = copy(extra = newExtras) override fun withSourceSets(sourceSets: Set): ContentText = copy(sourceSets = sourceSets) - override fun hasAnyContent(): Boolean = !text.isBlank() + override fun hasAnyContent(): Boolean = text.isNotBlank() } // TODO: Remove diff --git a/core/src/main/kotlin/utilities/ServiceLocator.kt b/core/src/main/kotlin/utilities/ServiceLocator.kt index 00c9ae9f4e..3e515348b0 100644 --- a/core/src/main/kotlin/utilities/ServiceLocator.kt +++ b/core/src/main/kotlin/utilities/ServiceLocator.kt @@ -65,20 +65,17 @@ object ServiceLocator { when (it.protocol) { "file" -> it.toFile().listFiles()?.filter { it.extension == "properties" }?.map { lookupDescriptor(category, it.nameWithoutExtension) } ?: emptyList() "jar" -> { - val file = JarFile(URL(it.file.substringBefore("!")).toFile()) - try { + JarFile(URL(it.file.substringBefore("!")).toFile()).use { file -> val jarPath = it.file.substringAfterLast("!").removePrefix("/").removeSuffix("/") file.entries() - .asSequence() - .filter { entry -> !entry.isDirectory && entry.path == jarPath && entry.extension == "properties" } - .map { entry -> - lookupDescriptor(category, entry.fileName.substringBeforeLast(".")) - }.toList() - } finally { - file.close() + .asSequence() + .filter { entry -> !entry.isDirectory && entry.path == jarPath && entry.extension == "properties" } + .map { entry -> + lookupDescriptor(category, entry.fileName.substringBeforeLast(".")) + }.toList() } } - else -> emptyList() + else -> emptyList() } } } diff --git a/core/src/main/kotlin/utilities/safeEnumValueOf.kt b/core/src/main/kotlin/utilities/safeEnumValueOf.kt index 8fd5a086d1..9f4c23c940 100644 --- a/core/src/main/kotlin/utilities/safeEnumValueOf.kt +++ b/core/src/main/kotlin/utilities/safeEnumValueOf.kt @@ -1,4 +1,4 @@ package org.jetbrains.dokka.utilities inline fun > enumValueOrNull(name: String): T? = - T::class.java.enumConstants.firstOrNull { it.name.toUpperCase() == name.toUpperCase() } \ No newline at end of file + T::class.java.enumConstants.firstOrNull { it.name.equals(name, ignoreCase = true) } \ No newline at end of file diff --git a/core/test-api/src/main/kotlin/testApi/context/MockContext.kt b/core/test-api/src/main/kotlin/testApi/context/MockContext.kt index 7b17a8eed4..7a3c47868f 100644 --- a/core/test-api/src/main/kotlin/testApi/context/MockContext.kt +++ b/core/test-api/src/main/kotlin/testApi/context/MockContext.kt @@ -24,7 +24,7 @@ class MockContext( private val plugins = mutableMapOf, DokkaPlugin>() - override fun plugin(kclass: KClass): T? = plugins.getOrPut(kclass) { + override fun plugin(kclass: KClass): T = plugins.getOrPut(kclass) { kclass.constructors.single { it.parameters.isEmpty() }.call().also { it.injectContext(this) } } as T diff --git a/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt b/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt index c692c83ff8..de0cd8964e 100644 --- a/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt +++ b/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt @@ -99,14 +99,12 @@ abstract class AbstractTest, D : DokkaTestGe .replace("\r\n", "\n") .sliceAt(filePathRegex) .filter { it.isNotEmpty() && it.isNotBlank() && "\n" in it } - .map { fileDeclaration -> fileDeclaration.trim() } - .map { fileDeclaration -> + .map { fileDeclaration -> fileDeclaration.trim() }.associate { fileDeclaration -> val filePathAndContent = fileDeclaration.split("\n", limit = 2) val filePath = filePathAndContent.first().removePrefix("/").trim() val content = filePathAndContent.last().trim() filePath to content } - .toMap() } private fun String.sliceAt(regex: Regex): List { diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt index 72b2900276..8446c00909 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt @@ -445,7 +445,7 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl builtIns: KotlinBuiltIns ): ResolverForProject { val javaRoots = classpath - .mapNotNull { + .mapNotNull { it -> val rootFile = when (it.extension) { "jar" -> StandardFileSystems.jar().findFileByPath("${it.absolutePath}$JAR_SEPARATOR") else -> StandardFileSystems.local().findFileByPath(it.absolutePath) diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreKotlinCacheService.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreKotlinCacheService.kt index bebbc705cc..d560feff0f 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreKotlinCacheService.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreKotlinCacheService.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.analysis import com.intellij.psi.PsiFile -import org.jetbrains.dokka.analysis.DokkaResolutionFacade import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.caches.resolve.KotlinCacheService import org.jetbrains.kotlin.caches.resolve.PlatformAnalysisSettings @@ -25,21 +24,21 @@ class CoreKotlinCacheService(private val resolutionFacade: DokkaResolutionFacade override fun getResolutionFacadeByFile( file: PsiFile, platform: org.jetbrains.kotlin.platform.TargetPlatform - ): ResolutionFacade? { + ): ResolutionFacade { return resolutionFacade } override fun getResolutionFacadeByModuleInfo( moduleInfo: ModuleInfo, settings: PlatformAnalysisSettings - ): ResolutionFacade? { + ): ResolutionFacade { return resolutionFacade } override fun getResolutionFacadeByModuleInfo( moduleInfo: ModuleInfo, platform: org.jetbrains.kotlin.platform.TargetPlatform - ): ResolutionFacade? { + ): ResolutionFacade { return resolutionFacade } diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRIFactory.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRIFactory.kt index 5f74c42991..ef42469c7d 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRIFactory.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRIFactory.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull fun DRI.Companion.from(descriptor: DeclarationDescriptor) = descriptor.parentsWithSelf.run { val parameter = firstIsInstanceOrNull() - val callable = parameter?.containingDeclaration ?: firstIsInstanceOrNull() + val callable = parameter?.containingDeclaration ?: firstIsInstanceOrNull() DRI( packageName = firstIsInstanceOrNull()?.fqName?.asString() ?: "", diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/JvmDependenciesIndexImpl.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/JvmDependenciesIndexImpl.kt index 021c62924a..3632337a7d 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/JvmDependenciesIndexImpl.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/JvmDependenciesIndexImpl.kt @@ -121,11 +121,12 @@ class JvmDependenciesIndexImpl(_roots: List) : JvmDependenciesIndex { // NOTE: indices manipulation instead of using caches.reversed() is here for performance reasons for (cacheIndex in caches.lastIndex downTo 0) { val cacheRootIndices = caches[cacheIndex].rootIndices - for (i in 0..cacheRootIndices.size() - 1) { + for (i in 0 until cacheRootIndices.size()) { val rootIndex = cacheRootIndices[i] if (rootIndex <= processedRootsUpTo) continue // roots with those indices have been processed by now - val directoryInRoot = travelPath(rootIndex, request.packageFqName, packagesPath, cacheIndex, caches) ?: continue + val directoryInRoot = + travelPath(rootIndex, request.packageFqName, packagesPath, cacheIndex, caches) ?: continue val root = roots[rootIndex] if (root.type in request.acceptedRootTypes) { val result = handler(directoryInRoot, root.type) @@ -156,7 +157,7 @@ class JvmDependenciesIndexImpl(_roots: List) : JvmDependenciesIndex { cachesPath: List ): VirtualFile? { if (rootIndex >= maxIndex) { - for (i in (fillCachesAfter + 1)..(cachesPath.size - 1)) { + for (i in (fillCachesAfter + 1) until cachesPath.size) { // we all know roots that contain this package by now cachesPath[i].rootIndices.add(maxIndex) cachesPath[i].rootIndices.trimToSize() diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/TypeReferenceFactory.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/TypeReferenceFactory.kt index e62548d73f..336b7566b9 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/TypeReferenceFactory.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/TypeReferenceFactory.kt @@ -20,7 +20,7 @@ fun TypeReference.Companion.from(d: ReceiverParameterDescriptor): TypeReference? } } -fun TypeReference.Companion.from(d: ValueParameterDescriptor): TypeReference? = +fun TypeReference.Companion.from(d: ValueParameterDescriptor): TypeReference = fromPossiblyNullable(d.type, emptyList()) fun TypeReference.Companion.from(p: PsiClass) = TypeReference diff --git a/plugins/base/base-test-utils/src/main/kotlin/renderers/SignatureUtils.kt b/plugins/base/base-test-utils/src/main/kotlin/renderers/SignatureUtils.kt index e77b8757e0..588a111498 100644 --- a/plugins/base/base-test-utils/src/main/kotlin/renderers/SignatureUtils.kt +++ b/plugins/base/base-test-utils/src/main/kotlin/renderers/SignatureUtils.kt @@ -2,11 +2,12 @@ package signatures import org.jsoup.Jsoup import org.jsoup.nodes.Element +import org.jsoup.select.Elements import utils.TestOutputWriter -fun TestOutputWriter.renderedContent(path: String = "root/example.html") = +fun TestOutputWriter.renderedContent(path: String = "root/example.html"): Element = contents.getValue(path).let { Jsoup.parse(it) }.select("#content") .single() -fun Element.signature() = select("div.symbol.monospace") -fun Element.firstSignature() = signature().first() \ No newline at end of file +fun Element.signature(): Elements = select("div.symbol.monospace") +fun Element.firstSignature(): Element = signature().first() \ No newline at end of file diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt index 9a88de86af..d35066cea4 100644 --- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt @@ -31,11 +31,11 @@ open class HtmlRenderer( private val configuration = configuration(context) private val sourceSetDependencyMap: Map> = - context.configuration.sourceSets.map { sourceSet -> + context.configuration.sourceSets.associate { sourceSet -> sourceSet.sourceSetID to context.configuration.sourceSets .map { it.sourceSetID } .filter { it in sourceSet.dependentSourceSets } - }.toMap() + } private var shouldRenderSourceSetBubbles: Boolean = false @@ -159,7 +159,7 @@ open class HtmlRenderer( buildPlatformDependent( content.sourceSets.filter { sourceSetRestriction == null || it in sourceSetRestriction - }.map { it to setOf(content.inner) }.toMap(), + }.associateWith { setOf(content.inner) }, pageContext, content.extra, content.style diff --git a/plugins/base/src/main/kotlin/renderers/html/SearchbarDataInstaller.kt b/plugins/base/src/main/kotlin/renderers/html/SearchbarDataInstaller.kt index 4d494c82fb..eca1219d2c 100644 --- a/plugins/base/src/main/kotlin/renderers/html/SearchbarDataInstaller.kt +++ b/plugins/base/src/main/kotlin/renderers/html/SearchbarDataInstaller.kt @@ -19,7 +19,7 @@ data class SearchRecord( val location: String, val searchKeys: List = listOf(name) ) { - companion object {} + companion object } open class SearchbarDataInstaller(val context: DokkaContext) : PageTransformer { diff --git a/plugins/base/src/main/kotlin/renderers/html/Tags.kt b/plugins/base/src/main/kotlin/renderers/html/Tags.kt index f79d16338a..a23c7bf16e 100644 --- a/plugins/base/src/main/kotlin/renderers/html/Tags.kt +++ b/plugins/base/src/main/kotlin/renderers/html/Tags.kt @@ -23,9 +23,8 @@ open class WBR(initialAttributes: Map, consumer: TagConsumer<*>) @HtmlTagMarker inline fun FlowOrPhrasingContent.strike(classes : String? = null, crossinline block : STRIKE.() -> Unit = {}) : Unit = STRIKE(attributesMapOf("class", classes), consumer).visit(block) -open class STRIKE(initialAttributes : Map, override val consumer : TagConsumer<*>) : HTMLTag("strike", consumer, initialAttributes, null, false, false), HtmlBlockInlineTag { - -} +open class STRIKE(initialAttributes: Map, override val consumer: TagConsumer<*>) : + HTMLTag("strike", consumer, initialAttributes, null, false, false), HtmlBlockInlineTag fun FlowOrMetaDataContent.templateCommand(data: Command, block: TemplateBlock = {}): Unit = (consumer as? ImmediateResolutionTagConsumer)?.processCommand(data, block) diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt index 8db3701244..102bb79a53 100644 --- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt +++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt @@ -351,7 +351,7 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog private fun PageContentBuilder.DocumentableContentBuilder.signatureForProjection( p: Projection, showFullyQualifiedName: Boolean = false - ): Unit { + ) { return when (p) { is TypeParameter -> { annotationsInline(p) diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureUtils.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureUtils.kt index bb350b3435..0fea9132e9 100644 --- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureUtils.kt +++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureUtils.kt @@ -26,9 +26,9 @@ object KotlinSignatureUtils : JvmSignatureUtils { annotationsInlineWithIgnored(d, ignoredAnnotations, strategy, listBrackets, classExtension) override fun WithExtraProperties.modifiers() = - extra[AdditionalModifiers]?.content?.entries?.map { + extra[AdditionalModifiers]?.content?.entries?.associate { it.key to it.value.filterIsInstance().toSet() - }?.toMap() ?: emptyMap() + } ?: emptyMap() val PrimitiveJavaType.dri: DRI get() = DRI("kotlin", name.capitalize()) diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt index 61a7a6a25c..6239ad6b44 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt @@ -34,7 +34,7 @@ internal class DefaultDocumentableMerger(val context: DokkaContext) : Documentab it.sourceSetID in sourceSet.dependentSourceSets }.flatMap { getDependencies(it) } - return configuration.sourceSets.map { it to getDependencies(it) }.toMap() + return configuration.sourceSets.associateWith { getDependencies(it) } } private fun merge(elements: List, reducer: (T, T) -> T): List = @@ -104,8 +104,7 @@ internal class DefaultDocumentableMerger(val context: DokkaContext) : Documentab } val reducedToOneDocumentableWithActualSourceSetIds = groupedByOwnExpectWithActualSourceSetIds.map { it.first.reduce(reducer) to it.second } - val uniqueNamedDocumentables = reducedToOneDocumentableWithActualSourceSetIds.let(::mergeClashingElements) - return uniqueNamedDocumentables + return reducedToOneDocumentableWithActualSourceSetIds.let(::mergeClashingElements) } diff --git a/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt index 181113aefd..463ec41966 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt @@ -49,7 +49,7 @@ class InheritorsExtractorTransformer : DocumentableTransformer { private fun Map>>.getForDRI(dri: DRI) = map { (v, k) -> v to k[dri] - }.map { (k, v) -> k to v.orEmpty() }.toMap() + }.associate { (k, v) -> k to v.orEmpty() } private fun DModule.generateInheritanceMap() = getInheritanceEntriesRec().filterNot { it.second.isEmpty() }.groupBy({ it.first }) { it.second } diff --git a/plugins/base/src/main/kotlin/transformers/pages/samples/DefaultSamplesTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/samples/DefaultSamplesTransformer.kt index cadd3de059..c5b0f221ef 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/samples/DefaultSamplesTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/samples/DefaultSamplesTransformer.kt @@ -19,8 +19,7 @@ class DefaultSamplesTransformer(context: DokkaContext) : SamplesTransformer(cont private fun processSampleBody(psiElement: PsiElement): String = when (psiElement) { is KtDeclarationWithBody -> { - val bodyExpression = psiElement.bodyExpression - when (bodyExpression) { + when (val bodyExpression = psiElement.bodyExpression) { is KtBlockExpression -> bodyExpression.text.removeSurrounding("{", "}") else -> bodyExpression!!.text } diff --git a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt index 88b88cf82d..191ccdc17a 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt @@ -43,8 +43,8 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { } } - private fun setUpAnalysis(context: DokkaContext) = context.configuration.sourceSets.map { sourceSet -> - sourceSet to AnalysisEnvironment(DokkaMessageCollector(context.logger), sourceSet.analysisPlatform).run { + private fun setUpAnalysis(context: DokkaContext) = context.configuration.sourceSets.associateWith { sourceSet -> + AnalysisEnvironment(DokkaMessageCollector(context.logger), sourceSet.analysisPlatform).run { if (analysisPlatform == Platform.jvm) { addClasspath(PathUtil.getJdkClassesRootsFromCurrentJre()) } @@ -58,7 +58,7 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { val (facade, _) = createResolutionFacade(environment) EnvironmentAndFacade(environment, facade) } - }.toMap() + } private fun ContentNode.addSample( contentPage: ContentPage, diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt index 04716e1632..0e21dc7eb4 100644 --- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt @@ -406,7 +406,7 @@ private class DokkaDescriptorVisitor( companion = descriptor.companion(driWithPlatform), sourceSets = setOf(sourceSet), isExpectActual = (isExpect || isActual), - extra = PropertyContainer.withAll( + extra = PropertyContainer.withAll( descriptor.additionalExtras().toSourceSetDependent().toAdditionalModifiers(), descriptor.getAnnotations().toSourceSetDependent().toAnnotations(), ImplementedInterfaces(info.allImplementedInterfaces.toSourceSetDependent()), @@ -641,7 +641,7 @@ private class DokkaDescriptorVisitor( sources = descriptor.createSources(), sourceSets = setOf(sourceSet), isExpectActual = (isExpect || isActual), - extra = PropertyContainer.withAll( + extra = PropertyContainer.withAll( descriptor.additionalExtras().toSourceSetDependent().toAdditionalModifiers(), descriptor.getAnnotations().toSourceSetDependent().toAnnotations() ) @@ -697,7 +697,7 @@ private class DokkaDescriptorVisitor( val enumEntries: List ) - private suspend fun MemberScope.getDescriptorsWithKind(shouldFilter: Boolean = false): DescriptorsWithKind { + private fun MemberScope.getDescriptorsWithKind(shouldFilter: Boolean = false): DescriptorsWithKind { val descriptors = getContributedDescriptors { true }.let { if (shouldFilter) it.filterDescriptorsInSourceSet() else it } @@ -803,7 +803,7 @@ private class DokkaDescriptorVisitor( ) ) - private suspend fun org.jetbrains.kotlin.descriptors.annotations.Annotations.getPresentableName(): String? = + private fun org.jetbrains.kotlin.descriptors.annotations.Annotations.getPresentableName(): String? = mapNotNull { it.toAnnotation() }.singleOrNull { it.dri.classNames == "ParameterName" }?.params?.get("name") .safeAs()?.value?.let { unquotedValue(it) } @@ -879,7 +879,7 @@ private class DokkaDescriptorVisitor( null } }, - kdocLocation = toSourceElement?.containingFile?.name?.let { + kdocLocation = toSourceElement.containingFile.name?.let { val fqName = fqNameOrNull()?.asString() if (fqName != null) "$it/$fqName" else it @@ -950,8 +950,8 @@ private class DokkaDescriptorVisitor( private suspend fun Annotated.getAnnotations() = annotations.parallelMapNotNull { it.toAnnotation() } - private fun ConstantValue<*>.toValue(): AnnotationParameterValue? = when (this) { - is ConstantsAnnotationValue -> value.toAnnotation()?.let { AnnotationValue(it) } + private fun ConstantValue<*>.toValue(): AnnotationParameterValue = when (this) { + is ConstantsAnnotationValue -> AnnotationValue(value.toAnnotation()) is ConstantsArrayValue -> ArrayValue(value.mapNotNull { it.toValue() }) is ConstantsEnumValue -> EnumValue( fullEnumEntryName(), @@ -1014,7 +1014,7 @@ private class DokkaDescriptorVisitor( private fun ValueParameterDescriptor.getDefaultValue(): Expression? = ((source as? KotlinSourceElement)?.psi as? KtParameter)?.defaultValue?.toDefaultValueExpression() - private suspend fun PropertyDescriptor.getDefaultValue(): Expression? = + private fun PropertyDescriptor.getDefaultValue(): Expression? = (source as? KotlinSourceElement)?.psi?.children?.filterIsInstance()?.firstOrNull() ?.toDefaultValueExpression() @@ -1023,7 +1023,7 @@ private class DokkaDescriptorVisitor( it.safeAs()?.initializersAsExpression().orEmpty() }.orEmpty() - private suspend fun KtInitializerList.initializersAsExpression() = + private fun KtInitializerList.initializersAsExpression() = initializers.firstIsInstanceOrNull() ?.getValueArgumentsInParentheses() ?.map { it.getArgumentExpression()?.toDefaultValueExpression() ?: ComplexExpression("") } diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt index 300e092653..04b443d8d6 100644 --- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt +++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt @@ -267,7 +267,7 @@ open class DefaultPageCreator( it.sourceSets.toSet(), kind = ContentKind.SourceSetDependentHint, styles = emptySet(), - extra = PropertyContainer.empty() + extra = PropertyContainer.empty() ) { +buildSignature(it) contentForBrief(it) @@ -291,7 +291,7 @@ open class DefaultPageCreator( it.dri, it.sourceSets.toSet(), kind = ContentKind.SourceSetDependentHint, - extra = PropertyContainer.empty() + extra = PropertyContainer.empty() ) { +buildSignature(it) contentForBrief(it) @@ -675,7 +675,7 @@ open class DefaultPageCreator( }.groupBy { it.second::class } private val Documentable.descriptions: SourceSetDependent - get() = groupedTags.withTypeUnnamed() + get() = groupedTags.withTypeUnnamed() private val Documentable.hasSeparatePage: Boolean get() = this !is DTypeAlias diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt index 878d597362..7db3193c37 100644 --- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt @@ -532,7 +532,7 @@ class DefaultPsiToDocumentableTranslator( } private fun PsiClass.splitFunctionsAndAccessors(): Pair, MutableMap>> { - val fieldNames = fields.map { it.name to it }.toMap() + val fieldNames = fields.associateBy { it.name } val accessors = mutableMapOf>() val regularMethods = mutableListOf() methods.forEach { method -> @@ -564,7 +564,7 @@ class DefaultPsiToDocumentableTranslator( emptyList(), false, psi.additionalExtras().let { - PropertyContainer.withAll( + PropertyContainer.withAll( it.toSourceSetDependent().toAdditionalModifiers(), (psi.annotations.toList() .toListOfAnnotations() + it.toListOfAnnotations()).toSourceSetDependent() diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt index b7e60cee82..eb6e8c54db 100644 --- a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt +++ b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt @@ -81,7 +81,7 @@ class JavadocParser( parseWithChildren = parseWithChildren ) - private fun parseDocTag(tag: PsiDocTag, docComment: PsiDocComment, analysedElement: PsiNamedElement): TagWrapper? = + private fun parseDocTag(tag: PsiDocTag, docComment: PsiDocComment, analysedElement: PsiNamedElement): TagWrapper = enumValueOrNull(tag.name)?.let { javadocTag -> val resolutionContext = CommentResolutionContext(comment = docComment, tag = javadocTag) when (resolutionContext.tag) { diff --git a/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt b/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt index 4431d38337..b7966a16d1 100644 --- a/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt +++ b/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt @@ -91,7 +91,7 @@ class DeprecationFilterTest : BaseAbstractTest() { ) { preMergeDocumentablesTransformationStage = { Assertions.assertTrue( - it.first().packages.first().functions.size == 0 + it.first().packages.first().functions.isEmpty() ) } } @@ -130,7 +130,7 @@ class DeprecationFilterTest : BaseAbstractTest() { ) { preMergeDocumentablesTransformationStage = { Assertions.assertTrue( - it.first().packages.first().functions.size == 0 + it.first().packages.first().functions.isEmpty() ) } } diff --git a/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt b/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt index ffefaaea39..0b0d9f4981 100644 --- a/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt +++ b/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt @@ -67,7 +67,7 @@ class VisibilityFilterTest : BaseAbstractTest() { ) { preMergeDocumentablesTransformationStage = { Assertions.assertTrue( - it.first().packages.first().functions.size == 0 + it.first().packages.first().functions.isEmpty() ) } } @@ -178,7 +178,7 @@ class VisibilityFilterTest : BaseAbstractTest() { ) { preMergeDocumentablesTransformationStage = { Assertions.assertTrue( - it.first().packages.first().functions.size == 0 + it.first().packages.first().functions.isEmpty() ) } } diff --git a/plugins/base/src/test/kotlin/model/CommentTest.kt b/plugins/base/src/test/kotlin/model/CommentTest.kt index 613576ae31..59b1817a43 100644 --- a/plugins/base/src/test/kotlin/model/CommentTest.kt +++ b/plugins/base/src/test/kotlin/model/CommentTest.kt @@ -175,11 +175,9 @@ class CommentTest : AbstractModelTest("/src/main/kotlin/comment/Test.kt", "comme ) { with((this / "comment" / "property").cast()) { comments() equals "Summary\n\none: []" - docs().find { it is CustomTagWrapper && it.name == "one" }.let { - with(it.assertNotNull("'one' entry")) { - root.children counts 0 - root.params.keys counts 0 - } + with(docs().find { it is CustomTagWrapper && it.name == "one" }.assertNotNull("'one' entry")) { + root.children counts 0 + root.params.keys counts 0 } } } diff --git a/plugins/base/src/test/kotlin/model/FunctionsTest.kt b/plugins/base/src/test/kotlin/model/FunctionsTest.kt index eca5daea0d..7c55694232 100644 --- a/plugins/base/src/test/kotlin/model/FunctionsTest.kt +++ b/plugins/base/src/test/kotlin/model/FunctionsTest.kt @@ -228,7 +228,7 @@ class FunctionTest : AbstractModelTest("/src/main/kotlin/function/Test.kt", "fun with((this / "function" / "Fancy").cast()) { with(extra[Annotations]!!.directAnnotations.entries.single().value.assertNotNull("Annotations")) { this counts 3 - with(map { it.dri.classNames to it }.toMap()) { + with(associate { it.dri.classNames to it }) { with(this["Target"].assertNotNull("Target")) { (params["allowedTargets"].assertNotNull("allowedTargets") as ArrayValue).value equals listOf( EnumValue( @@ -298,7 +298,7 @@ class FunctionTest : AbstractModelTest("/src/main/kotlin/function/Test.kt", "fun with(extra[Annotations]!!.directAnnotations.entries.single().value.assertNotNull("Annotations")) { this counts 3 - with(map { it.dri.classNames to it }.toMap()) { + with(associate { it.dri.classNames to it }) { with(this["Target"].assertNotNull("Target")) { (params["allowedTargets"].assertNotNull("allowedTargets") as ArrayValue).value equals listOf( EnumValue( diff --git a/plugins/base/src/test/kotlin/model/JavaTest.kt b/plugins/base/src/test/kotlin/model/JavaTest.kt index 991b48effc..c2de662f12 100644 --- a/plugins/base/src/test/kotlin/model/JavaTest.kt +++ b/plugins/base/src/test/kotlin/model/JavaTest.kt @@ -46,7 +46,10 @@ class JavaTest : AbstractModelTest("/src/main/kotlin/java/Test.java", "java") { with((this / "fn").cast()) { name equals "fn" val params = parameters.map { it.documentation.values.first().children.first() as Param } - params.mapNotNull { it.firstMemberOfType()?.body } equals listOf("is String parameter", "is int parameter") + params.map { it.firstMemberOfType().body } equals listOf( + "is String parameter", + "is int parameter" + ) } } } diff --git a/plugins/base/src/test/kotlin/signatures/AbstractRenderingTest.kt b/plugins/base/src/test/kotlin/signatures/AbstractRenderingTest.kt index 5ea5c02c1c..79f2d72112 100644 --- a/plugins/base/src/test/kotlin/signatures/AbstractRenderingTest.kt +++ b/plugins/base/src/test/kotlin/signatures/AbstractRenderingTest.kt @@ -3,11 +3,13 @@ package signatures import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.jsoup.Jsoup import org.jsoup.nodes.Element +import org.jsoup.select.Elements import utils.TestOutputWriterPlugin +import java.nio.file.Path import java.nio.file.Paths abstract class AbstractRenderingTest : BaseAbstractTest() { - val testDataDir = getTestDataDir("multiplatform/basicMultiplatformTest").toAbsolutePath() + val testDataDir: Path = getTestDataDir("multiplatform/basicMultiplatformTest").toAbsolutePath() val configuration = dokkaConfiguration { moduleName = "example" @@ -42,10 +44,11 @@ abstract class AbstractRenderingTest : BaseAbstractTest() { } } - fun TestOutputWriterPlugin.renderedContent(path: String) = writer.contents.getValue(path) + fun TestOutputWriterPlugin.renderedContent(path: String): Element = writer.contents.getValue(path) .let { Jsoup.parse(it) }.select("#content").single() - fun TestOutputWriterPlugin.renderedDivergentContent(path: String) = renderedContent(path).select("div.divergent-group") + fun TestOutputWriterPlugin.renderedDivergentContent(path: String): Elements = + renderedContent(path).select("div.divergent-group") val Element.brief: String get() = children().select("p").text() diff --git a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt index e17f0800c6..163f542cd1 100644 --- a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt +++ b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt @@ -1,4 +1,4 @@ -package transformerBuilders; +package transformerBuilders import org.jetbrains.dokka.CoreExtensions import org.jetbrains.dokka.pages.PageNode diff --git a/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest3.kt b/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest3.kt index d8ea90d741..6c9c351f40 100644 --- a/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest3.kt +++ b/plugins/base/src/test/kotlin/transformers/ContextModuleAndPackageDocumentationReaderTest3.kt @@ -2,15 +2,12 @@ package transformers import org.jetbrains.dokka.base.transformers.documentables.ModuleAndPackageDocumentationReader import org.jetbrains.dokka.links.DRI -import org.jetbrains.dokka.model.DPackage import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.utilities.DokkaConsoleLogger import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import testApi.testRunner.TestDokkaConfigurationBuilder import testApi.testRunner.dPackage -import testApi.testRunner.dokkaConfiguration -import testApi.testRunner.sourceSet import kotlin.test.assertEquals class ContextModuleAndPackageDocumentationReaderTest3 : AbstractContextModuleAndPackageDocumentationReaderTest() { diff --git a/plugins/base/src/test/kotlin/utils/TestUtils.kt b/plugins/base/src/test/kotlin/utils/TestUtils.kt index a0528acd2a..990821109f 100644 --- a/plugins/base/src/test/kotlin/utils/TestUtils.kt +++ b/plugins/base/src/test/kotlin/utils/TestUtils.kt @@ -24,7 +24,7 @@ abstract class ModelDSL : BaseAbstractTest() { interface AssertDSL { infix fun Any?.equals(other: Any?) = assertEquals(other, this) infix fun Collection?.allEquals(other: Any?) = - this?.also { c -> c.forEach { it equals other } } ?: run { assert(false) { "Collection is empty" } } + this?.onEach { it equals other } ?: run { assert(false) { "Collection is empty" } } infix fun Collection?.exists(e: T) { assertTrue(this.orEmpty().isNotEmpty(), "Collection cannot be null or empty") assertTrue(this!!.any{it == e}, "Collection doesn't contain $e") diff --git a/plugins/base/src/test/resources/linkable/samples/jsMain/kotlin/JsClass.kt b/plugins/base/src/test/resources/linkable/samples/jsMain/kotlin/JsClass.kt index b61ce70466..b4f66be9ac 100644 --- a/plugins/base/src/test/resources/linkable/samples/jsMain/kotlin/JsClass.kt +++ b/plugins/base/src/test/resources/linkable/samples/jsMain/kotlin/JsClass.kt @@ -5,5 +5,5 @@ class JsClass { /** * @sample samples.SamplesJs.exampleUsage */ - fun printWithExclamation(msg: String) = println(msg + "!") + fun printWithExclamation(msg: String) = println("$msg!") } \ No newline at end of file diff --git a/plugins/base/src/test/resources/linkable/samples/jvmMain/kotlin/JvmClass.kt b/plugins/base/src/test/resources/linkable/samples/jvmMain/kotlin/JvmClass.kt index 960184e6bb..22d44152d8 100644 --- a/plugins/base/src/test/resources/linkable/samples/jvmMain/kotlin/JvmClass.kt +++ b/plugins/base/src/test/resources/linkable/samples/jvmMain/kotlin/JvmClass.kt @@ -5,5 +5,5 @@ class JvmClass { /** * @sample samples.SamplesJvm.exampleUsage */ - fun printWithExclamation(msg: String) = println(msg + "!") + fun printWithExclamation(msg: String) = println("$msg!") } \ No newline at end of file diff --git a/plugins/gfm/src/main/kotlin/org/jetbrains/dokka/gfm/gfmTemplating.kt b/plugins/gfm/src/main/kotlin/org/jetbrains/dokka/gfm/gfmTemplating.kt index 4fa6a36e1e..e66f8a121c 100644 --- a/plugins/gfm/src/main/kotlin/org/jetbrains/dokka/gfm/gfmTemplating.kt +++ b/plugins/gfm/src/main/kotlin/org/jetbrains/dokka/gfm/gfmTemplating.kt @@ -15,7 +15,7 @@ sealed class GfmCommand { get() = groupValues[1] val MatchResult.label get() = groupValues[2] - fun Appendable.templateCommand(command: GfmCommand, content: Appendable.() -> Unit): Unit { + fun Appendable.templateCommand(command: GfmCommand, content: Appendable.() -> Unit) { append("") content() append("") diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPageCreator.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPageCreator.kt index 4dbd5ca793..96bcec7092 100644 --- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPageCreator.kt +++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/JavadocPageCreator.kt @@ -39,7 +39,7 @@ open class JavadocPageCreator(context: DokkaContext) { fun pageForClasslike(c: DClasslike): JavadocClasslikePageNode? = c.highestJvmSourceSet?.let { jvm -> - var children = c.classlikes.mapNotNull { pageForClasslike(it) } + val children = c.classlikes.mapNotNull { pageForClasslike(it) } JavadocClasslikePageNode( name = c.dri.classNames.orEmpty(), content = contentForClasslike(c), diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/JavadocContentNodes.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/JavadocContentNodes.kt index 6115cbff75..2f5caa1ce9 100644 --- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/JavadocContentNodes.kt +++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/JavadocContentNodes.kt @@ -85,7 +85,7 @@ data class TitleNode( val kind: Kind, override val sourceSets: Set ) : JavadocContentNode(dri, kind, sourceSets) { - override fun hasAnyContent(): Boolean = !title.isBlank() || !version.isNullOrBlank() || subtitle.isNotEmpty() + override fun hasAnyContent(): Boolean = title.isNotBlank() || !version.isNullOrBlank() || subtitle.isNotEmpty() override fun withNewExtras(newExtras: PropertyContainer): TitleNode = this diff --git a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/htmlPreprocessors.kt b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/htmlPreprocessors.kt index 6bc0d9fddf..c04c753867 100644 --- a/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/htmlPreprocessors.kt +++ b/plugins/javadoc/src/main/kotlin/org/jetbrains/dokka/javadoc/pages/htmlPreprocessors.kt @@ -51,7 +51,7 @@ object TreeViewInstaller : PageTransformer { private fun installPackageTreeNode(node: JavadocPackagePageNode, root: RootPageNode): JavadocPackagePageNode { val packageTree = TreeViewPage( - name = "${node.name}", + name = node.name, packages = null, classes = node.children.filterIsInstance(), dri = node.dri, diff --git a/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinToJavaConverter.kt b/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinToJavaConverter.kt index 2a0762baee..1e3bd80042 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinToJavaConverter.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinToJavaConverter.kt @@ -54,14 +54,14 @@ internal fun DPackage.asJava(): DPackage { classlikes = emptyList(), sources = emptyMap(), expectPresentInSet = null, - visibility = sourceSets.map { - it to JavaVisibility.Public - }.toMap(), + visibility = sourceSets.associateWith { + JavaVisibility.Public + }, companion = null, generics = emptyList(), supertypes = emptyMap(), documentation = emptyMap(), - modifier = sourceSets.map { it to JavaModifier.Final }.toMap(), + modifier = sourceSets.associateWith { JavaModifier.Final }, sourceSets = sourceSets, isExpectActual = false, extra = PropertyContainer.empty() @@ -98,9 +98,9 @@ internal fun DProperty.asJava(isTopLevel: Boolean = false, relocateToClass: Stri getter = null, // Removing getters and setters as they will be available as functions extra = if (isTopLevel) extra + extra.mergeAdditionalModifiers( - sourceSets.map { - it to setOf(ExtraModifiers.JavaOnlyModifiers.Static) - }.toMap() + sourceSets.associateWith { + setOf(ExtraModifiers.JavaOnlyModifiers.Static) + } ) else extra ) @@ -138,9 +138,9 @@ internal fun DProperty.javaAccessors(isTopLevel: Boolean = false, relocateToClas type = getter.type.asJava(), extra = if (isTopLevel) getter.extra + getter.extra.mergeAdditionalModifiers( - sourceSets.map { - it to setOf(ExtraModifiers.JavaOnlyModifiers.Static) - }.toMap() + sourceSets.associateWith { + setOf(ExtraModifiers.JavaOnlyModifiers.Static) + } ) else getter.extra ) @@ -167,9 +167,9 @@ internal fun DProperty.javaAccessors(isTopLevel: Boolean = false, relocateToClas visibility = visibility.mapValues { JavaVisibility.Public }, type = Void, extra = if (isTopLevel) setter.extra + setter.extra.mergeAdditionalModifiers( - sourceSets.map { - it to setOf(ExtraModifiers.JavaOnlyModifiers.Static) - }.toMap() + sourceSets.associateWith { + setOf(ExtraModifiers.JavaOnlyModifiers.Static) + } ) else setter.extra ) @@ -187,16 +187,16 @@ private fun DFunction.asJava( name = newName, type = type.asJava(), modifier = if (modifier.all { (_, v) -> v is KotlinModifier.Final } && isConstructor) - sourceSets.map { it to JavaModifier.Empty }.toMap() - else sourceSets.map { it to modifier.values.first() }.toMap(), + sourceSets.associateWith { JavaModifier.Empty } + else sourceSets.associateWith { modifier.values.first() }, parameters = listOfNotNull(receiver?.asJava()) + parameters.map { it.asJava() }, visibility = visibility.map { (sourceSet, visibility) -> Pair(sourceSet, visibility.asJava()) }.toMap(), receiver = null, extra = if (isTopLevel) { extra + extra.mergeAdditionalModifiers( - sourceSets.map { - it to setOf(ExtraModifiers.JavaOnlyModifiers.Static) - }.toMap() + sourceSets.associateWith { + setOf(ExtraModifiers.JavaOnlyModifiers.Static) + } ) } else { extra @@ -253,7 +253,11 @@ internal fun DClasslike.asJava(): DClasslike = when (this) { internal fun DClass.asJava(): DClass = copy( constructors = constructors .filterNot { it.hasJvmSynthetic() } - .flatMap { it.asJava(dri.classNames ?: name) }, // name may not always be valid here, however classNames should always be not null + .flatMap { + it.asJava( + dri.classNames ?: name + ) + }, // name may not always be valid here, however classNames should always be not null functions = functionsInJava(), properties = properties .filterNot { it.hasJvmSynthetic() } @@ -261,9 +265,8 @@ internal fun DClass.asJava(): DClass = copy( classlikes = classlikes.map { it.asJava() }, generics = generics.map { it.asJava() }, supertypes = supertypes.mapValues { it.value.map { it.asJava() } }, - modifier = if (modifier.all { (_, v) -> v is KotlinModifier.Empty }) sourceSets.map { it to JavaModifier.Final } - .toMap() - else sourceSets.map { it to modifier.values.first() }.toMap() + modifier = if (modifier.all { (_, v) -> v is KotlinModifier.Empty }) sourceSets.associateWith { JavaModifier.Final } + else sourceSets.associateWith { modifier.values.first() } ) internal fun DClass.functionsInJava(): List = @@ -343,13 +346,13 @@ internal fun DObject.asJava(): DObject = copy( .map { it.asJava() } + DProperty( name = "INSTANCE", - modifier = sourceSets.map { it to JavaModifier.Final }.toMap(), + modifier = sourceSets.associateWith { JavaModifier.Final }, dri = dri.copy(callable = Callable("INSTANCE", null, emptyList())), documentation = emptyMap(), sources = emptyMap(), - visibility = sourceSets.map { - it to JavaVisibility.Public - }.toMap(), + visibility = sourceSets.associateWith { + JavaVisibility.Public + }, type = GenericTypeConstructor(dri, emptyList()), setter = null, getter = null, diff --git a/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureUtils.kt b/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureUtils.kt index a50fdf686b..61a31627f0 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureUtils.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/signatures/JavaSignatureUtils.kt @@ -29,8 +29,8 @@ object JavaSignatureUtils : JvmSignatureUtils { annotationsInlineWithIgnored(d, ignoredAnnotations, strategy, listBrackets, classExtension) override fun WithExtraProperties.modifiers() = - extra[AdditionalModifiers]?.content?.entries?.map { + extra[AdditionalModifiers]?.content?.entries?.associate { it.key to it.value.filterIsInstance().toSet() - }?.toMap() ?: emptyMap() + } ?: emptyMap() } \ No newline at end of file diff --git a/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameProvider.kt b/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameProvider.kt index 31252ae006..c928ea675b 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameProvider.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/transformers/JvmNameProvider.kt @@ -18,7 +18,7 @@ class JvmNameProvider { fun nameForSyntheticClass(entry: T): Name where T : WithSources, T : WithExtraProperties, T : Documentable { val name: String = (entry.fileLevelJvmName()?.params?.get("name") as? StringValue)?.value - ?: entry.sources.entries.first().value.path.split("/").last().split(".").first().capitalize() + "Kt" + ?: (entry.sources.entries.first().value.path.split("/").last().split(".").first().capitalize() + "Kt") return Name("${entry.dri.packageName}.$name") } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleSourceLinkBuilder.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleSourceLinkBuilder.kt index 6dec5f8939..2ddd8056d5 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleSourceLinkBuilder.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleSourceLinkBuilder.kt @@ -17,7 +17,7 @@ class GradleSourceLinkBuilder( val localDirectory: Property = project.objects.safeProperty() @Input - val remoteUrl: Property = project.objects.safeProperty() + val remoteUrl: Property = project.objects.safeProperty() @Optional @Input diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt index 58039ab970..fe919407b0 100644 --- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -288,8 +288,8 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List Date: Wed, 22 Sep 2021 17:42:04 +0800 Subject: [PATCH 2/7] Optimize imports --- .../transformers/documentation/DocumentableMerger.kt | 1 - .../documentation/DocumentableToPageTranslator.kt | 1 - .../transformers/documentation/DocumentableTransformer.kt | 1 - core/src/main/kotlin/transformers/pages/PageCreator.kt | 1 - .../dokka/analysis/DokkaNativeKlibLibraryInfo.kt | 3 +-- .../org/jetbrains/dokka/analysis/EnvironmentAndFacade.kt | 6 ++++-- .../ModuleAndPackageDocumentationParsingContext.kt | 4 ++-- .../main/kotlin/renderers/DefaultTabSortingStrategy.kt | 1 - plugins/base/src/main/kotlin/renderers/preprocessors.kt | 8 ++++++-- .../src/main/kotlin/transformers/documentables/utils.kt | 1 - .../main/kotlin/transformers/pages/merger/PageMerger.kt | 1 - .../main/kotlin/translators/psi/parsers/exceptionTag.kt | 1 - .../kotlin-as-java/src/main/kotlin/KotlinAsJavaPlugin.kt | 2 -- .../KotlinAsJavaDocumentableToPageTranslator.kt | 7 ++----- .../main/kotlin/translators/KotlinAsJavaPageCreator.kt | 1 - .../org/jetbrains/dokka/gradle/AbstractDokkaLeafTask.kt | 2 +- .../dokka/gradle/GradleDokkaSourceSetBuilderFactory.kt | 1 - 17 files changed, 16 insertions(+), 26 deletions(-) diff --git a/core/src/main/kotlin/transformers/documentation/DocumentableMerger.kt b/core/src/main/kotlin/transformers/documentation/DocumentableMerger.kt index aa878873e4..1adc278a46 100644 --- a/core/src/main/kotlin/transformers/documentation/DocumentableMerger.kt +++ b/core/src/main/kotlin/transformers/documentation/DocumentableMerger.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.transformers.documentation import org.jetbrains.dokka.model.DModule -import org.jetbrains.dokka.plugability.DokkaContext interface DocumentableMerger { operator fun invoke(modules: Collection): DModule? diff --git a/core/src/main/kotlin/transformers/documentation/DocumentableToPageTranslator.kt b/core/src/main/kotlin/transformers/documentation/DocumentableToPageTranslator.kt index a4daba630f..fac3fb3a10 100644 --- a/core/src/main/kotlin/transformers/documentation/DocumentableToPageTranslator.kt +++ b/core/src/main/kotlin/transformers/documentation/DocumentableToPageTranslator.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.transformers.documentation import org.jetbrains.dokka.model.DModule -import org.jetbrains.dokka.pages.ModulePageNode import org.jetbrains.dokka.pages.RootPageNode interface DocumentableToPageTranslator { diff --git a/core/src/main/kotlin/transformers/documentation/DocumentableTransformer.kt b/core/src/main/kotlin/transformers/documentation/DocumentableTransformer.kt index d0570c7a47..9376408e3c 100644 --- a/core/src/main/kotlin/transformers/documentation/DocumentableTransformer.kt +++ b/core/src/main/kotlin/transformers/documentation/DocumentableTransformer.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.transformers.documentation import org.jetbrains.dokka.model.DModule -import org.jetbrains.dokka.model.Documentable import org.jetbrains.dokka.plugability.DokkaContext interface DocumentableTransformer { diff --git a/core/src/main/kotlin/transformers/pages/PageCreator.kt b/core/src/main/kotlin/transformers/pages/PageCreator.kt index ebb9dac5cb..fb5b3b47c6 100644 --- a/core/src/main/kotlin/transformers/pages/PageCreator.kt +++ b/core/src/main/kotlin/transformers/pages/PageCreator.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.transformers.pages import org.jetbrains.dokka.pages.RootPageNode -import org.jetbrains.dokka.plugability.DokkaContext interface CreationContext diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DokkaNativeKlibLibraryInfo.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DokkaNativeKlibLibraryInfo.kt index 0b56f18778..0307905811 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DokkaNativeKlibLibraryInfo.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DokkaNativeKlibLibraryInfo.kt @@ -2,10 +2,9 @@ package org.jetbrains.dokka.analysis import org.jetbrains.kotlin.analyzer.LibraryModuleInfo import org.jetbrains.kotlin.analyzer.ModuleInfo -import org.jetbrains.kotlin.descriptors.ModuleDescriptor +import org.jetbrains.kotlin.descriptors.ModuleCapability import org.jetbrains.kotlin.descriptors.konan.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.descriptors.konan.KlibModuleOrigin -import org.jetbrains.kotlin.descriptors.ModuleCapability import org.jetbrains.kotlin.idea.klib.safeRead import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.isInterop diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/EnvironmentAndFacade.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/EnvironmentAndFacade.kt index 9726e5b7d2..90958ff320 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/EnvironmentAndFacade.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/EnvironmentAndFacade.kt @@ -3,10 +3,12 @@ package org.jetbrains.dokka.analysis import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.Platform import org.jetbrains.dokka.utilities.DokkaLogger -import org.jetbrains.kotlin.cli.common.messages.* +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSourceLocation +import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.utils.PathUtil -import java.io.File internal fun createEnvironmentAndFacade( logger: DokkaLogger, diff --git a/plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationParsingContext.kt b/plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationParsingContext.kt index 9122d8ee4d..f36071ff27 100644 --- a/plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationParsingContext.kt +++ b/plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationParsingContext.kt @@ -5,9 +5,9 @@ package org.jetbrains.dokka.base.parsers.moduleAndPackage import org.jetbrains.dokka.analysis.DokkaResolutionFacade import org.jetbrains.dokka.analysis.from import org.jetbrains.dokka.base.parsers.MarkdownParser -import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.* +import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.Module +import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier.Package import org.jetbrains.dokka.links.DRI -import org.jetbrains.dokka.model.doc.Description import org.jetbrains.dokka.model.doc.DocumentationNode import org.jetbrains.dokka.utilities.DokkaLogger import org.jetbrains.kotlin.descriptors.ClassDescriptor diff --git a/plugins/base/src/main/kotlin/renderers/DefaultTabSortingStrategy.kt b/plugins/base/src/main/kotlin/renderers/DefaultTabSortingStrategy.kt index 3b849fece3..056e0f93cc 100644 --- a/plugins/base/src/main/kotlin/renderers/DefaultTabSortingStrategy.kt +++ b/plugins/base/src/main/kotlin/renderers/DefaultTabSortingStrategy.kt @@ -3,7 +3,6 @@ package org.jetbrains.dokka.base.renderers import org.jetbrains.dokka.pages.ContentKind import org.jetbrains.dokka.pages.ContentNode import org.jetbrains.dokka.pages.Kind -import org.jetbrains.dokka.utilities.DokkaLogger private val kindsOrder = listOf( ContentKind.Classlikes, diff --git a/plugins/base/src/main/kotlin/renderers/preprocessors.kt b/plugins/base/src/main/kotlin/renderers/preprocessors.kt index 1a41162deb..8a30bed1db 100644 --- a/plugins/base/src/main/kotlin/renderers/preprocessors.kt +++ b/plugins/base/src/main/kotlin/renderers/preprocessors.kt @@ -1,8 +1,12 @@ package org.jetbrains.dokka.base.renderers import org.jetbrains.dokka.base.resolvers.shared.LinkFormat -import org.jetbrains.dokka.model.withDescendants -import org.jetbrains.dokka.pages.* +import org.jetbrains.dokka.pages.ModulePage +import org.jetbrains.dokka.pages.RendererSpecificPage +import org.jetbrains.dokka.pages.RendererSpecificResourcePage +import org.jetbrains.dokka.pages.RendererSpecificRootPage +import org.jetbrains.dokka.pages.RenderingStrategy +import org.jetbrains.dokka.pages.RootPageNode import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.pages.PageTransformer diff --git a/plugins/base/src/main/kotlin/transformers/documentables/utils.kt b/plugins/base/src/main/kotlin/transformers/documentables/utils.kt index 961d2aca23..2a5fbc1184 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/utils.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/utils.kt @@ -3,7 +3,6 @@ package org.jetbrains.dokka.base.transformers.documentables import org.jetbrains.dokka.model.Annotations import org.jetbrains.dokka.model.Documentable import org.jetbrains.dokka.model.ExceptionInSupertypes -import org.jetbrains.dokka.model.WithSupertypes import org.jetbrains.dokka.model.properties.WithExtraProperties fun T.isDeprecated() where T : WithExtraProperties = diff --git a/plugins/base/src/main/kotlin/transformers/pages/merger/PageMerger.kt b/plugins/base/src/main/kotlin/transformers/pages/merger/PageMerger.kt index c1f1a7f534..fb8ce535d0 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/merger/PageMerger.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/merger/PageMerger.kt @@ -6,7 +6,6 @@ import org.jetbrains.dokka.pages.RootPageNode import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.plugability.plugin import org.jetbrains.dokka.plugability.query -import org.jetbrains.dokka.plugability.querySingle import org.jetbrains.dokka.transformers.pages.PageTransformer class PageMerger(context: DokkaContext) : PageTransformer { diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/exceptionTag.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/exceptionTag.kt index 6e1850bbcd..3cc16251b5 100644 --- a/plugins/base/src/main/kotlin/translators/psi/parsers/exceptionTag.kt +++ b/plugins/base/src/main/kotlin/translators/psi/parsers/exceptionTag.kt @@ -3,7 +3,6 @@ package org.jetbrains.dokka.base.translators.psi.parsers import com.intellij.psi.PsiElement import com.intellij.psi.PsiJavaCodeReferenceElement import com.intellij.psi.impl.source.tree.JavaDocElementType -import com.intellij.psi.javadoc.PsiDocTag import com.intellij.psi.util.PsiTreeUtil internal fun PsiElement.referenceElementOrSelf(): PsiElement? = diff --git a/plugins/kotlin-as-java/src/main/kotlin/KotlinAsJavaPlugin.kt b/plugins/kotlin-as-java/src/main/kotlin/KotlinAsJavaPlugin.kt index b8e12553e5..935845d0cd 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/KotlinAsJavaPlugin.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/KotlinAsJavaPlugin.kt @@ -2,13 +2,11 @@ package org.jetbrains.dokka.kotlinAsJava import org.jetbrains.dokka.CoreExtensions import org.jetbrains.dokka.base.DokkaBase -import org.jetbrains.dokka.base.DokkaBaseConfiguration import org.jetbrains.dokka.kotlinAsJava.signatures.JavaSignatureProvider import org.jetbrains.dokka.kotlinAsJava.transformers.JvmNameDocumentableTransformer import org.jetbrains.dokka.kotlinAsJava.transformers.KotlinAsJavaDocumentableTransformer import org.jetbrains.dokka.kotlinAsJava.translators.KotlinAsJavaDocumentableToPageTranslator import org.jetbrains.dokka.plugability.DokkaPlugin -import org.jetbrains.dokka.plugability.configuration class KotlinAsJavaPlugin : DokkaPlugin() { val kotlinAsJavaDocumentableTransformer by extending { diff --git a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt index 0f7d74b62e..3697fd95a8 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt @@ -2,16 +2,13 @@ package org.jetbrains.dokka.kotlinAsJava.translators import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.DokkaBaseConfiguration -import org.jetbrains.dokka.base.signatures.SignatureProvider -import org.jetbrains.dokka.base.transformers.pages.comments.CommentsToContentConverter -import org.jetbrains.dokka.DokkaConfiguration -import org.jetbrains.dokka.transformers.documentation.DocumentableToPageTranslator import org.jetbrains.dokka.model.DModule import org.jetbrains.dokka.pages.ModulePageNode -import org.jetbrains.dokka.plugability.configuration import org.jetbrains.dokka.plugability.DokkaContext +import org.jetbrains.dokka.plugability.configuration import org.jetbrains.dokka.plugability.plugin import org.jetbrains.dokka.plugability.querySingle +import org.jetbrains.dokka.transformers.documentation.DocumentableToPageTranslator import org.jetbrains.dokka.utilities.DokkaLogger class KotlinAsJavaDocumentableToPageTranslator(context: DokkaContext) : DocumentableToPageTranslator { diff --git a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaPageCreator.kt b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaPageCreator.kt index b2cf624651..58bc12e308 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaPageCreator.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaPageCreator.kt @@ -4,7 +4,6 @@ import org.jetbrains.dokka.base.DokkaBaseConfiguration import org.jetbrains.dokka.base.signatures.SignatureProvider import org.jetbrains.dokka.base.transformers.pages.comments.CommentsToContentConverter import org.jetbrains.dokka.base.translators.documentables.DefaultPageCreator -import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.model.DProperty import org.jetbrains.dokka.pages.MemberPageNode import org.jetbrains.dokka.utilities.DokkaLogger diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaLeafTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaLeafTask.kt index f10f32ec3f..74125956f5 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaLeafTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/AbstractDokkaLeafTask.kt @@ -1,4 +1,4 @@ -package org.jetbrains.dokka.gradle; +package org.jetbrains.dokka.gradle import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.internal.plugins.DslObject diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderFactory.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderFactory.kt index 49c489c75e..e1b93ae8b6 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderFactory.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderFactory.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka.gradle import org.gradle.api.NamedDomainObjectFactory -import org.gradle.api.Task @Suppress("ObjectLiteralToLambda") // Will fail at runtime in Gradle versions <= 6.6 fun AbstractDokkaTask.gradleDokkaSourceSetBuilderFactory(): NamedDomainObjectFactory = From dfdba62d715949c2c93a7c6e80dda7fe33373ed9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Wed, 22 Sep 2021 18:33:04 +0800 Subject: [PATCH 3/7] Code cleanups --- .../DefaultDescriptorToDocumentableTranslator.kt | 4 ++-- .../kotlin/renderers/html/HtmlRenderingOnlyTestBase.kt | 8 ++++---- .../jvmMain/kotlin/example/Clock.kt | 6 ------ .../dokka/javadoc/location/JavadocLocationTest.kt | 2 +- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt index 0e21dc7eb4..6a43f69d93 100644 --- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt +++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt @@ -987,7 +987,7 @@ private class DokkaDescriptorVisitor( DRI.from(annotationClass as DeclarationDescriptor), allValueArguments.map { it.key.asString() to it.value.toValue() }.filter { it.second != null - }.toMap() as Map, + }.toMap(), mustBeDocumented(), scope ) @@ -1018,7 +1018,7 @@ private class DokkaDescriptorVisitor( (source as? KotlinSourceElement)?.psi?.children?.filterIsInstance()?.firstOrNull() ?.toDefaultValueExpression() - private suspend fun ClassDescriptor.getAppliedConstructorParameters() = + private fun ClassDescriptor.getAppliedConstructorParameters() = (source as PsiSourceElement).psi?.children?.flatMap { it.safeAs()?.initializersAsExpression().orEmpty() }.orEmpty() diff --git a/plugins/base/src/test/kotlin/renderers/html/HtmlRenderingOnlyTestBase.kt b/plugins/base/src/test/kotlin/renderers/html/HtmlRenderingOnlyTestBase.kt index 9b88a1707a..4d690fccae 100644 --- a/plugins/base/src/test/kotlin/renderers/html/HtmlRenderingOnlyTestBase.kt +++ b/plugins/base/src/test/kotlin/renderers/html/HtmlRenderingOnlyTestBase.kt @@ -47,11 +47,11 @@ abstract class HtmlRenderingOnlyTestBase : RenderingOnlyTestBase() { ) override val context = MockContext( - DokkaBase().outputWriter to { _ -> files }, + DokkaBase().outputWriter to { files }, DokkaBase().locationProviderFactory to ::DokkaLocationProviderFactory, - DokkaBase().htmlPreprocessors to { _ -> RootCreator }, - DokkaBase().externalLocationProviderFactory to { ::JavadocExternalLocationProviderFactory }, - DokkaBase().externalLocationProviderFactory to { ::DefaultExternalLocationProviderFactory }, + DokkaBase().htmlPreprocessors to { RootCreator }, + DokkaBase().externalLocationProviderFactory to ::JavadocExternalLocationProviderFactory, + DokkaBase().externalLocationProviderFactory to ::DefaultExternalLocationProviderFactory, DokkaBase().tabSortingStrategy to { DefaultTabSortingStrategy() }, testConfiguration = configuration ) diff --git a/plugins/base/src/test/resources/multiplatform/basicMultiplatformTest/jvmMain/kotlin/example/Clock.kt b/plugins/base/src/test/resources/multiplatform/basicMultiplatformTest/jvmMain/kotlin/example/Clock.kt index 6ad73db73e..237cf66f20 100644 --- a/plugins/base/src/test/resources/multiplatform/basicMultiplatformTest/jvmMain/kotlin/example/Clock.kt +++ b/plugins/base/src/test/resources/multiplatform/basicMultiplatformTest/jvmMain/kotlin/example/Clock.kt @@ -19,12 +19,6 @@ actual open class Clock { * ...JVM! */ fun onlyJVMFunction(): Double = 2.5 - /** - * Custom equals function - */ - override fun equals(other: Any?): Boolean { - return super.equals(other) - } open fun getDayOfTheWeek(): String { TODO("not implemented") diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt index 7abbeca842..94af07affe 100644 --- a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt +++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/location/JavadocLocationTest.kt @@ -128,7 +128,7 @@ class JavadocLocationTest : BaseAbstractTest() { locationTestInline { rootPageNode, dokkaContext -> val locationProvider = dokkaContext.plugin().querySingle { locationProviderFactory } .getLocationProvider(rootPageNode) - val packageNode = rootPageNode.firstChildOfType() { it.name == "javadoc.test" } + val packageNode = rootPageNode.firstChildOfType { it.name == "javadoc.test" } val packagePath = locationProvider.resolve(packageNode) assertEquals("javadoc/test/package-summary", packagePath) From b5edfc4ee3b101fc9f5cb19b645b20f3d4a2657e Mon Sep 17 00:00:00 2001 From: Goooler Date: Fri, 24 Sep 2021 16:11:57 +0800 Subject: [PATCH 4/7] Code cleanups --- .../src/main/kotlin/resolvers/local/DokkaLocationProvider.kt | 2 +- plugins/base/src/test/kotlin/model/ClassesTest.kt | 2 +- plugins/base/src/test/kotlin/model/FunctionsTest.kt | 4 ++-- plugins/base/src/test/kotlin/model/JavaTest.kt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt index 2575c204ca..733ab48628 100644 --- a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt +++ b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt @@ -96,7 +96,7 @@ open class DokkaLocationProvider( .mapNotNull { ssid -> dokkaContext.configuration.sourceSets.find { it.sourceSetID == ssid }?.toDisplaySourceSet() } - }.orEmpty() + } return allSourceSets.asSequence().mapNotNull { displaySourceSet -> pagesIndex[DRIWithSourceSets(dri, displaySourceSet)]?.let { page -> resolve(page, context) } diff --git a/plugins/base/src/test/kotlin/model/ClassesTest.kt b/plugins/base/src/test/kotlin/model/ClassesTest.kt index b05ed4fbe8..920dea1023 100644 --- a/plugins/base/src/test/kotlin/model/ClassesTest.kt +++ b/plugins/base/src/test/kotlin/model/ClassesTest.kt @@ -322,7 +322,7 @@ class ClassesTest : AbstractModelTest("/src/main/kotlin/classes/Test.kt", "class constructors.map { it.name } allEquals "C" - with(constructors.find { it.parameters.isNullOrEmpty() } notNull "C()") { + with(constructors.find { it.parameters.isEmpty() } notNull "C()") { parameters counts 0 } diff --git a/plugins/base/src/test/kotlin/model/FunctionsTest.kt b/plugins/base/src/test/kotlin/model/FunctionsTest.kt index 7c55694232..29c81a6593 100644 --- a/plugins/base/src/test/kotlin/model/FunctionsTest.kt +++ b/plugins/base/src/test/kotlin/model/FunctionsTest.kt @@ -44,7 +44,7 @@ class FunctionTest : AbstractModelTest("/src/main/kotlin/function/Test.kt", "fun ) { with((this / "function").cast()) { val fn1 = functions.find { - it.name == "fn" && it.parameters.isNullOrEmpty() + it.name == "fn" && it.parameters.isEmpty() }.assertNotNull("fn()") val fn2 = functions.find { it.name == "fn" && it.parameters.isNotEmpty() @@ -81,7 +81,7 @@ class FunctionTest : AbstractModelTest("/src/main/kotlin/function/Test.kt", "fun ) { with((this / "function").cast()) { val fn1 = functions.find { - it.name == "fn" && it.parameters.isNullOrEmpty() + it.name == "fn" && it.parameters.isEmpty() }.assertNotNull("fn()") val fn2 = functions.find { it.name == "fn" && it.parameters.count() == 1 diff --git a/plugins/base/src/test/kotlin/model/JavaTest.kt b/plugins/base/src/test/kotlin/model/JavaTest.kt index c2de662f12..e95b164a59 100644 --- a/plugins/base/src/test/kotlin/model/JavaTest.kt +++ b/plugins/base/src/test/kotlin/model/JavaTest.kt @@ -157,7 +157,7 @@ class JavaTest : AbstractModelTest("/src/main/kotlin/java/Test.java", "java") { constructors counts 2 constructors.forEach { it.name equals "Test" } - constructors.find { it.parameters.isNullOrEmpty() }.assertNotNull("Test()") + constructors.find { it.parameters.isEmpty() }.assertNotNull("Test()") with(constructors.find { it.parameters.isNotEmpty() }.assertNotNull("Test(String)")) { parameters.firstOrNull()?.type?.name equals "String" From 2e2983df33aa54585afde8c117e34db1c539b4b5 Mon Sep 17 00:00:00 2001 From: Goooler Date: Mon, 14 Feb 2022 17:47:18 +0800 Subject: [PATCH 5/7] Replace `map` with `associateWith` --- .../kotlin/transformers/pages/samples/SamplesTransformer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt index 3680c25703..3ff7a77d26 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt @@ -46,8 +46,8 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { } } - private fun setUpAnalysis(context: DokkaContext) = context.configuration.sourceSets.map { sourceSet -> - sourceSet to if (sourceSet.samples.isEmpty()) context.plugin() + private fun setUpAnalysis(context: DokkaContext) = context.configuration.sourceSets.associateWith { sourceSet -> + if (sourceSet.samples.isEmpty()) context.plugin() .querySingle { kotlinAnalysis }[sourceSet] // from sourceSet.sourceRoots else AnalysisEnvironment(DokkaMessageCollector(context.logger), sourceSet.analysisPlatform).run { if (analysisPlatform == Platform.jvm) { From 78f21cfa4734b7bd8df9b33ac902afdac065164a Mon Sep 17 00:00:00 2001 From: Goooler Date: Fri, 18 Feb 2022 12:22:42 +0800 Subject: [PATCH 6/7] Import --- .../translators/KotlinAsJavaDocumentableToPageTranslator.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt index 9942f839cc..80c3a3dea5 100644 --- a/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt +++ b/plugins/kotlin-as-java/src/main/kotlin/translators/KotlinAsJavaDocumentableToPageTranslator.kt @@ -7,6 +7,7 @@ import org.jetbrains.dokka.pages.ModulePageNode import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.plugability.configuration import org.jetbrains.dokka.plugability.plugin +import org.jetbrains.dokka.plugability.query import org.jetbrains.dokka.plugability.querySingle import org.jetbrains.dokka.transformers.documentation.DocumentableToPageTranslator import org.jetbrains.dokka.utilities.DokkaLogger From b569c68e489e7526816377175f865143254986a9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Fri, 18 Feb 2022 20:59:33 +0800 Subject: [PATCH 7/7] Rename --- .../org/jetbrains/dokka/analysis/AnalysisEnvironment.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt index 3fcccc8744..0d15937464 100644 --- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt +++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt @@ -428,10 +428,10 @@ class AnalysisEnvironment(val messageCollector: MessageCollector, val analysisPl builtIns: KotlinBuiltIns ): ResolverForProject { val javaRoots = classpath - .mapNotNull { it -> - val rootFile = when (it.extension) { - "jar" -> StandardFileSystems.jar().findFileByPath("${it.absolutePath}$JAR_SEPARATOR") - else -> StandardFileSystems.local().findFileByPath(it.absolutePath) + .mapNotNull { file -> + val rootFile = when (file.extension) { + "jar" -> StandardFileSystems.jar().findFileByPath("${file.absolutePath}$JAR_SEPARATOR") + else -> StandardFileSystems.local().findFileByPath(file.absolutePath) } rootFile?.let { JavaRoot(it, JavaRoot.RootType.BINARY) } }