From 8e70dbc7e34c7744d636b1431b3ecae10b1c6462 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 1 Dec 2022 17:53:51 +0100 Subject: [PATCH] [FIR] fix SOE on cycle hierarchy of Java classes during status computation --- .../fir/resolve/transformers/FirStatusResolveTransformer.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index 44ca71b6a06..a0523d6bbf7 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -345,7 +345,13 @@ abstract class AbstractFirStatusResolveTransformer( * so we need to resolve supertypes of this class because they could * come from kotlin sources */ + val statusComputationStatus = statusComputationSession[regularClass] + if (!statusComputationStatus.requiresComputation) return + + statusComputationSession.startComputing(regularClass) forceResolveStatusesOfSupertypes(regularClass) + statusComputationSession.endComputing(regularClass) + return } if (regularClass.origin != FirDeclarationOrigin.Source) return