Get rid of deprecated IR declaration constructors usages

(cherry picked from commit c4361dfee096c855cf19b7f0303f7957701cd9cd)
This commit is contained in:
Mikhail Glukhikh
2020-05-25 10:35:48 +03:00
committed by Vasily Levchenko
parent f3a0435a3a
commit 6f88b2d044
2 changed files with 14 additions and 8 deletions
@@ -140,11 +140,14 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
returnType returnType
) )
private val createClassLambda = private val createClassLambda = { s: IrClassSymbol, d: ClassDescriptor ->
{ s: IrClassSymbol -> IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s) } IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, s, d)
}
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(createClassLambda) ?: createClassLambda(IrClassSymbolImpl(descriptor)) return symbolTable?.declarator {
IrClassImpl(offset, offset, DECLARATION_ORIGIN_FUNCTION_CLASS, it, 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 =
@@ -254,9 +257,12 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
offset, offset,
offset, offset,
memberOrigin, memberOrigin,
symbol, descriptor,
toIrType(descriptor.type), toIrType(descriptor.type),
varargType?.let { toIrType(it) }).also { varargType?.let { toIrType(it) },
descriptor.name,
symbol
).also {
it.parent = this it.parent = this
} }
} }
@@ -294,7 +300,7 @@ internal class BuiltInFictitiousFunctionIrClassFactory(
fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty { fun createFakeOverrideProperty(descriptor: PropertyDescriptor): IrProperty {
val propertyDeclare = { s: IrPropertySymbol -> val propertyDeclare = { s: IrPropertySymbol ->
IrPropertyImpl(offset, offset, memberOrigin, s, descriptor.name) IrPropertyImpl(offset, offset, memberOrigin, descriptor, s, descriptor.name)
} }
val property = symbolTable?.declareProperty(offset, offset, memberOrigin, descriptor, propertyFactory = propertyDeclare) val property = symbolTable?.declareProperty(offset, offset, memberOrigin, descriptor, propertyFactory = propertyDeclare)
?: propertyDeclare(IrPropertySymbolImpl(descriptor)) ?: propertyDeclare(IrPropertySymbolImpl(descriptor))
@@ -163,7 +163,7 @@ internal class KonanIrLinker(
val fqn = packageFragment.fqName val fqn = packageFragment.fqName
return packageToFileMap.getOrPut(packageFragment.fqName) { return packageToFileMap.getOrPut(packageFragment.fqName) {
val fileSymbol = IrFileSymbolImpl(packageFragment) val fileSymbol = IrFileSymbolImpl(packageFragment)
IrFileImpl(NaiveSourceBasedFileEntryImpl("forward declarations for $fqn"), fileSymbol).also { IrFileImpl(NaiveSourceBasedFileEntryImpl("forward declarations for $fqn"), fileSymbol, packageFragment.fqName).also {
moduleFragment.files.add(it) moduleFragment.files.add(it)
} }
} }
@@ -174,7 +174,7 @@ internal class KonanIrLinker(
val irFile = getIrFile(packageDescriptor) val irFile = getIrFile(packageDescriptor)
val klass = symbolTable.declareClassFromLinker(descriptor, idSig) { s -> val klass = symbolTable.declareClassFromLinker(descriptor, idSig) { s ->
IrClassImpl(offset, offset, FORWARD_DECLARATION_ORIGIN, s) IrClassImpl(offset, offset, FORWARD_DECLARATION_ORIGIN, s, descriptor)
} }
klass.parent = irFile klass.parent = irFile