[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:
committed by
Space Team
parent
1a5fa8d3f6
commit
03fc0fd381
+2
-2
@@ -29,7 +29,7 @@ import kotlin.contracts.*
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
inline fun case_1(block: () -> Unit) {
|
||||
contract(builder = { callsInPlaceEffectBuilder(block) })
|
||||
contract(builder = { <!ERROR_IN_CONTRACT_DESCRIPTION!>callsInPlaceEffectBuilder(block)<!> })
|
||||
return block()
|
||||
}
|
||||
|
||||
@@ -41,6 +41,6 @@ inline fun case_2(block: () -> Unit) {
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
inline fun case_3(value_1: Int?, block: () -> Unit) {
|
||||
contract({ returnsEffectBuilder(value_1); callsInPlaceEffectBuilder(block) })
|
||||
contract({ <!ERROR_IN_CONTRACT_DESCRIPTION!>returnsEffectBuilder(value_1)<!>; <!ERROR_IN_CONTRACT_DESCRIPTION!>callsInPlaceEffectBuilder(block)<!> })
|
||||
return block()
|
||||
}
|
||||
|
||||
+2
-2
@@ -19,12 +19,12 @@ inline fun case_1(block: () -> Unit) {
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
inline fun case_2(block: () -> Unit) {
|
||||
contract({ })
|
||||
<!ERROR_IN_CONTRACT_DESCRIPTION!>contract({ })<!>
|
||||
return block()
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
inline fun case_3(block: () -> Unit) {
|
||||
contract(builder = { })
|
||||
<!ERROR_IN_CONTRACT_DESCRIPTION!>contract(builder = { })<!>
|
||||
return block()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user