[FIR] Don't analyze local classes twice
This commit is contained in:
+2
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.resolve.transformers.body.resolve
|
package org.jetbrains.kotlin.fir.resolve.transformers.body.resolve
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.runStatusResolveForLocalClass
|
import org.jetbrains.kotlin.fir.resolve.transformers.runStatusResolveForLocalClass
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.runSupertypeResolvePhaseForLocalClass
|
import org.jetbrains.kotlin.fir.resolve.transformers.runSupertypeResolvePhaseForLocalClass
|
||||||
@@ -16,6 +17,7 @@ fun <F : FirClass<F>> F.runAllPhasesForLocalClass(
|
|||||||
components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents,
|
components: FirAbstractBodyResolveTransformer.BodyResolveTransformerComponents,
|
||||||
resolutionMode: ResolutionMode
|
resolutionMode: ResolutionMode
|
||||||
): F {
|
): F {
|
||||||
|
if (this.resolvePhase > FirResolvePhase.RAW_FIR) return this
|
||||||
val localClassesNavigationInfo = collectLocalClassesNavigationInfo()
|
val localClassesNavigationInfo = collectLocalClassesNavigationInfo()
|
||||||
runSupertypeResolvePhaseForLocalClass(
|
runSupertypeResolvePhaseForLocalClass(
|
||||||
components.session,
|
components.session,
|
||||||
|
|||||||
Reference in New Issue
Block a user