[FIR2IR] Use signature composer to read external callables
This commit is contained in:
@@ -874,6 +874,11 @@ class Fir2IrDeclarationStorage(
|
||||
is FirSimpleFunction, is FirAnonymousFunction -> {
|
||||
getCachedIrFunction(firDeclaration)?.let { return it.symbol }
|
||||
val irParent = findIrParent(firDeclaration)
|
||||
symbolTable.referenceSimpleFunctionIfAny(signatureComposer.composeSignature(firDeclaration))?.let { irFunctionSymbol ->
|
||||
val irFunction = irFunctionSymbol.owner
|
||||
functionCache[firDeclaration] = irFunction
|
||||
return irFunctionSymbol
|
||||
}
|
||||
val parentOrigin = (irParent as? IrDeclaration)?.origin ?: IrDeclarationOrigin.DEFINED
|
||||
createIrFunction(firDeclaration, irParent, origin = parentOrigin).apply {
|
||||
setAndModifyParent(irParent)
|
||||
@@ -891,6 +896,11 @@ class Fir2IrDeclarationStorage(
|
||||
is FirProperty -> {
|
||||
propertyCache[fir]?.let { return it.symbol }
|
||||
val irParent = findIrParent(fir)
|
||||
symbolTable.referencePropertyIfAny(signatureComposer.composeSignature(fir))?.let { irPropertySymbol ->
|
||||
val irProperty = irPropertySymbol.owner
|
||||
propertyCache[fir] = irProperty
|
||||
return irPropertySymbol
|
||||
}
|
||||
val parentOrigin = (irParent as? IrDeclaration)?.origin ?: IrDeclarationOrigin.DEFINED
|
||||
createIrProperty(fir, irParent, origin = parentOrigin).apply {
|
||||
setAndModifyParent(irParent)
|
||||
|
||||
Reference in New Issue
Block a user