[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 {
|
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
|
val origin = if (proto.hasOriginName()) deserializeIrStatementOrigin(proto.originName) else null
|
||||||
// TODO: origin!
|
// TODO: origin!
|
||||||
return IrGetValueImpl(start, end, type, symbol, origin)
|
return IrGetValueImpl(start, end, type, symbol, origin)
|
||||||
@@ -569,7 +569,7 @@ class IrBodyDeserializer(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun deserializeSetValue(proto: ProtoSetValue, start: Int, end: Int): IrSetValue {
|
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 value = deserializeExpression(proto.value)
|
||||||
val origin = if (proto.hasOriginName()) deserializeIrStatementOrigin(proto.originName) else null
|
val origin = if (proto.hasOriginName()) deserializeIrStatementOrigin(proto.originName) else null
|
||||||
return IrSetValueImpl(start, end, builtIns.unitType, symbol, value, origin)
|
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.
|
// Delegating symbol maps to it's delegate only inside the declaration the symbol belongs to.
|
||||||
private val delegatedSymbolMap = mutableMapOf<IrSymbol, IrSymbol>()
|
private val delegatedSymbolMap = mutableMapOf<IrSymbol, IrSymbol>()
|
||||||
|
|
||||||
|
internal fun deserializeIrSymbol(code: Long): IrSymbol {
|
||||||
|
return symbolDeserializer.deserializeIrSymbol(code)
|
||||||
|
}
|
||||||
|
|
||||||
internal fun deserializeIrSymbolAndRemap(code: Long): IrSymbol {
|
internal fun deserializeIrSymbolAndRemap(code: Long): IrSymbol {
|
||||||
// TODO: could be simplified
|
// TODO: could be simplified
|
||||||
return symbolDeserializer.deserializeIrSymbol(code).let {
|
return symbolDeserializer.deserializeIrSymbol(code).let {
|
||||||
|
|||||||
Reference in New Issue
Block a user