From 28a0d0c6aaba1d3e3b8bfafa790ff5e4ea6214b4 Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Thu, 7 Dec 2023 16:44:33 +0100 Subject: [PATCH] [IR] Mark IrEnumEntryImpl with an opt-in annotation KT-59318 --- .../src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt | 9 +++++---- .../kotlin/ir/declarations/impl/IrEnumEntryImpl.kt | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt index 6a1f57d64e0..ce00e4f2967 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmSymbols.kt @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.builders.declarations.* import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.declarations.impl.IrEnumEntryImpl import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl @@ -1091,10 +1090,12 @@ class JvmSymbols( annotationClass.addConstructor { isPrimary = true } private fun buildEnumEntry(enumClass: IrClass, entryName: String): IrEnumEntry { - return IrEnumEntryImpl( - UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB, + return context.irFactory.createEnumEntry( + UNDEFINED_OFFSET, + UNDEFINED_OFFSET, + IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB, + Name.identifier(entryName), IrEnumEntrySymbolImpl(), - Name.identifier(entryName) ).apply { parent = enumClass enumClass.addChild(this) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrEnumEntryImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrEnumEntryImpl.kt index 7eb83f94093..ebfd172ba78 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrEnumEntryImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrEnumEntryImpl.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.ir.declarations.impl import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.ir.IrImplementationDetail import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConstructorCall @@ -13,7 +14,7 @@ import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.symbols.IrEnumEntrySymbol import org.jetbrains.kotlin.name.Name -class IrEnumEntryImpl( +class IrEnumEntryImpl @IrImplementationDetail constructor( override val startOffset: Int, override val endOffset: Int, override var origin: IrDeclarationOrigin,