~
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrType.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrType.kt index d949005..4d67742 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrType.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrType.kt
@@ -30,8 +30,9 @@ abstract override fun hashCode(): Int } -abstract class IrErrorType(kotlinType: KotlinType?) : IrTypeBase(kotlinType) { - val symbol: IrClassSymbol = IrErrorClassImpl.symbol +abstract class IrErrorType(kotlinType: KotlinType?, private val errorClassStubSymbol: IrClassSymbol? = null) : IrTypeBase(kotlinType) { + val symbol: IrClassSymbol + get() = errorClassStubSymbol ?: error("123") } abstract class IrDynamicType(kotlinType: KotlinType?) : IrTypeBase(kotlinType), DynamicTypeMarker
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrTypeBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrTypeBase.kt index 2ddf365..641740e 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrTypeBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrTypeBase.kt
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass import org.jetbrains.kotlin.ir.expressions.IrConstructorCall +import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl import org.jetbrains.kotlin.ir.types.* @@ -34,13 +35,14 @@ kotlinType: KotlinType?, override val annotations: List<IrConstructorCall>, override val variance: Variance, -) : IrErrorType(kotlinType) { + private val errorClassStubSymbol: IrClassSymbol? = null +) : IrErrorType(kotlinType, errorClassStubSymbol) { override fun equals(other: Any?): Boolean = other is IrErrorTypeImpl override fun hashCode(): Int = IrErrorTypeImpl::class.java.hashCode() } -object IrErrorClassImpl : IrClassImpl( +class IrErrorClassImpl(parent: Parent) : IrClassImpl( UNDEFINED_OFFSET, UNDEFINED_OFFSET, IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR, IrClassSymbolImpl(), Name.special("<error>"), ClassKind.CLASS, DescriptorVisibilities.DEFAULT_VISIBILITY, Modality.FINAL )