diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt index 7d3bb1c7cbc..e0422f35149 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt @@ -75,6 +75,7 @@ class IrLazyClass( private fun shouldBuildStub(descriptor: DeclarationDescriptor): Boolean = descriptor !is DeclarationDescriptorWithVisibility || !DescriptorVisibilities.isPrivate(descriptor.visibility) || + // This exception is needed for K/N caches usage. isObject && descriptor is ClassConstructorDescriptor override var typeParameters: List by lazyVar(stubGenerator.lock) { diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt index e7aeeb4eaf6..7fff69f8997 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/InlineClasses.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.backend.konan +import org.jetbrains.kotlin.backend.common.atMostOne import org.jetbrains.kotlin.backend.common.ir.isTopLevel import org.jetbrains.kotlin.backend.konan.descriptors.findPackage import org.jetbrains.kotlin.backend.konan.ir.getSuperClassNotAny @@ -305,7 +306,8 @@ internal object IrTypeInlineClassesSupport : InlineClassesSupport().single { it.backingField != null }.backingField!!.type + ?: clazz.declarations.filterIsInstance().atMostOne { it.backingField != null }?.backingField?.type + ?: clazz.inlineClassRepresentation!!.underlyingType override fun getPackageFqName(clazz: IrClass) = clazz.packageFqName