diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt index 8a8676f8247..a8a486e7c49 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt @@ -25,6 +25,7 @@ class TypeDeserializer( private val parent: TypeDeserializer?, typeParameterProtos: List, private val debugName: String, + private val containerPresentableName: String, var experimentalSuspendFunctionTypeEncountered: Boolean = false ) { private val classDescriptors: (Int) -> ClassDescriptor? = c.storageManager.createMemoizedFunctionWithNullableValues { fqNameIndex -> @@ -112,7 +113,9 @@ class TypeDeserializer( proto.hasClassName() -> (classDescriptors(proto.className) ?: notFoundClass(proto.className)).typeConstructor proto.hasTypeParameter() -> typeParameterTypeConstructor(proto.typeParameter) - ?: ErrorUtils.createErrorTypeConstructor("Unknown type parameter ${proto.typeParameter}") + ?: ErrorUtils.createErrorTypeConstructor( + "Unknown type parameter ${proto.typeParameter}. Please try recompiling module containing \"$containerPresentableName\"" + ) proto.hasTypeParameterName() -> { val container = c.containingDeclaration val name = c.nameResolver.getString(proto.typeParameterName) diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt index 15cfd6eeead..b6b466de27a 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt @@ -80,7 +80,8 @@ class DeserializationContext( ) { val typeDeserializer: TypeDeserializer = TypeDeserializer( this, parentTypeDeserializer, typeParameters, - "Deserializer for ${containingDeclaration.name}" + "Deserializer for \"${containingDeclaration.name}\"", + containerSource?.presentableString ?: "[container not found]" ) val memberDeserializer: MemberDeserializer = MemberDeserializer(this) diff --git a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/JvmMetadataVersion.kt b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/JvmMetadataVersion.kt index d66b1203504..a0b5eeac011 100644 --- a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/JvmMetadataVersion.kt +++ b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/deserialization/JvmMetadataVersion.kt @@ -27,7 +27,7 @@ class JvmMetadataVersion(versionArray: IntArray, val isStrictSemantics: Boolean) companion object { @JvmField - val INSTANCE = JvmMetadataVersion(1, 1, 13) + val INSTANCE = JvmMetadataVersion(1, 1, 14) @JvmField val INVALID_VERSION = JvmMetadataVersion()