aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/templating
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin/templating')
-rw-r--r--plugins/base/src/main/kotlin/templating/jsonMapperForPlugins.kt6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/base/src/main/kotlin/templating/jsonMapperForPlugins.kt b/plugins/base/src/main/kotlin/templating/jsonMapperForPlugins.kt
index 98cabd72..903063d3 100644
--- a/plugins/base/src/main/kotlin/templating/jsonMapperForPlugins.kt
+++ b/plugins/base/src/main/kotlin/templating/jsonMapperForPlugins.kt
@@ -11,6 +11,7 @@ import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
import org.jetbrains.dokka.base.DokkaBase
import java.io.File
+// TODO [beresnev] try to get rid of this copy-paste in #2933
// THIS IS COPIED FROM BASE SINCE IT NEEDS TO BE INSTANTIATED ON THE SAME CLASS LOADER AS PLUGINS
private val objectMapper = run {
@@ -26,10 +27,11 @@ private val objectMapper = run {
}
@PublishedApi
-internal class TypeReference<T> private constructor(
+internal class TypeReference<T> @PublishedApi internal constructor(
internal val jackson: com.fasterxml.jackson.core.type.TypeReference<T>
) {
companion object {
+ @PublishedApi
internal inline operator fun <reified T> invoke(): TypeReference<T> = TypeReference(jacksonTypeRef())
}
}
@@ -53,4 +55,4 @@ private object FileSerializer : StdScalarSerializer<File>(File::class.java) {
private class PluginTypeFactory: TypeFactory(null) {
override fun findClass(className: String): Class<out Any>? =
Class.forName(className, true, DokkaBase::class.java.classLoader) ?: super.findClass(className)
-} \ No newline at end of file
+}