[LL FIR] improve contract violation checks

Add check into LLFirModuleLazyDeclarationResolver to die fast
and avoid StackOverflowError for jumping phases

^KT-56551
^KT-57802
^KT-57811
This commit is contained in:
Dmitrii Gridin
2023-09-21 19:47:45 +02:00
committed by Space Team
parent 0fb3c033e7
commit 96c45c74e8
10 changed files with 83 additions and 2 deletions
@@ -0,0 +1,9 @@
Suppressed: org.jetbrains.kotlin.util.ReenteringLazyValueComputationException
at org.jetbrains.kotlin.types.DeferredType.lambda$static$0(DeferredType.java:35)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$3.recursionDetected(LockBasedStorageManager.java:192)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedLazyValue.invoke(LockBasedStorageManager.java:393)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$LockBasedNotNullLazyValue.invoke(LockBasedStorageManager.java:527)
at org.jetbrains.kotlin.types.DeferredType.getDelegate(DeferredType.java:108)
at org.jetbrains.kotlin.types.WrappedType.getAttributes(KotlinType.kt:135)
at org.jetbrains.kotlin.types.KotlinType.getAnnotations(KotlinType.kt:57)
at org.jetbrains.kotlin.types.checker.ClassicTypeSystemContext$DefaultImpls.hasAnnotation(ClassicTypeSystemContext.kt:753)