KT-8263: Conditional operators are not parsed correctly
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
// SKIP_TXT
|
||||
// ISSUE: KT-8263
|
||||
|
||||
fun test(x: Int, y: Int) {
|
||||
if (<!CONDITION_TYPE_MISMATCH!>x < (<!SYNTAX!>if<!><!SYNTAX!><!> <!SYNTAX!>(<!><!UNRESOLVED_REFERENCE!><!SYNTAX!><!>y<!> ><!><!SYNTAX!><!> 115<!SYNTAX!>) 1 else 2))<!> {
|
||||
Unit
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
// FIR_IDENTICAL
|
||||
// SKIP_TXT
|
||||
// ISSUE: KT-8263
|
||||
|
||||
fun test(x: Int, y: Int) {
|
||||
if (<!UNRESOLVED_REFERENCE!>x<!> < (<!SYNTAX!>if<!><!SYNTAX!><!> <!SYNTAX!>(<!><!UNRESOLVED_REFERENCE!><!SYNTAX!><!>y<!> ><!SYNTAX!><!> 115<!SYNTAX!>) 1 else 2))<!> {
|
||||
if (x < (if (y > 115) 1 else 2)) {
|
||||
Unit
|
||||
}
|
||||
}
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +AllowTypeArgumentListLikeExpressions
|
||||
// ISSUE: KT-8263
|
||||
|
||||
fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) {
|
||||
a(x < -1, (-3) > 3)
|
||||
a(x < (-1), -3 > 3)
|
||||
a(x < (-1), (-3) > 3)
|
||||
a(x < y, -3 > 3)
|
||||
a(x < y, x > 2)
|
||||
|
||||
b(x < if (y > (0)) y else 0)
|
||||
b(x < (if (y > (0)) y else 0))
|
||||
b(x < when (y > (0)) { else -> 0 })
|
||||
b(x < (when (y > (0)) { else -> 0 }))
|
||||
|
||||
b(z() as Int < 15)
|
||||
b(z() as Int < y)
|
||||
b(z() is Int < true)
|
||||
b(z() !is Int < true)
|
||||
b(z() !is Int < true > false)
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
package
|
||||
|
||||
public fun f(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int, /*2*/ z: () -> kotlin.Any, /*3*/ a: (kotlin.Boolean, kotlin.Boolean) -> kotlin.Unit, /*4*/ b: (kotlin.Any?) -> kotlin.Unit): kotlin.Unit
|
||||
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
// !LANGUAGE: -AllowTypeArgumentListLikeExpressions
|
||||
// ISSUE: KT-8263
|
||||
|
||||
fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) {
|
||||
a(x < -1, (-3) > 3)
|
||||
a(x < (-1), -3 > 3)
|
||||
a(x < (-1), (-3) > 3)
|
||||
a(x < y, -3 > 3)
|
||||
a(x < y, x > 2)
|
||||
|
||||
b(x < if (y > (0)) y else 0)
|
||||
b(x < (if (y > (0)) y else 0))
|
||||
b(x < when (y > (0)) { else -> 0 })
|
||||
b(x < (when (y > (0)) { else -> 0 }))
|
||||
|
||||
b(z() as Int < 15)
|
||||
b(z() as Int < y)
|
||||
b(z() is Int < true)
|
||||
b(z() !is Int < true)
|
||||
b(z() !is Int < true > false)
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// !LANGUAGE: -AllowTypeArgumentListLikeExpressions
|
||||
// ISSUE: KT-8263
|
||||
|
||||
fun f(x: Int, y: Int, z: () -> Any, a: (Boolean, Boolean) -> Unit, b: (Any?) -> Unit) {
|
||||
a(x < -1, (-3) > 3)
|
||||
a(x < (-1), -3 > 3)
|
||||
a(x <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> (-1), (-3) > 3)
|
||||
a(x < y, -3 > 3)
|
||||
a(x <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> y, x > 2)
|
||||
|
||||
b(x < if (y > (0)) y else 0)
|
||||
b(x <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> (if (y > (0)) y else 0))
|
||||
b(x < when (y > (0)) { else -> 0 })
|
||||
b(x <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> (when (y > (0)) { else -> 0 }))
|
||||
|
||||
b(z() as Int <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> 15)
|
||||
b(z() as Int <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> y)
|
||||
b(z() is Int <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> true)
|
||||
b(z() !is Int <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> true)
|
||||
b(z() !is Int <!TYPE_ARGUMENT_LIST_LIKE_EXPRESSION!><<!> true > false)
|
||||
}
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
package
|
||||
|
||||
public fun f(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int, /*2*/ z: () -> kotlin.Any, /*3*/ a: (kotlin.Boolean, kotlin.Boolean) -> kotlin.Unit, /*4*/ b: (kotlin.Any?) -> kotlin.Unit): kotlin.Unit
|
||||
|
||||
Reference in New Issue
Block a user