IR: removing WrappedDescriptors from symbols
This commit is contained in:
+1
-3
@@ -95,14 +95,12 @@ class JvmSharedVariablesManager(
|
||||
typeArguments.forEachIndexed(::putTypeArgument)
|
||||
}
|
||||
return with(originalDeclaration) {
|
||||
val descriptor = WrappedVariableDescriptor()
|
||||
IrVariableImpl(
|
||||
startOffset, endOffset, origin, IrVariableSymbolImpl(descriptor), name, refType,
|
||||
startOffset, endOffset, origin, IrVariableSymbolImpl(), name, refType,
|
||||
isVar = false, // writes are remapped to field stores
|
||||
isConst = false, // const vals could not possibly require ref wrappers
|
||||
isLateinit = false
|
||||
).apply {
|
||||
descriptor.bind(this)
|
||||
initializer = refConstructorCall
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -84,13 +84,11 @@ private class AdditionalClassAnnotationLowering(private val context: JvmBackendC
|
||||
}
|
||||
|
||||
private fun buildEnumEntry(enumClass: IrClass, entryName: String): IrEnumEntry {
|
||||
val descriptor = WrappedEnumEntryDescriptor()
|
||||
return IrEnumEntryImpl(
|
||||
UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB,
|
||||
IrEnumEntrySymbolImpl(descriptor),
|
||||
IrEnumEntrySymbolImpl(),
|
||||
Name.identifier(entryName)
|
||||
).apply {
|
||||
descriptor.bind(this)
|
||||
parent = enumClass
|
||||
enumClass.addChild(this)
|
||||
}
|
||||
|
||||
+1
-7
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.backend.common.phaser.makeIrModulePhase
|
||||
import org.jetbrains.kotlin.backend.jvm.JvmBackendContext
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.config.JvmAnalysisFlags
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
@@ -31,7 +30,6 @@ import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||
import org.jetbrains.kotlin.fileClasses.JvmSimpleFileClassInfo
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedClassDescriptor
|
||||
import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl
|
||||
import org.jetbrains.kotlin.ir.util.IdSignature
|
||||
import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl
|
||||
@@ -82,17 +80,14 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa
|
||||
private fun createFileClass(irFile: IrFile, fileClassMembers: List<IrDeclaration>): IrClass {
|
||||
val fileEntry = irFile.fileEntry
|
||||
val fileClassInfo: JvmFileClassInfo?
|
||||
val descriptor: ClassDescriptor
|
||||
when (fileEntry) {
|
||||
is PsiSourceManager.PsiFileEntry -> {
|
||||
val ktFile = context.psiSourceManager.getKtFile(fileEntry)
|
||||
?: throw AssertionError("Unexpected file entry: $fileEntry")
|
||||
fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(ktFile)
|
||||
descriptor = WrappedClassDescriptor()
|
||||
}
|
||||
is NaiveSourceBasedFileEntryImpl -> {
|
||||
fileClassInfo = JvmSimpleFileClassInfo(PackagePartClassUtils.getPackagePartFqName(irFile.fqName, fileEntry.name), false)
|
||||
descriptor = WrappedClassDescriptor()
|
||||
}
|
||||
else -> error("unknown kind of file entry: $fileEntry")
|
||||
}
|
||||
@@ -101,13 +96,12 @@ private class FileClassLowering(val context: JvmBackendContext) : FileLoweringPa
|
||||
0, fileEntry.maxOffset,
|
||||
if (!isMultifilePart || context.state.languageVersionSettings.getFlag(JvmAnalysisFlags.inheritMultifileParts))
|
||||
IrDeclarationOrigin.FILE_CLASS else IrDeclarationOrigin.SYNTHETIC_FILE_CLASS,
|
||||
symbol = IrClassSymbolImpl(descriptor),
|
||||
symbol = IrClassSymbolImpl(),
|
||||
name = fileClassInfo.fileClassFqName.shortName(),
|
||||
kind = ClassKind.CLASS,
|
||||
visibility = if (!isMultifilePart) DescriptorVisibilities.PUBLIC else JavaDescriptorVisibilities.PACKAGE_VISIBILITY,
|
||||
modality = Modality.FINAL
|
||||
).apply {
|
||||
descriptor.bind(this)
|
||||
superTypes = listOf(context.irBuiltIns.anyType)
|
||||
parent = irFile
|
||||
declarations.addAll(fileClassMembers)
|
||||
|
||||
+1
-1
@@ -425,7 +425,7 @@ private inline fun IrClass.addAnonymousInitializer(builder: IrFunctionBuilder.()
|
||||
returnType = defaultType
|
||||
IrAnonymousInitializerImpl(
|
||||
startOffset, endOffset, origin,
|
||||
IrAnonymousInitializerSymbolImpl(WrappedClassDescriptor())
|
||||
IrAnonymousInitializerSymbolImpl()
|
||||
)
|
||||
}.also { anonymousInitializer ->
|
||||
declarations.add(anonymousInitializer)
|
||||
|
||||
Reference in New Issue
Block a user