[FIR] disable lazy resolve contract checks for FIR2IR

This commit is contained in:
Ilya Kirillov
2023-01-04 16:54:33 +01:00
committed by Space Team
parent a55b4a977b
commit 89f37816a8
2 changed files with 6 additions and 0 deletions
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.fir.extensions.generatedNestedClassifiers
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer
import org.jetbrains.kotlin.fir.signaturer.FirMangler
import org.jetbrains.kotlin.fir.symbols.lazyDeclarationResolver
import org.jetbrains.kotlin.ir.PsiIrFileEntry
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl
@@ -60,6 +61,7 @@ class Fir2IrConverter(
fir2irVisitor: Fir2IrVisitor,
fir2IrExtensions: Fir2IrExtensions,
) {
session.lazyDeclarationResolver.disableLazyResolveContractChecks()
for (firFile in allFirFiles) {
registerFileAndClasses(firFile, irModuleFragment)
}
@@ -24,6 +24,10 @@ abstract class FirLazyDeclarationResolver : FirSessionComponent {
abstract fun finishResolvingPhase(phase: FirResolvePhase)
fun disableLazyResolveContractChecks(){
lazyResolveContractChecksEnabled = false
}
inline fun disableLazyResolveContractChecksInside(action: () -> Unit) {
val current = lazyResolveContractChecksEnabled
lazyResolveContractChecksEnabled = false