[FIR] FirResolvePhase: introduce isItAllowedToCallLazyResolveToTheSamePhase
To have explicitly declared contracts
This commit is contained in:
committed by
Space Team
parent
d67dde8395
commit
a0120d28cc
+1
-2
@@ -19,8 +19,7 @@ internal sealed class LLFirAbstractBodyTargetResolver(
|
||||
resolveTarget: LLFirResolveTarget,
|
||||
resolvePhase: FirResolvePhase,
|
||||
protected val llImplicitBodyResolveComputationSession: LLImplicitBodyResolveComputationSession = LLImplicitBodyResolveComputationSession(),
|
||||
requiresJumpingLock: Boolean = false,
|
||||
) : LLFirTargetResolver(resolveTarget, resolvePhase, requiresJumpingLock) {
|
||||
) : LLFirTargetResolver(resolveTarget, resolvePhase) {
|
||||
protected fun createReturnTypeCalculator(): LLFirReturnTypeCalculatorWithJump = LLFirReturnTypeCalculatorWithJump(
|
||||
resolveTargetScopeSession,
|
||||
llImplicitBodyResolveComputationSession,
|
||||
|
||||
-1
@@ -143,7 +143,6 @@ internal class LLFirImplicitBodyTargetResolver(
|
||||
target,
|
||||
FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE,
|
||||
llImplicitBodyResolveComputationSession = llImplicitBodyResolveComputationSessionParameter ?: LLImplicitBodyResolveComputationSession(),
|
||||
requiresJumpingLock = true,
|
||||
) {
|
||||
override val transformer = object : FirImplicitAwareBodyResolveTransformer(
|
||||
resolveTargetSession,
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirScript
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.destructuringDeclarationContainerVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.isItAllowedToCallLazyResolveToTheSamePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.componentFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.correspondingValueParameterFromPrimaryConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.fromPrimaryConstructor
|
||||
@@ -77,11 +78,11 @@ import org.jetbrains.kotlin.utils.exceptions.requireWithAttachment
|
||||
internal sealed class LLFirTargetResolver(
|
||||
protected val resolveTarget: LLFirResolveTarget,
|
||||
val resolverPhase: FirResolvePhase,
|
||||
private val requiresJumpingLock: Boolean = false,
|
||||
) : LLFirResolveTargetVisitor {
|
||||
val resolveTargetSession: LLFirSession get() = resolveTarget.session
|
||||
val resolveTargetScopeSession: ScopeSession get() = resolveTargetSession.getScopeSession()
|
||||
private val lockProvider: LLFirLockProvider get() = LLFirGlobalResolveComponents.getInstance(resolveTargetSession).lockProvider
|
||||
private val requiresJumpingLock: Boolean get() = resolverPhase.isItAllowedToCallLazyResolveToTheSamePhase
|
||||
|
||||
private val _containingDeclarations = mutableListOf<FirDeclaration>()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user