diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt index 3b6044b3cd3..f0cf137c924 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt @@ -5,22 +5,35 @@ package org.jetbrains.kotlin.ir.types.impl -import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.descriptors.DescriptorVisibilities -import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.descriptors.SourceElement +import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrFileEntry +import org.jetbrains.kotlin.ir.LineAndColumn +import org.jetbrains.kotlin.ir.SourceRangeInfo import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl -import org.jetbrains.kotlin.ir.expressions.IrConstructorCall -import org.jetbrains.kotlin.ir.symbols.IrFileSymbol -import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI +import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl +import org.jetbrains.kotlin.ir.symbols.impl.IrFileSymbolImpl import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.utils.addToStdlib.shouldNotBeCalled +private val ErrorFile = IrFileImpl( + fileEntry = object : IrFileEntry { + override val name: String = "" + override val maxOffset: Int + get() = shouldNotBeCalled() + + override fun getSourceRangeInfo(beginOffset: Int, endOffset: Int): SourceRangeInfo = shouldNotBeCalled() + override fun getLineNumber(offset: Int): Int = shouldNotBeCalled() + override fun getColumnNumber(offset: Int): Int = shouldNotBeCalled() + override fun getLineAndColumnNumbers(offset: Int): LineAndColumn = shouldNotBeCalled() + }, + symbol = IrFileSymbolImpl(), + packageFqName = FqName("") +) + val IrErrorClassImpl: IrClass = IrFactoryImpl.createClass( startOffset = UNDEFINED_OFFSET, endOffset = UNDEFINED_OFFSET, @@ -34,32 +47,3 @@ val IrErrorClassImpl: IrClass = IrFactoryImpl.createClass( ).apply { parent = ErrorFile } - -private object ErrorFile : IrFile() { - override val startOffset: Int - get() = shouldNotBeCalled() - override val endOffset: Int - get() = shouldNotBeCalled() - override var annotations: List - get() = shouldNotBeCalled() - set(_) {} - - @UnsafeDuringIrConstructionAPI - override val declarations: MutableList - get() = shouldNotBeCalled() - override val symbol: IrFileSymbol - get() = shouldNotBeCalled() - override var module: IrModuleFragment - get() = shouldNotBeCalled() - set(_) = shouldNotBeCalled() - override var fileEntry: IrFileEntry - get() = shouldNotBeCalled() - set(_) = shouldNotBeCalled() - override var metadata: MetadataSource? - get() = shouldNotBeCalled() - set(_) {} - - override var packageFqName: FqName - get() = FqName.ROOT - set(_) = shouldNotBeCalled() -} \ No newline at end of file