FIR: Report CAPTURED_VAL_INITIALIZATION if initialization is done

outside of constructor.

In other words, when EXACTLY_ONCE lambda initializes non-static final
field of a class, the lambda has to be inlined, otherwise, backend
generated separate function of separate class for the lambda,
which lead to exception at runtime.

 #KT-64854 Fixed
 #KT-59906 Fixed
This commit is contained in:
Ilmir Usmanov
2024-03-05 22:00:19 +01:00
committed by Space Team
parent 5dec87eba8
commit 1c4023fda5
7 changed files with 149 additions and 10 deletions
@@ -18,6 +18,11 @@ package
public final val b: kotlin.String
public final val c: kotlin.String
public final val d: kotlin.String
public final val e: kotlin.String
public final val f: kotlin.String
public final val g: kotlin.String
public final val h: kotlin.String
public final val i: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String