amend! Java Direct: Stop recursive constant initializer evaluation

Java Direct: Stop recursive constant initializer evaluation

Cyclic Java constants (`A = B + 1; B = A + 1`) made the evaluation of
field initializers recurse until StackOverflowError. Treat a field
whose initializer is being evaluated as not constant (JLS 4.12.4), so
kotlinc compiles and javac reports the invalid Java.

A cycle through a Kotlin `const val` is reported by Kotlin as a
non-constant initializer. The PSI facade still overflows on it, so
that test is pinned to java-direct.

The Analysis API LL FIR runners use the PSI facade and still overflow
while evaluating the corresponding symbol light-class field. Mute that
runner with KT-90993 until the PSI-side cycle is fixed; the java-direct
compiler diagnostic remains covered.

^KT-90790 Fixed
^KT-90993

Co-authored-by: Junie <junie@jetbrains.com>
diff --git a/compiler/testData/diagnostics/tests/j+k/javaKotlinConstantCycle.kt b/compiler/testData/diagnostics/tests/j+k/javaKotlinConstantCycle.kt
index 649d294..b81c998 100644
--- a/compiler/testData/diagnostics/tests/j+k/javaKotlinConstantCycle.kt
+++ b/compiler/testData/diagnostics/tests/j+k/javaKotlinConstantCycle.kt
@@ -1,6 +1,7 @@
 // RUN_PIPELINE_TILL: FRONTEND
 // USE_PSI_JAVA_FACADE: false
 // ISSUE: KT-90790
+// MUTE_LL_FIR: KT-90993 StackOverflowError: symbol light class constant evaluation recurses through the PSI Java constant evaluator
 
 // FILE: p/Greeter.java
 package p;