[FIR] drop obsolete FirResolveContextCollector
This interface is unused
This commit is contained in:
committed by
Space Team
parent
2e17d8d524
commit
80b698ce32
+1
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -28,7 +28,6 @@ abstract class FirAbstractBodyResolveTransformerDispatcher(
|
||||
scopeSession: ScopeSession,
|
||||
val returnTypeCalculator: ReturnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve.Default,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
val firResolveContextCollector: FirResolveContextCollector? = null,
|
||||
) : FirAbstractBodyResolveTransformer(phase) {
|
||||
|
||||
open val preserveCFGForClasses: Boolean get() = !implicitTypeOnly
|
||||
|
||||
+1
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -18,7 +18,6 @@ open class FirBodyResolveTransformer(
|
||||
scopeSession: ScopeSession,
|
||||
returnTypeCalculator: ReturnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve.Default,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null
|
||||
) : FirAbstractBodyResolveTransformerDispatcher(
|
||||
session,
|
||||
phase,
|
||||
@@ -26,7 +25,6 @@ open class FirBodyResolveTransformer(
|
||||
scopeSession,
|
||||
returnTypeCalculator,
|
||||
outerBodyResolveContext,
|
||||
firResolveContextCollector
|
||||
) {
|
||||
final override val expressionsTransformer = FirExpressionsResolveTransformer(this)
|
||||
final override val declarationsTransformer = FirDeclarationsResolveTransformer(this)
|
||||
|
||||
+4
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -77,7 +77,6 @@ open class FirDeclarationsResolveTransformer(
|
||||
}
|
||||
|
||||
protected fun transformDeclarationContent(declaration: FirDeclaration, data: ResolutionMode): FirDeclaration {
|
||||
transformer.firResolveContextCollector?.addDeclarationContext(declaration, context)
|
||||
return transformer.transformDeclarationContent(declaration, data)
|
||||
}
|
||||
|
||||
@@ -678,7 +677,7 @@ open class FirDeclarationsResolveTransformer(
|
||||
context.withContainingClass(regularClass) {
|
||||
val isLocal = regularClass.isLocal
|
||||
if (isLocal && regularClass !in context.targetedLocalClasses) {
|
||||
return regularClass.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
|
||||
return regularClass.runAllPhasesForLocalClass(components, data)
|
||||
}
|
||||
|
||||
if (isLocal || !implicitTypeOnly) {
|
||||
@@ -724,14 +723,13 @@ open class FirDeclarationsResolveTransformer(
|
||||
override fun transformTypeAlias(typeAlias: FirTypeAlias, data: ResolutionMode): FirTypeAlias = whileAnalysing(session, typeAlias) {
|
||||
if (implicitTypeOnly) return typeAlias
|
||||
if (typeAlias.isLocal && typeAlias !in context.targetedLocalClasses) {
|
||||
return typeAlias.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
|
||||
return typeAlias.runAllPhasesForLocalClass(components, data)
|
||||
}
|
||||
|
||||
@OptIn(PrivateForInline::class)
|
||||
context.withContainer(typeAlias) {
|
||||
doTransformTypeParameters(typeAlias)
|
||||
typeAlias.transformAnnotations(transformer, data)
|
||||
transformer.firResolveContextCollector?.addDeclarationContext(typeAlias, context)
|
||||
typeAlias.transformExpandedTypeRef(transformer, data)
|
||||
}
|
||||
|
||||
@@ -742,8 +740,6 @@ open class FirDeclarationsResolveTransformer(
|
||||
file: FirFile,
|
||||
data: ResolutionMode,
|
||||
): FirFile = withFile(file) {
|
||||
transformer.firResolveContextCollector?.addFileContext(file, context.towerDataContext)
|
||||
|
||||
transformDeclarationContent(file, data) as FirFile
|
||||
}
|
||||
|
||||
@@ -798,7 +794,7 @@ open class FirDeclarationsResolveTransformer(
|
||||
): FirAnonymousObject = whileAnalysing(session, anonymousObject) {
|
||||
context.withContainingClass(anonymousObject) {
|
||||
if (anonymousObject !in context.targetedLocalClasses) {
|
||||
return anonymousObject.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
|
||||
return anonymousObject.runAllPhasesForLocalClass(components, data)
|
||||
}
|
||||
|
||||
require(anonymousObject.controlFlowGraphReference == null)
|
||||
@@ -895,7 +891,6 @@ open class FirDeclarationsResolveTransformer(
|
||||
val bodyResolved = function.bodyResolved
|
||||
dataFlowAnalyzer.enterFunction(function)
|
||||
|
||||
transformer.firResolveContextCollector?.addDeclarationContext(function, context)
|
||||
if (shouldResolveEverything) {
|
||||
// Annotations here are required only in the case of a local class member function.
|
||||
// Separate annotation transformers are responsible in the case of non-local functions.
|
||||
|
||||
+2
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -558,7 +558,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
data
|
||||
else
|
||||
ResolutionMode.ContextIndependent
|
||||
collectStatementContext(block.statements[index])
|
||||
|
||||
TransformData.Data(value)
|
||||
}
|
||||
block.transformOtherChildren(transformer, data)
|
||||
@@ -573,10 +573,6 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
dataFlowAnalyzer.exitBlock(block)
|
||||
}
|
||||
|
||||
private fun collectStatementContext(statement: FirStatement) {
|
||||
transformer.firResolveContextCollector?.addStatementContext(statement, context)
|
||||
}
|
||||
|
||||
override fun transformThisReceiverExpression(
|
||||
thisReceiverExpression: FirThisReceiverExpression,
|
||||
data: ResolutionMode,
|
||||
@@ -994,7 +990,6 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
|
||||
return binaryLogicExpression.also(dataFlowAnalyzer::enterBinaryLogicExpression)
|
||||
.transformLeftOperand(this, ResolutionMode.WithExpectedType(booleanType))
|
||||
.also(dataFlowAnalyzer::exitLeftBinaryLogicExpressionArgument)
|
||||
.also { collectStatementContext(it.rightOperand) }
|
||||
.transformRightOperand(this, ResolutionMode.WithExpectedType(booleanType))
|
||||
.also(dataFlowAnalyzer::exitBinaryLogicExpression)
|
||||
.transformOtherChildren(transformer, ResolutionMode.WithExpectedType(booleanType))
|
||||
|
||||
+1
-5
@@ -73,8 +73,7 @@ class FirImplicitTypeBodyResolveTransformerAdapter(session: FirSession, scopeSes
|
||||
fun <F : FirClassLikeDeclaration> F.runContractAndBodiesResolutionForLocalClass(
|
||||
components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents,
|
||||
resolutionMode: ResolutionMode,
|
||||
localClassesNavigationInfo: LocalClassesNavigationInfo,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null
|
||||
localClassesNavigationInfo: LocalClassesNavigationInfo
|
||||
): F {
|
||||
val currentReturnTypeCalculator = components.context.returnTypeCalculator as? ReturnTypeCalculatorWithJump
|
||||
val prevDesignation = currentReturnTypeCalculator?.designationMapForLocalClasses ?: emptyMap()
|
||||
@@ -106,7 +105,6 @@ fun <F : FirClassLikeDeclaration> F.runContractAndBodiesResolutionForLocalClass(
|
||||
implicitTypeOnly = false,
|
||||
returnTypeCalculator,
|
||||
outerBodyResolveContext = newContext,
|
||||
firResolveContextCollector = firResolveContextCollector,
|
||||
)
|
||||
|
||||
return this.transform(transformer, resolutionMode)
|
||||
@@ -120,7 +118,6 @@ open class FirImplicitAwareBodyResolveTransformer(
|
||||
implicitTypeOnly: Boolean,
|
||||
returnTypeCalculator: ReturnTypeCalculatorWithJump,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null,
|
||||
) : FirBodyResolveTransformer(
|
||||
session,
|
||||
phase,
|
||||
@@ -128,7 +125,6 @@ open class FirImplicitAwareBodyResolveTransformer(
|
||||
scopeSession,
|
||||
returnTypeCalculator,
|
||||
outerBodyResolveContext,
|
||||
firResolveContextCollector
|
||||
) {
|
||||
override fun transformForeignAnnotationCall(symbol: FirBasedSymbol<*>, annotationCall: FirAnnotationCall): FirAnnotationCall {
|
||||
val outerTransformer = (returnTypeCalculator as ReturnTypeCalculatorWithJump).outerTransformer
|
||||
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve.transformers.body.resolve
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTowerDataContext
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
|
||||
/**
|
||||
* Collector needed to collect TowerDataContext in IDE for in-air resolved fir elements.
|
||||
*/
|
||||
interface FirResolveContextCollector {
|
||||
fun addFileContext(file: FirFile, context: FirTowerDataContext)
|
||||
fun addStatementContext(statement: FirStatement, context: BodyResolveContext)
|
||||
fun addDeclarationContext(declaration: FirDeclaration, context: BodyResolveContext)
|
||||
|
||||
/**
|
||||
* Here by "header" we understand the parts of the class declaration which resolution is not affected
|
||||
* by the class own supertypes.
|
||||
*
|
||||
* It includes any type reference mentioned before the body of the class, except for:
|
||||
* - primary constructor declaration with annotations
|
||||
* - super type constructor **value arguments** with annotations
|
||||
*
|
||||
* Also, it includes class type parameters, because they are available anywhere inside the class declaration.
|
||||
*
|
||||
* N.B. We collect header contexts only for [FirRegularClass]es, ignoring
|
||||
* [org.jetbrains.kotlin.fir.declarations.FirAnonymousObject]s. That's because anonymous objects are in
|
||||
* fact expressions, and it should be enough for [FirTowerDataContextCollector] to have a context for
|
||||
* the containing declaration to correctly process everything inside anonymous objects.
|
||||
*/
|
||||
fun addClassHeaderContext(declaration: FirRegularClass, context: FirTowerDataContext)
|
||||
}
|
||||
+1
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.runTypeResolvePhaseForLocal
|
||||
fun <F : FirClassLikeDeclaration> F.runAllPhasesForLocalClass(
|
||||
components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents,
|
||||
resolutionMode: ResolutionMode,
|
||||
firResolveContextCollector: FirResolveContextCollector?
|
||||
): F {
|
||||
if (status is FirResolvedDeclarationStatus) return this
|
||||
if (this is FirRegularClass) {
|
||||
@@ -64,7 +63,6 @@ fun <F : FirClassLikeDeclaration> F.runAllPhasesForLocalClass(
|
||||
components,
|
||||
resolutionMode,
|
||||
localClassesNavigationInfo,
|
||||
firResolveContextCollector
|
||||
)
|
||||
return this
|
||||
}
|
||||
|
||||
+1
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveCon
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirResolveContextCollector
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImplWithoutSource
|
||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
||||
@@ -43,7 +42,6 @@ abstract class FirAbstractContractResolveTransformerDispatcher(
|
||||
session: FirSession,
|
||||
scopeSession: ScopeSession,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null,
|
||||
) : FirAbstractBodyResolveTransformerDispatcher(
|
||||
session,
|
||||
FirResolvePhase.CONTRACTS,
|
||||
@@ -51,7 +49,6 @@ abstract class FirAbstractContractResolveTransformerDispatcher(
|
||||
scopeSession,
|
||||
returnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve.Contract,
|
||||
outerBodyResolveContext = outerBodyResolveContext,
|
||||
firResolveContextCollector = firResolveContextCollector,
|
||||
) {
|
||||
final override val expressionsTransformer: FirExpressionsResolveTransformer =
|
||||
FirExpressionsResolveTransformer(this)
|
||||
|
||||
+1
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -13,12 +13,10 @@ class FirContractResolveTransformer(
|
||||
session: FirSession,
|
||||
scopeSession: ScopeSession,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null,
|
||||
) : FirAbstractContractResolveTransformerDispatcher(
|
||||
session,
|
||||
scopeSession,
|
||||
outerBodyResolveContext,
|
||||
firResolveContextCollector,
|
||||
) {
|
||||
override val contractDeclarationsTransformer: FirDeclarationsContractResolveTransformer
|
||||
get() = FirDeclarationsContractResolveTransformer()
|
||||
|
||||
+1
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,6 @@ open class FirAnnotationArgumentsTransformer(
|
||||
resolvePhase: FirResolvePhase,
|
||||
outerBodyResolveContext: BodyResolveContext? = null,
|
||||
returnTypeCalculator: ReturnTypeCalculator = ReturnTypeCalculatorForFullBodyResolve.Default,
|
||||
firResolveContextCollector: FirResolveContextCollector? = null,
|
||||
) : FirAbstractBodyResolveTransformerDispatcher(
|
||||
session,
|
||||
resolvePhase,
|
||||
@@ -46,7 +45,6 @@ open class FirAnnotationArgumentsTransformer(
|
||||
scopeSession,
|
||||
outerBodyResolveContext = outerBodyResolveContext,
|
||||
returnTypeCalculator = returnTypeCalculator,
|
||||
firResolveContextCollector = firResolveContextCollector,
|
||||
) {
|
||||
final override val expressionsTransformer: FirExpressionsResolveTransformer = FirExpressionTransformerForAnnotationArguments(this)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user