From d13b3507166436748911a6b5260a10175a7911fe Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Tue, 11 Jun 2019 14:46:24 +0300 Subject: [PATCH] Don't serialize descriptor references for EnumEntry members --- .../common/serialization/SerializeDescriptorReference.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt index 6917aa9f3a1..60c36eb6c83 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/SerializeDescriptorReference.kt @@ -57,6 +57,10 @@ open class DescriptorReferenceSerializer( val isEnumSpecial = declaration.origin == IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER val isTypeParameter = declaration is IrTypeParameter && declaration.parent is IrClass + // The corresponding descriptor in deserialized metadata has constructors = emptyList() etc. + if (containingDeclaration is ClassDescriptor && + containingDeclaration.kind == ClassKind.ENUM_ENTRY && + !isFakeOverride) return null val realDeclaration = if (isFakeOverride) { when (declaration) {