Do not build dummy light classes for serialization-related classes

Otherwise, whether LazyLightClassMemberMatchingError happens
or other type of errors because serialization plugin expects
full resolution in the correct module

Currently, only @Serializable annotation leads to exceptions,
but just in case we consider both of them as potentially problematic

 #KT-26895 Fixed
This commit is contained in:
Denis Zharkov
2018-09-17 16:25:40 +03:00
parent fe9ce45e1d
commit a4b2e5964a
3 changed files with 39 additions and 5 deletions
@@ -1,7 +1,10 @@
package org.jetbrains.kotlinx.serialization.compiler.resolve
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.annotations.KOTLINX_SERIALIZABLE_FQ_NAME
import org.jetbrains.kotlin.resolve.annotations.KOTLINX_SERIALIZER_FQ_NAME
object SerializationPackages {
internal val packageFqName = FqName("kotlinx.serialization")
@@ -10,8 +13,8 @@ object SerializationPackages {
}
object SerializationAnnotations {
internal val serializableAnnotationFqName = FqName("kotlinx.serialization.Serializable")
internal val serializerAnnotationFqName = FqName("kotlinx.serialization.Serializer")
internal val serializableAnnotationFqName = KOTLINX_SERIALIZABLE_FQ_NAME
internal val serializerAnnotationFqName = KOTLINX_SERIALIZER_FQ_NAME
internal val serialNameAnnotationFqName = FqName("kotlinx.serialization.SerialName")
internal val serialOptionalFqName = FqName("kotlinx.serialization.Optional")
internal val serialTransientFqName = FqName("kotlinx.serialization.Transient")
@@ -81,4 +84,4 @@ object CallingConventions {
const val addElement = "addElement"
const val addAnnotation = "pushAnnotation"
const val addClassAnnotation = "pushClassAnnotation"
}
}