FIR IDE: Resolve declaration in withFirDeclaration only if needed

This commit is contained in:
Roman Golyshev
2021-04-30 11:17:25 +03:00
committed by Space
parent 9e4c5eed5f
commit 66047f159f
@@ -45,8 +45,14 @@ inline fun <R> KtDeclaration.withFirDeclaration(
action: (FirDeclaration) -> R
): R {
val firDeclaration = resolveState.findSourceFirDeclaration(this)
firDeclaration.resolvedFirToPhase(phase, resolveState)
return action(firDeclaration)
val resolvedDeclaration = if (firDeclaration.resolvePhase < phase) {
firDeclaration.resolvedFirToPhase(phase, resolveState)
} else {
firDeclaration
}
return action(resolvedDeclaration)
}
/**