IR: remove deprecated constructor of IrClassImpl
(cherry picked from commit b540c77c0ec65aafd5aaaf83826b654542e346c6)
This commit is contained in:
committed by
Vasily Levchenko
parent
6f9a4928b3
commit
01507bb115
+7
-10
@@ -45,7 +45,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
|
|||||||
(symbol.descriptor as? FunctionClassDescriptor)?.let { descriptor ->
|
(symbol.descriptor as? FunctionClassDescriptor)?.let { descriptor ->
|
||||||
buildClass(descriptor) {
|
buildClass(descriptor) {
|
||||||
declareClass(descriptor) {
|
declareClass(descriptor) {
|
||||||
IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, it, descriptor)
|
createIrClass(it, descriptor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -152,15 +152,12 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
|
|||||||
?: functionFactory(IrSimpleFunctionSymbolImpl(descriptor))
|
?: functionFactory(IrSimpleFunctionSymbolImpl(descriptor))
|
||||||
}
|
}
|
||||||
|
|
||||||
private val createClassLambda = { s: IrClassSymbol, d: ClassDescriptor ->
|
private fun createIrClass(symbol: IrClassSymbol, descriptor: ClassDescriptor): IrClass =
|
||||||
IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s, d)
|
createIrClassFromDescriptor(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, symbol, descriptor)
|
||||||
}
|
|
||||||
|
|
||||||
private fun createClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass {
|
private fun createClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass =
|
||||||
return symbolTable?.declarator {
|
symbolTable?.declarator { createIrClass(it, descriptor) }
|
||||||
IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, it, descriptor)
|
?: createIrClass(IrClassSymbolImpl(descriptor), descriptor)
|
||||||
} ?: createClassLambda(IrClassSymbolImpl(descriptor), descriptor)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun buildClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass =
|
private fun buildClass(descriptor: FunctionClassDescriptor, declarator: SymbolTable.((IrClassSymbol) -> IrClass) -> IrClass): IrClass =
|
||||||
builtClassesMap.getOrPut(descriptor) {
|
builtClassesMap.getOrPut(descriptor) {
|
||||||
@@ -184,7 +181,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
|
|||||||
val superTypeSymbol = when (val superTypeDescriptor = superType.constructor.declarationDescriptor) {
|
val superTypeSymbol = when (val superTypeDescriptor = superType.constructor.declarationDescriptor) {
|
||||||
is FunctionClassDescriptor -> buildClass(superTypeDescriptor) {
|
is FunctionClassDescriptor -> buildClass(superTypeDescriptor) {
|
||||||
declareClass(superTypeDescriptor) {
|
declareClass(superTypeDescriptor) {
|
||||||
IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, it, superTypeDescriptor)
|
createIrClass(it, superTypeDescriptor)
|
||||||
}
|
}
|
||||||
}.symbol
|
}.symbol
|
||||||
functionSymbol.descriptor -> functionSymbol
|
functionSymbol.descriptor -> functionSymbol
|
||||||
|
|||||||
+2
-7
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.backend.konan.InteropBuiltIns
|
|||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
import org.jetbrains.kotlin.ir.builders.IrBuilder
|
import org.jetbrains.kotlin.ir.builders.IrBuilder
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrConstructorImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrConstructorImpl
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||||
@@ -51,12 +50,8 @@ internal interface DescriptorToIrTranslationMixin {
|
|||||||
*/
|
*/
|
||||||
fun createClass(descriptor: ClassDescriptor, builder: (IrClass) -> Unit): IrClass =
|
fun createClass(descriptor: ClassDescriptor, builder: (IrClass) -> Unit): IrClass =
|
||||||
symbolTable.declareClass(descriptor) {
|
symbolTable.declareClass(descriptor) {
|
||||||
IrClassImpl(
|
createIrClassFromDescriptor(
|
||||||
startOffset = SYNTHETIC_OFFSET,
|
SYNTHETIC_OFFSET, SYNTHETIC_OFFSET, IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB, it, descriptor
|
||||||
endOffset = SYNTHETIC_OFFSET,
|
|
||||||
origin = IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB,
|
|
||||||
symbol = it,
|
|
||||||
descriptor = descriptor
|
|
||||||
)
|
)
|
||||||
}.also { irClass ->
|
}.also { irClass ->
|
||||||
symbolTable.withScope(descriptor) {
|
symbolTable.withScope(descriptor) {
|
||||||
|
|||||||
+2
-3
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.konan.isNativeStdlib
|
import org.jetbrains.kotlin.descriptors.konan.isNativeStdlib
|
||||||
import org.jetbrains.kotlin.descriptors.konan.kotlinLibrary
|
import org.jetbrains.kotlin.descriptors.konan.kotlinLibrary
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
import org.jetbrains.kotlin.ir.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl
|
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
|
||||||
import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl
|
import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrAbstractFunctionFactory
|
import org.jetbrains.kotlin.ir.descriptors.IrAbstractFunctionFactory
|
||||||
@@ -198,8 +197,8 @@ internal class KonanIrLinker(
|
|||||||
val packageDescriptor = descriptor.containingDeclaration as PackageFragmentDescriptor
|
val packageDescriptor = descriptor.containingDeclaration as PackageFragmentDescriptor
|
||||||
val irFile = getIrFile(packageDescriptor)
|
val irFile = getIrFile(packageDescriptor)
|
||||||
|
|
||||||
val klass = symbolTable.declareClassFromLinker(descriptor, idSig) { s ->
|
val klass = symbolTable.declareClassFromLinker(descriptor, idSig) { symbol ->
|
||||||
IrClassImpl(offset, offset, FORWARD_DECLARATION_ORIGIN, s, descriptor)
|
createIrClassFromDescriptor(offset, offset, FORWARD_DECLARATION_ORIGIN, symbol, descriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
klass.parent = irFile
|
klass.parent = irFile
|
||||||
|
|||||||
Reference in New Issue
Block a user