[FIR] add lazy resolution contract checks in resolve
This commit is contained in:
committed by
Space Team
parent
df5aa59185
commit
7bac119f20
@@ -18,6 +18,22 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
* @see org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
*/
|
||||
abstract class FirLazyDeclarationResolver : FirSessionComponent {
|
||||
var lazyResolveContractChecksEnabled: Boolean = true
|
||||
|
||||
abstract fun startResolvingPhase(phase: FirResolvePhase)
|
||||
|
||||
abstract fun finishResolvingPhase(phase: FirResolvePhase)
|
||||
|
||||
inline fun disableLazyResolveContractChecksInside(action: () -> Unit) {
|
||||
val current = lazyResolveContractChecksEnabled
|
||||
lazyResolveContractChecksEnabled = false
|
||||
try {
|
||||
action()
|
||||
} finally {
|
||||
lazyResolveContractChecksEnabled = current
|
||||
}
|
||||
}
|
||||
|
||||
abstract fun lazyResolveToPhase(symbol: FirBasedSymbol<*>, toPhase: FirResolvePhase)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user