alexstyl/contactstore

java.lang.IllegalStateException: Inline class has no underlying property name in metadata: deserialized class LookupKey

alexstyl opened this issue · 3 comments

When someone tries to use the Contact#lookupKey property on ContactStore 0.7.0, they can see the following stacktrace in compilation time:

Caused by: java.lang.IllegalStateException: Inline class has no underlying property name in metadata: deserialized class LookupKey
	at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor.computeInlineClassRepresentation(DeserializedClassDescriptor.kt:185)
	at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor.access$computeInlineClassRepresentation(DeserializedClassDescriptor.kt:33)
	at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor$inlineClassRepresentation$1.invoke(DeserializedClassDescriptor.kt:68)
	at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor$inlineClassRepresentation$1.invoke(DeserializedClassDescriptor.kt:68)
	at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:408)
	at org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor.getInlineClassRepresentation(DeserializedClassDescriptor.kt:171)
	at org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass$inlineClassRepresentation$2.invoke(IrLazyClass.kt:100)
	at org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass$inlineClassRepresentation$2.invoke(IrLazyClass.kt:99)
	at org.jetbrains.kotlin.ir.declarations.lazy.SynchronizedLazyVar.getValue(lazyUtil.kt:29)
	at org.jetbrains.kotlin.ir.declarations.lazy.SynchronizedLazyVar.getValue(lazyUtil.kt:40)
	at org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass.getInlineClassRepresentation(IrLazyClass.kt:99)
	at org.jetbrains.kotlin.ir.types.IrTypeSystemContext$DefaultImpls.getUnsubstitutedUnderlyingType(IrTypeSystemContext.kt:451)
	at org.jetbrains.kotlin.backend.jvm.JvmIrTypeSystemContext.getUnsubstitutedUnderlyingType(JvmIrTypeSystemContext.kt:19)
	at org.jetbrains.kotlin.ir.types.IrTypeSystemContext$DefaultImpls.getSubstitutedUnderlyingType(IrTypeSystemContext.kt:454)
	at org.jetbrains.kotlin.backend.jvm.JvmIrTypeSystemContext.getSubstitutedUnderlyingType(JvmIrTypeSystemContext.kt:19)
	at org.jetbrains.kotlin.backend.jvm.codegen.IrTypeCheckerContextForTypeMapping.getSubstitutedUnderlyingType(IrTypeMapper.kt)
	at org.jetbrains.kotlin.types.ExpandedTypeUtilsKt.computeExpandedTypeInner(expandedTypeUtils.kt:36)
	at org.jetbrains.kotlin.types.ExpandedTypeUtilsKt.computeExpandedTypeForInlineClass(expandedTypeUtils.kt:13)
	at org.jetbrains.kotlin.types.AbstractTypeMapper.mapType(AbstractTypeMapper.kt:104)
	at org.jetbrains.kotlin.types.AbstractTypeMapper.mapType(AbstractTypeMapper.kt:47)
	at org.jetbrains.kotlin.backend.jvm.codegen.IrTypeMapper.mapType(IrTypeMapper.kt:134)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapReturnType(MethodSignatureMapper.kt:180)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapReturnType(MethodSignatureMapper.kt:173)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapSignature(MethodSignatureMapper.kt:263)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapSignature$default(MethodSignatureMapper.kt:228)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapSignatureSkipGeneric(MethodSignatureMapper.kt:223)
	at org.jetbrains.kotlin.backend.jvm.codegen.MethodSignatureMapper.mapAsmMethod(MethodSignatureMapper.kt:57)
	at org.jetbrains.kotlin.backend.jvm.codegen.IrCodegenUtilsKt.classFileContainsMethod(irCodegenUtils.kt:377)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements.buildReplacement(MemoizedInlineClassReplacements.kt:240)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements.buildReplacement$default(MemoizedInlineClassReplacements.kt:227)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements.createMethodReplacement(MemoizedInlineClassReplacements.kt:183)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements.access$createMethodReplacement(MemoizedInlineClassReplacements.kt:39)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements$getReplacementFunction$1.invoke(MemoizedInlineClassReplacements.kt:85)
	at org.jetbrains.kotlin.backend.jvm.MemoizedInlineClassReplacements$getReplacementFunction$1.invoke(MemoizedInlineClassReplacements.kt:54)
	at 

Closing as this was fixed in 0.7.1

Reopening in case someone comes up with a proper solution to this.

Closing this as won't fix for now.