[FIR] Move ReturnTypeCalculator to :fir:providers module
Also make it an abstract class and turn ReturnTypeCalculatorForFullBodyResolve into object (because it has no state and there is no need to create different instances of it)
This commit is contained in:
committed by
teamcity
parent
ff1e2c05bf
commit
effa3f197a
+1
-2
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.FirProviderInterceptor
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.ScopeClassDeclaration
|
||||
import org.jetbrains.kotlin.fir.scopes.FirCompositeScope
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
|
||||
@@ -29,7 +28,7 @@ open class FirBodyResolveTransformer(
|
||||
phase: FirResolvePhase,
|
||||
override var implicitTypeOnly: Boolean,
|
||||
scopeSession: ScopeSession,
|
||||
val returnTypeCalculator: ReturnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve(),
|
||||
val returnTypeCalculator: ReturnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
val firTowerDataContextCollector: FirTowerDataContextCollector? = null,
|
||||
val firProviderInterceptor: FirProviderInterceptor? = null,
|
||||
|
||||
+1
-1
@@ -204,7 +204,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
returnTypeCalculator: ReturnTypeCalculator,
|
||||
outerBodyResolveContext: BodyResolveContext?
|
||||
) -> FirDesignatedBodyResolveTransformerForReturnTypeCalculator = ::FirDesignatedBodyResolveTransformerForReturnTypeCalculator,
|
||||
) : ReturnTypeCalculator {
|
||||
) : ReturnTypeCalculator() {
|
||||
|
||||
@OptIn(PrivateForInline::class)
|
||||
var outerBodyResolveContext: BodyResolveContext? = null
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ fun <F : FirClassLikeDeclaration> F.runContractResolveForLocalClass(
|
||||
targetedClasses: Set<FirClassLikeDeclaration>
|
||||
): F {
|
||||
val newContext = outerBodyResolveContext.createSnapshotForLocalClasses(
|
||||
ReturnTypeCalculatorForFullBodyResolve(),
|
||||
ReturnTypeCalculatorForFullBodyResolve,
|
||||
targetedClasses
|
||||
)
|
||||
val transformer = FirContractResolveTransformer(session, scopeSession, newContext)
|
||||
|
||||
Reference in New Issue
Block a user