[FIR] make FirLazyDeclarationResolver FirElementWithResolveState-based

This is required to be able to call lazy resolve for FirFileAnnotationsContainer

^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-11-20 17:00:35 +01:00
committed by Space Team
parent d7710b8e8d
commit 0b07b86ec9
6 changed files with 37 additions and 51 deletions
@@ -5,11 +5,11 @@
package org.jetbrains.kotlin.test.frontend.fir.handlers
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.declarations.FirClass
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
import org.jetbrains.kotlin.fir.symbols.FirLazyResolveContractViolationException
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
class FirCompilerLazyDeclarationResolverWithPhaseChecking : FirLazyDeclarationResolver() {
@@ -20,15 +20,15 @@ class FirCompilerLazyDeclarationResolverWithPhaseChecking : FirLazyDeclarationRe
fun getContractViolationExceptions(): List<FirLazyResolveContractViolationException> =
exceptions
override fun lazyResolveToPhase(symbol: FirBasedSymbol<*>, toPhase: FirResolvePhase) {
override fun lazyResolveToPhase(element: FirElementWithResolveState, toPhase: FirResolvePhase) {
checkIfCanLazyResolveToPhase(toPhase)
}
override fun lazyResolveToPhaseWithCallableMembers(symbol: FirClassSymbol<*>, toPhase: FirResolvePhase) {
override fun lazyResolveToPhaseWithCallableMembers(clazz: FirClass, toPhase: FirResolvePhase) {
checkIfCanLazyResolveToPhase(toPhase)
}
override fun lazyResolveToPhaseRecursively(symbol: FirBasedSymbol<*>, toPhase: FirResolvePhase) {
override fun lazyResolveToPhaseRecursively(element: FirElementWithResolveState, toPhase: FirResolvePhase) {
checkIfCanLazyResolveToPhase(toPhase)
}