[JVM IR] Fix jvm linker

This commit is contained in:
Roman Artemev
2020-04-20 13:55:44 +03:00
committed by romanart
parent 5ea309d578
commit c38ba45c1b
2 changed files with 8 additions and 2 deletions
@@ -38,7 +38,7 @@ abstract class IrModuleDeserializer(val moduleDescriptor: ModuleDescriptor) {
abstract fun deserializeIrSymbol(idSig: IdSignature, symbolKind: BinarySymbolData.SymbolKind): IrSymbol
open fun declareIrSymbol(symbol: IrSymbol) {
assert(symbol.isPublicApi)
assert(symbol.isPublicApi) { "Symbol is not public API: ${symbol.descriptor}" }
assert(symbol.descriptor !is WrappedDeclarationDescriptor<*>)
deserializeIrSymbol(symbol.signature, symbol.kind())
}
@@ -175,6 +175,12 @@ class IrModuleDeserializerWithBuiltIns(
return delegate.deserializeIrSymbol(idSig, symbolKind)
}
override fun declareIrSymbol(symbol: IrSymbol) {
if (symbol.isPublicApi && checkIsFunctionInterface(symbol.signature))
resolveFunctionalInterface(symbol.signature, symbol.kind())
else delegate.declareIrSymbol(symbol)
}
override fun postProcess() {
delegate.postProcess()
}