Allow IR Lazy functions in IR serialization (#2661)
Such function types are sometimes produced by serialization plugin and are sublcasses of 'IrLazyFuncitonBase' and 'IrFunction'. Interfaces for IrFunction and IrFunctionBase are identical anyway
This commit is contained in:
committed by
Nikolay Igotti
parent
2b04cb70ae
commit
4b8e144c94
+3
-3
@@ -827,7 +827,7 @@ internal class IrModuleSerializer(
|
|||||||
return proto.build()
|
return proto.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun serializeIrFunctionBase(function: IrFunctionBase): KonanIr.IrFunctionBase {
|
private fun serializeIrFunctionBase(function: IrFunction): KonanIr.IrFunctionBase {
|
||||||
val proto = KonanIr.IrFunctionBase.newBuilder()
|
val proto = KonanIr.IrFunctionBase.newBuilder()
|
||||||
.setName(serializeString(function.name.toString()))
|
.setName(serializeString(function.name.toString()))
|
||||||
.setVisibility(serializeVisibility(function.visibility))
|
.setVisibility(serializeVisibility(function.visibility))
|
||||||
@@ -858,7 +858,7 @@ internal class IrModuleSerializer(
|
|||||||
private fun serializeIrConstructor(declaration: IrConstructor): KonanIr.IrConstructor =
|
private fun serializeIrConstructor(declaration: IrConstructor): KonanIr.IrConstructor =
|
||||||
KonanIr.IrConstructor.newBuilder()
|
KonanIr.IrConstructor.newBuilder()
|
||||||
.setSymbol(serializeIrSymbol(declaration.symbol))
|
.setSymbol(serializeIrSymbol(declaration.symbol))
|
||||||
.setBase(serializeIrFunctionBase(declaration as IrFunctionBase))
|
.setBase(serializeIrFunctionBase(declaration))
|
||||||
.setIsPrimary(declaration.isPrimary)
|
.setIsPrimary(declaration.isPrimary)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
@@ -879,7 +879,7 @@ internal class IrModuleSerializer(
|
|||||||
// proto.setCorrespondingProperty(protoUniqId(uniqId))
|
// proto.setCorrespondingProperty(protoUniqId(uniqId))
|
||||||
//}
|
//}
|
||||||
|
|
||||||
val base = serializeIrFunctionBase(function as IrFunctionBase)
|
val base = serializeIrFunctionBase(function)
|
||||||
proto.setBase(base)
|
proto.setBase(base)
|
||||||
|
|
||||||
return proto.build()
|
return proto.build()
|
||||||
|
|||||||
Reference in New Issue
Block a user