[IR] Mark IrClassImpl with an opt-in annotation

KT-59318
This commit is contained in:
Sergej Jaskiewicz
2023-12-07 16:16:13 +01:00
committed by Space Team
parent 8aacb59aec
commit 2fab853700
7 changed files with 29 additions and 29 deletions
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.fileClasses.JvmMultifileClassPartInfo
import org.jetbrains.kotlin.fileClasses.JvmSimpleFileClassInfo
import org.jetbrains.kotlin.ir.PsiIrFileEntry
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
import org.jetbrains.kotlin.ir.expressions.IrConst
import org.jetbrains.kotlin.ir.expressions.IrConstKind
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -98,17 +97,18 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa
IrDeclarationOrigin.FILE_CLASS
else
IrDeclarationOrigin.SYNTHETIC_FILE_CLASS
return IrClassImpl(
0, fileEntry.maxOffset,
fileClassOrigin,
symbol = IrClassSymbolImpl(),
return context.irFactory.createClass(
startOffset = 0,
endOffset = fileEntry.maxOffset,
origin = fileClassOrigin,
name = fileClassInfo.fileClassFqName.shortName(),
kind = ClassKind.CLASS,
visibility = if (isMultifilePart || onlyPrivateDeclarationsAndFeatureIsEnabled)
JavaDescriptorVisibilities.PACKAGE_VISIBILITY
else
DescriptorVisibilities.PUBLIC,
modality = Modality.FINAL
symbol = IrClassSymbolImpl(),
kind = ClassKind.CLASS,
modality = Modality.FINAL,
).apply {
superTypes = listOf(context.irBuiltIns.anyType)
parent = irFile
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.backend.jvm
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.IrImplementationDetail
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -14,6 +15,7 @@ import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl
import org.jetbrains.kotlin.ir.util.DeserializableClass
import org.jetbrains.kotlin.name.Name
@OptIn(IrImplementationDetail::class)
class JvmFileFacadeClass(
origin: IrDeclarationOrigin,
name: Name,
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.ir.declarations.impl
import org.jetbrains.kotlin.descriptors.*
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
@@ -15,7 +16,7 @@ import org.jetbrains.kotlin.ir.types.IrSimpleType
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.name.Name
open class IrClassImpl(
open class IrClassImpl @IrImplementationDetail constructor(
override val startOffset: Int,
override val endOffset: Int,
override var origin: IrDeclarationOrigin,
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.ir.types.impl
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.IrFileEntry
import org.jetbrains.kotlin.ir.IrImplementationDetail
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.declarations.*
@@ -19,6 +20,8 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.utils.addToStdlib.shouldNotBeCalled
@OptIn(IrImplementationDetail::class)
object IrErrorClassImpl : IrClassImpl(
UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.ERROR_CLASS, IrClassSymbolImpl(),
Name.special("<error>"), ClassKind.CLASS, DescriptorVisibilities.DEFAULT_VISIBILITY, Modality.FINAL