[FIR2IR] Replace getOrCreateIrScript with createIrScript

Fir2IrDeclarationStorage should not sometimes create IR declarations
  during lookup requests
This commit is contained in:
Dmitriy Novozhilov
2023-11-14 15:58:16 +02:00
committed by Space Team
parent 7263edf322
commit 55f62834cb
2 changed files with 3 additions and 3 deletions
@@ -509,7 +509,7 @@ class Fir2IrConverter(
}
is FirScript -> {
require(parent is IrFile)
val irScript = declarationStorage.getOrCreateIrScript(declaration)
val irScript = declarationStorage.createIrScript(declaration)
addDeclarationToParentIfNeeded(irScript)
declarationStorage.withScope(irScript.symbol) {
irScript.parent = parent
@@ -1158,8 +1158,8 @@ class Fir2IrDeclarationStorage(
return scriptCache[script]
}
fun getOrCreateIrScript(script: FirScript): IrScript {
getCachedIrScript(script)?.let { return it }
fun createIrScript(script: FirScript): IrScript {
getCachedIrScript(script)?.let { error("IrScript already created: ${script.render()}") }
val symbol = createScriptSymbol(signatureComposer.composeSignature(script))
return callablesGenerator.createIrScript(script, symbol).also {
scriptCache[script] = it