tschuchortdev/kotlin-compile-testing

Compile failing with using serialization plugin for kotlin

someshkoli opened this issue · 2 comments

Getting the following error when trying to compile code which contains Serializable annotation, attaching sample code, error and runtime info below. Any ideas what could be causing this ?

Sample Code to compile

package example.tasks

import kotlinx.serialization.Serializable
import headout.oss.ergo.annotations.Task

object ExampleTask {
    fun noArgWithSerializableResult(): Result = Result(10)
}

@Serializable
data class Result(val number: Int)
KotlinCompilation().apply {
        sources = listOf(SourceFile.kotlin(EXAMPLE_KOTLIN_FILE, source))
        annotationProcessors = listOf(TaskProcessor())
        inheritClassPath = true
        compilerPluginRegistrars = listOf(SerializationComponentRegistrar())
        messageOutputStream = System.out
    }.compile()
e: java.lang.NoSuchMethodError: 'com.intellij.psi.PsiElement org.jetbrains.kotlin.resolve.lazy.data.KtClassLikeInfo.getScopeAnchor()'
	at org.jetbrains.kotlinx.serialization.compiler.resolve.KSerializerDescriptorResolver.addSerializerImplClass(KSerializerDescriptorResolver.kt:72)
	at org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationResolveExtension.generateSyntheticClasses(SerializationResolveExtension.kt:79)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.getNonDeclaredClasses(LazyClassMemberScope.kt:287)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.doGetClasses(AbstractLazyMemberScope.kt:70)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.access$doGetClasses(AbstractLazyMemberScope.kt:38)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$classDescriptors$1.invoke(AbstractLazyMemberScope.kt:49)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$classDescriptors$1.invoke(AbstractLazyMemberScope.kt:49)
	at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:578)
	at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:681)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.getContributedClassifier(AbstractLazyMemberScope.kt:77)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.addSyntheticNestedClasses(LazyClassMemberScope.kt:391)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.computeExtraDescriptors(LazyClassMemberScope.kt:129)
	at org.jetbrains.kotlin.resolve.lazy.descriptors.LazyClassMemberScope.doDescriptors(LazyClassMemberScope.kt:72)
  • kotlin version: 1.9.24
  • kotlin-compile-testing version: 1.6.0

Ignore, was banging my head around it for two days, only to find solution right after raising issue.

Ps: missing kotlinx-serialization-compiler-plugin-embeddable dependency