[FIR] Remove FirLambdaArgumentExpression

It's not really necessary if the information about if the lambda was a
trailing lambda can be directly saved in FirAnonymousFunctionExpression.

Removing the FIR node uncovered a couple of bugs
(UNINITIALIZED_ENUM_ENTRY, ERROR_IN_CONTRACT_DESCRIPTION) that were
caused by assuming that a lambda is always a trailing lambda.

#KT-66124
This commit is contained in:
Kirill Rakhman
2024-03-04 11:59:13 +01:00
committed by Space Team
parent 1a5fa8d3f6
commit 03fc0fd381
66 changed files with 302 additions and 351 deletions
@@ -25,4 +25,19 @@ enum class JvmTarget(val description: String) {
JVM_15 -> "Opcodes.V12 + 3"
}
}
// Should not report UNINITIALIZED_ENUM_ENTRY
val bytecodeVersion2: String by lazy({
when (this) {
JVM_1_6 -> "Opcodes.V1_6"
JVM_1_8 -> "Opcodes.V1_8"
JVM_9 -> "Opcodes.V9"
JVM_10 -> "Opcodes.V10"
JVM_11 -> "Opcodes.V11"
JVM_12 -> "Opcodes.V12"
JVM_13 -> "Opcodes.V12 + 1"
JVM_14 -> "Opcodes.V12 + 2"
JVM_15 -> "Opcodes.V12 + 3"
}
})
}
@@ -21,6 +21,7 @@ public final enum class JvmTarget : kotlin.Enum<JvmTarget> {
private constructor JvmTarget(/*0*/ description: kotlin.String)
public final val bytecodeVersion: kotlin.String
public final val bytecodeVersion2: kotlin.String
public final val description: kotlin.String
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int