[KLIB] Don't resolve delegated symbol where it could be existed
This commit is contained in:
committed by
teamcityserver
parent
297e0a9f43
commit
11f70412e7
+2
-2
@@ -458,7 +458,7 @@ class IrBodyDeserializer(
|
||||
}
|
||||
|
||||
private fun deserializeGetValue(proto: ProtoGetValue, start: Int, end: Int, type: IrType): IrGetValue {
|
||||
val symbol = declarationDeserializer.deserializeIrSymbolAndRemap(proto.symbol) as IrValueSymbol
|
||||
val symbol = declarationDeserializer.deserializeIrSymbol(proto.symbol) as IrValueSymbol
|
||||
val origin = if (proto.hasOriginName()) deserializeIrStatementOrigin(proto.originName) else null
|
||||
// TODO: origin!
|
||||
return IrGetValueImpl(start, end, type, symbol, origin)
|
||||
@@ -569,7 +569,7 @@ class IrBodyDeserializer(
|
||||
}
|
||||
|
||||
private fun deserializeSetValue(proto: ProtoSetValue, start: Int, end: Int): IrSetValue {
|
||||
val symbol = declarationDeserializer.deserializeIrSymbolAndRemap(proto.symbol) as IrValueSymbol
|
||||
val symbol = declarationDeserializer.deserializeIrSymbol(proto.symbol) as IrValueSymbol
|
||||
val value = deserializeExpression(proto.value)
|
||||
val origin = if (proto.hasOriginName()) deserializeIrStatementOrigin(proto.originName) else null
|
||||
return IrSetValueImpl(start, end, builtIns.unitType, symbol, value, origin)
|
||||
|
||||
+4
@@ -189,6 +189,10 @@ class IrDeclarationDeserializer(
|
||||
// Delegating symbol maps to it's delegate only inside the declaration the symbol belongs to.
|
||||
private val delegatedSymbolMap = mutableMapOf<IrSymbol, IrSymbol>()
|
||||
|
||||
internal fun deserializeIrSymbol(code: Long): IrSymbol {
|
||||
return symbolDeserializer.deserializeIrSymbol(code)
|
||||
}
|
||||
|
||||
internal fun deserializeIrSymbolAndRemap(code: Long): IrSymbol {
|
||||
// TODO: could be simplified
|
||||
return symbolDeserializer.deserializeIrSymbol(code).let {
|
||||
|
||||
Reference in New Issue
Block a user