[FIR] runAllPhasesForLocalClass: drop redundant annotations transformation

Such annotations will be transformed as usual in `FirDeclarationsResolveTransformer.transformRegularClass`.
Also, this transformation doesn't have a corresponding class as a container

^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-12-01 12:35:34 +01:00
committed by Space Team
parent a7afd1fe01
commit 6f0d52f991
2 changed files with 7 additions and 7 deletions
@@ -660,7 +660,7 @@ open class FirDeclarationsResolveTransformer(
context.withContainingClass(regularClass) {
val isLocal = regularClass.isLocal
if (isLocal && regularClass !in context.targetedLocalClasses) {
return regularClass.runAllPhasesForLocalClass(transformer, components, data, transformer.firResolveContextCollector)
return regularClass.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
}
if (isLocal || !implicitTypeOnly) {
@@ -700,7 +700,7 @@ 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(transformer, components, data, transformer.firResolveContextCollector)
return typeAlias.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
}
@OptIn(PrivateForInline::class)
@@ -772,8 +772,9 @@ open class FirDeclarationsResolveTransformer(
data: ResolutionMode
): FirAnonymousObject = whileAnalysing(session, anonymousObject) {
if (anonymousObject !in context.targetedLocalClasses) {
return anonymousObject.runAllPhasesForLocalClass(transformer, components, data, transformer.firResolveContextCollector)
return anonymousObject.runAllPhasesForLocalClass(components, data, transformer.firResolveContextCollector)
}
require(anonymousObject.controlFlowGraphReference == null)
val buildGraph = !implicitTypeOnly
dataFlowAnalyzer.enterClass(anonymousObject, buildGraph)
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 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.
*/
@@ -8,14 +8,13 @@ package org.jetbrains.kotlin.fir.resolve.transformers.body.resolve
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
import org.jetbrains.kotlin.fir.resolve.createCurrentScopeList
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.runCompilerRequiredAnnotationsResolvePhaseForLocalClass
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.runCompanionGenerationPhaseForLocalClass
import org.jetbrains.kotlin.fir.resolve.transformers.plugin.runCompilerRequiredAnnotationsResolvePhaseForLocalClass
import org.jetbrains.kotlin.fir.resolve.transformers.runStatusResolveForLocalClass
import org.jetbrains.kotlin.fir.resolve.transformers.runSupertypeResolvePhaseForLocalClass
import org.jetbrains.kotlin.fir.resolve.transformers.runTypeResolvePhaseForLocalClass
fun <F : FirClassLikeDeclaration> F.runAllPhasesForLocalClass(
transformer: FirAbstractBodyResolveTransformer,
components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents,
resolutionMode: ResolutionMode,
firResolveContextCollector: FirResolveContextCollector?
@@ -24,7 +23,7 @@ fun <F : FirClassLikeDeclaration> F.runAllPhasesForLocalClass(
if (this is FirRegularClass) {
components.context.storeClassIfNotNested(this, components.session)
}
this.transformAnnotations(transformer, ResolutionMode.ContextIndependent)
val localClassesNavigationInfo = collectLocalClassesNavigationInfo()
for ((nested, outer) in localClassesNavigationInfo.parentForClass) {