FIR checker: COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT

FIR simply ignores anything after the first comma if the when expression
doesn't have a subject. Hence, the checker has to rely on PSI structure
instead.
This commit is contained in:
Tianyu Geng
2021-07-19 19:27:11 -07:00
committed by Ivan Kochurkin
parent db12a96e54
commit 1679da45ab
16 changed files with 113 additions and 25 deletions
@@ -3,9 +3,9 @@
// TESTCASE NUMBER: 1
fun case_1(value_1: TypesProvider) {
when {
getBoolean(), value_1.getBoolean() -> return
value_1.getBoolean() && getBoolean(), getLong() == 1000L -> return
<!CONDITION_TYPE_MISMATCH, TYPE_MISMATCH!>Out<Int>()<!>, getLong(), {}, Any(), throw Exception() -> return
getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> value_1.getBoolean() -> return
value_1.getBoolean() && getBoolean()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> getLong() == 1000L -> return
<!CONDITION_TYPE_MISMATCH, TYPE_MISMATCH!>Out<Int>()<!><!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> getLong()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> {}<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> Any()<!COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT!>,<!> throw Exception() -> return
}
return