Skip to content

Commit

Permalink
Expose Kotlin-as-Java methods that could be used not only as part of …
Browse files Browse the repository at this point in the history
…transformers
  • Loading branch information
BarkingBad committed Feb 8, 2022
1 parent 1073ea1 commit c8ce98d
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 8 deletions.
4 changes: 3 additions & 1 deletion plugins/kotlin-as-java/api/kotlin-as-java.api
Expand Up @@ -7,6 +7,7 @@ public final class org/jetbrains/dokka/kotlinAsJava/KotlinAsJavaPlugin : org/jet
}

public final class org/jetbrains/dokka/kotlinAsJava/converters/KotlinToJavaConverterKt {
public static final fun asJava (Lorg/jetbrains/dokka/model/DClasslike;)Lorg/jetbrains/dokka/model/DClasslike;
public static final fun getJvmNameProvider ()Lorg/jetbrains/dokka/kotlinAsJava/transformers/JvmNameProvider;
}

Expand Down Expand Up @@ -46,8 +47,9 @@ public final class org/jetbrains/dokka/kotlinAsJava/signatures/JavaSignatureUtil
}

public final class org/jetbrains/dokka/kotlinAsJava/transformers/JvmNameDocumentableTransformer : org/jetbrains/dokka/transformers/documentation/DocumentableTransformer {
public fun <init> ()V
public fun <init> (Lorg/jetbrains/dokka/plugability/DokkaContext;)V
public fun invoke (Lorg/jetbrains/dokka/model/DModule;Lorg/jetbrains/dokka/plugability/DokkaContext;)Lorg/jetbrains/dokka/model/DModule;
public final fun transformClassLike (Lorg/jetbrains/dokka/model/DClasslike;)Lorg/jetbrains/dokka/model/DClasslike;
}

public final class org/jetbrains/dokka/kotlinAsJava/transformers/JvmNameProvider {
Expand Down
Expand Up @@ -16,7 +16,7 @@ class KotlinAsJavaPlugin : DokkaPlugin() {
}

val jvmNameTransformer by extending {
CoreExtensions.documentableTransformer with JvmNameDocumentableTransformer() order {
CoreExtensions.documentableTransformer providing ::JvmNameDocumentableTransformer order {
after(kotlinAsJavaDocumentableTransformer)
}
}
Expand Down
Expand Up @@ -241,7 +241,7 @@ internal fun DFunction.asJava(containingClassName: String, isTopLevel: Boolean =
}
}

internal fun DClasslike.asJava(): DClasslike = when (this) {
fun DClasslike.asJava(): DClasslike = when (this) {
is DClass -> asJava()
is DEnum -> asJava()
is DAnnotation -> asJava()
Expand Down
Expand Up @@ -5,12 +5,10 @@ import org.jetbrains.dokka.model.properties.PropertyContainer
import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.transformers.documentation.DocumentableTransformer

class JvmNameDocumentableTransformer : DocumentableTransformer {
class JvmNameDocumentableTransformer(private val context: DokkaContext) : DocumentableTransformer {
private val jvmNameProvider = JvmNameProvider()
private lateinit var context: DokkaContext

override fun invoke(original: DModule, context: DokkaContext): DModule {
this.context = context
return original.copy(packages = original.packages.map { transform(it) })
}

Expand Down Expand Up @@ -55,7 +53,8 @@ class JvmNameDocumentableTransformer : DocumentableTransformer {
return extraWithoutAnnotations.addAll(listOfNotNull(annotationsWithoutJvmName))
}

private fun transformClassLike(documentable: DClasslike): DClasslike =
@Suppress("MemberVisibilityCanBePrivate")
fun transformClassLike(documentable: DClasslike): DClasslike =
with(documentable) {
when (this) {
is DClass -> copy(
Expand Down Expand Up @@ -108,4 +107,4 @@ class JvmNameDocumentableTransformer : DocumentableTransformer {
}
})
}
}
}

0 comments on commit c8ce98d

Please sign in to comment.