commit | 1bc9f305f978696fba8f8c158076562a197d6c58 | [log] [tgz] |
---|---|---|
author | Ilya Kirillov <ilya.kirillov@jetbrains.com> | Thu Dec 01 17:53:51 2022 +0100 |
committer | Ilya Kirillov <ilya.kirillov@jetbrains.com> | Fri Dec 02 07:15:19 2022 +0100 |
tree | 0e8e1e540abec010e8ec37b519a0874848f2950d | |
parent | 624d8deab200f8b77a02c5b76d9e06cd5992a7ff [diff] |
[FIR] fix SOE on cycle hierarchy of Java classes during status computation
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 44ca71b..a0523d6 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 @@ * 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