diff options
author | Ignat Beresnev <ignat.beresnev@jetbrains.com> | 2023-11-10 11:46:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-10 11:46:54 +0100 |
commit | 8e5c63d035ef44a269b8c43430f43f5c8eebfb63 (patch) | |
tree | 1b915207b2b9f61951ddbf0ff2e687efd053d555 /plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt | |
parent | a44efd4ba0c2e4ab921ff75e0f53fc9335aa79db (diff) | |
download | dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.gz dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.bz2 dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.zip |
Restructure the project to utilize included builds (#3174)
* Refactor and simplify artifact publishing
* Update Gradle to 8.4
* Refactor and simplify convention plugins and build scripts
Fixes #3132
---------
Co-authored-by: Adam <897017+aSemy@users.noreply.github.com>
Co-authored-by: Oleg Yukhnevich <whyoleg@gmail.com>
Diffstat (limited to 'plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt')
-rw-r--r-- | plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt b/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt deleted file mode 100644 index 260fc25d..00000000 --- a/plugins/kotlin-as-java/src/main/kotlin/converters/KotlinCompanion.kt +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -package org.jetbrains.dokka.kotlinAsJava.converters - -import org.jetbrains.dokka.links.Callable -import org.jetbrains.dokka.model.* -import org.jetbrains.dokka.model.properties.PropertyContainer - -private const val DEFAULT_COMPANION_NAME = "Companion" - -internal fun DObject?.staticFunctionsForJava(): List<DFunction> { - if (this == null) return emptyList() - return functions.filter { it.isJvmStatic } -} - -/** - * @return properties that will be visible as static for java. - * See [Static fields](https://kotlinlang.org/docs/java-to-kotlin-interop.html#static-fields) - */ -internal fun DObject?.staticPropertiesForJava(): List<DProperty> { - if (this == null) return emptyList() - return properties.filter { it.isJvmField || it.isConst || it.isLateInit } -} - -internal fun DObject.companionInstancePropertyForJava(): DProperty? { - if (hasNothingToRender()) return null // do not show if companion not rendered - - return DProperty( - name = name ?: DEFAULT_COMPANION_NAME, - modifier = sourceSets.associateWith { JavaModifier.Final }, - dri = dri.copy(callable = Callable(name ?: DEFAULT_COMPANION_NAME, null, emptyList())), - documentation = emptyMap(), - sources = emptyMap(), - visibility = sourceSets.associateWith { - JavaVisibility.Public - }, - type = GenericTypeConstructor(dri, emptyList()), - setter = null, - getter = null, - sourceSets = sourceSets, - receiver = null, - generics = emptyList(), - expectPresentInSet = expectPresentInSet, - isExpectActual = false, - extra = PropertyContainer.withAll(sourceSets.map { - mapOf(it to setOf(ExtraModifiers.JavaOnlyModifiers.Static)).toAdditionalModifiers() - }) - ) -} - -/** - * Hide companion object if there isn't members of parents. - * Properties and functions that are moved to outer class are not counted as members. - */ -internal fun DObject.hasNothingToRender(): Boolean { - val nonStaticPropsCount = properties.size - staticPropertiesForJava().size - val nonStaticFunctionsCount = functions.size - staticFunctionsForJava().size - val classLikesCount = classlikes.size - val superTypesCount = supertypes.values.firstOrNull()?.size ?: 0 - - return nonStaticFunctionsCount + nonStaticPropsCount + - classLikesCount + superTypesCount == 0 -} |