diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cac05c3c..6466e9d1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,7 @@ on: permissions: contents: read - + jobs: build: runs-on: ${{ matrix.os }} @@ -28,14 +28,14 @@ jobs: matrix: java_version: ['8', '11', '17', '21'] # kotlin-reflect 1.8.2x has a bug and some tests fail, so we are downgrading to 1.8.10. - kotlin_version: ['1.7.22', '1.8.10', '1.9.22', '2.0.0-Beta2'] + kotlin_version: ['1.7.22', '1.8.10', '1.9.22', '2.0.0-Beta3'] os: ['ubuntu-20.04'] env: JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java_version }} diff --git a/pom.xml b/pom.xml index 10b5dd54..801d43de 100644 --- a/pom.xml +++ b/pom.xml @@ -136,7 +136,6 @@ - ${project.basedir}/src/main/kotlin ${project.basedir}/src/test/kotlin @@ -151,6 +150,13 @@ compile + + + ${project.basedir}/target/generated-sources + ${project.basedir}/src/main/java + ${project.basedir}/src/main/kotlin + + diff --git a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/Converters.kt b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/Converters.kt index c27f82c6..e1416426 100644 --- a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/Converters.kt +++ b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/Converters.kt @@ -48,9 +48,9 @@ internal object JavaToKotlinDurationConverter : StdConverter( unboxedClass: Class, - valueClass: KClass + val boxedClass: KClass ) : StdConverter() { - private val boxMethod = valueClass.java.getDeclaredMethod("box-impl", unboxedClass).apply { + private val boxMethod = boxedClass.java.getDeclaredMethod("box-impl", unboxedClass).apply { if (!this.isAccessible) this.isAccessible = true } diff --git a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/ReflectionCache.kt b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/ReflectionCache.kt index 9cb9b0b0..0e74800c 100644 --- a/src/main/kotlin/com/fasterxml/jackson/module/kotlin/ReflectionCache.kt +++ b/src/main/kotlin/com/fasterxml/jackson/module/kotlin/ReflectionCache.kt @@ -136,10 +136,10 @@ internal class ReflectionCache(reflectionCacheSize: Int) : Serializable { }.orElse(null) } - fun getValueClassBoxConverter(unboxedClass: Class<*>, valueClass: KClass<*>): ValueClassBoxConverter<*, *> = - valueClassBoxConverterCache.get(valueClass) ?: run { - val value = ValueClassBoxConverter(unboxedClass, valueClass) - (valueClassBoxConverterCache.putIfAbsent(valueClass, value) ?: value) + fun getValueClassBoxConverter(unboxedClass: Class<*>, boxedClass: KClass<*>): ValueClassBoxConverter<*, *> = + valueClassBoxConverterCache.get(boxedClass) ?: run { + val value = ValueClassBoxConverter(unboxedClass, boxedClass) + (valueClassBoxConverterCache.putIfAbsent(boxedClass, value) ?: value) } fun findKotlinParameter(param: AnnotatedParameter): KParameter? = when (val owner = param.owner.member) {