[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible

Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
This commit is contained in:
Dmitriy Novozhilov
2020-07-22 16:40:14 +03:00
committed by Mikhail Glukhikh
parent 5c0528b61e
commit f283f2db43
365 changed files with 1400 additions and 1451 deletions
@@ -27,7 +27,7 @@ import checkSubtype
fun case1() {
val a: Any = true
if (a) { "true" } else "false"
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Boolean>(a)
<!NONE_APPLICABLE!>checkSubtype<!><Boolean>(a)
}
/*
@@ -38,7 +38,7 @@ fun case1() {
fun case2() {
val a = JavaContainer.aO
if (a) { "true" } else "false"
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Boolean>(a)
<!NONE_APPLICABLE!>checkSubtype<!><Boolean>(a)
}
// TESTCASE NUMBER: 3
@@ -1,11 +1,11 @@
// TESTCASE NUMBER: 1
fun case_1() {
true checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean?>() }
true checkType { <!NONE_APPLICABLE!>check<!><Boolean?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Boolean?>() }
true checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Any?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Any>() }
true checkType { <!NONE_APPLICABLE!>check<!><Any?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Any>() }
true checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Nothing?>() }
false checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Nothing>() }
true checkType { <!NONE_APPLICABLE!>check<!><Nothing?>() }
false checkType { <!NONE_APPLICABLE!>check<!><Nothing>() }
}
@@ -2,12 +2,12 @@
// TESTCASE NUMBER: 1
fun case_1() {
0L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
1000000L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
0XAf10cDL checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
0x0_0L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
0b100_000_111_111L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
0b0L checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
0L checkType { <!NONE_APPLICABLE!>check<!><Short>() }
1000000L checkType { <!NONE_APPLICABLE!>check<!><Int>() }
0XAf10cDL checkType { <!NONE_APPLICABLE!>check<!><Int>() }
0x0_0L checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
0b100_000_111_111L checkType { <!NONE_APPLICABLE!>check<!><Short>() }
0b0L checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(0L)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(1000000L)
@@ -2,83 +2,83 @@
// TESTCASE NUMBER: 1
fun case_1() {
0 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
0 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
0 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
0 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
127 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
127 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(128)
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
128 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-128 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-128 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-129)
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-129 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-129 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 3
fun case_3() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(32767)
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
32767 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
32767 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(32768)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(32768)
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
32768 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-32768)
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-32768 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-32768 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-32769)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-32769)
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-32769 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-32769 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 4
fun case_4() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(2147483647)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(2147483647)
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
2147483647 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
2147483647 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(2147483648)
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
2147483648 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-2147483648)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-2147483648)
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-2147483648 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-2147483648 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-2147483649)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-2147483649)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(-2147483649)
-2147483649 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-2147483649 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-2147483649 checkType { check<Int>() }
}
@@ -87,15 +87,15 @@ fun case_5() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(9223372036854775807)
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Int>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Byte>(-9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(-9223372036854775807)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(-9223372036854775807)
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Byte>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Short>() }
-9223372036854775807 checkType { check<Int>() }
}
@@ -105,8 +105,8 @@ fun case_6() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Short>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Int>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Byte>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Short>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Int>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Byte>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Short>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Int>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -3,23 +3,23 @@
// TESTCASE NUMBER: 1
fun case_1() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!>)
<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!ILLEGAL_CONST_EXPRESSION!>9223372036854775808L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
}
// TESTCASE NUMBER: 2
fun case_2() {
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000L<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Long>(<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!>)
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
<!AMBIGUITY!>-<!><!ILLEGAL_CONST_EXPRESSION!>100000000000000000000000000000000l<!> <!INAPPLICABLE_CANDIDATE!>checkType<!> { <!NONE_APPLICABLE!>check<!><Long>() }
}
@@ -68,7 +68,7 @@ fun case_4() {
checkSubtype<Int>(-2147483648)
checkSubtype<Long>(-2147483648)
-2147483649 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-2147483649 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-2147483649)
}
@@ -77,6 +77,6 @@ fun case_5() {
9223372036854775807 checkType { check<Long>() }
checkSubtype<Long>(9223372036854775807)
-9223372036854775807 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-9223372036854775807 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-9223372036854775807)
}
@@ -68,7 +68,7 @@ fun case_4() {
checkSubtype<Int>(-0x80000000)
checkSubtype<Long>(-0x80000000)
-0x80000001 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-0x80000001 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-0x80000001)
}
@@ -77,6 +77,6 @@ fun case_5() {
0X7FFFFFFFFFFFFFFF checkType { check<Long>() }
checkSubtype<Long>(0X7FFFFFFFFFFFFFFF)
-0X7FFFFFFFFFFFFFFF checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-0X7FFFFFFFFFFFFFFF checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-0X7FFFFFFFFFFFFFFF)
}
@@ -68,7 +68,7 @@ fun case_4() {
checkSubtype<Int>(-0B10000000000000000000000000000000)
checkSubtype<Long>(-0B10000000000000000000000000000000)
-0b10000000000000000000000000000001 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-0b10000000000000000000000000000001 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-0b10000000000000000000000000000001)
}
@@ -77,6 +77,6 @@ fun case_5() {
0b111111111111111111111111111111111111111111111111111111111111111 checkType { check<Long>() }
checkSubtype<Long>(0b111111111111111111111111111111111111111111111111111111111111111)
-0B111111111111111111111111111111111111111111111111111111111111111 checkType { <!INAPPLICABLE_CANDIDATE!>check<!><Long>() }
-0B111111111111111111111111111111111111111111111111111111111111111 checkType { <!NONE_APPLICABLE!>check<!><Long>() }
checkSubtype<Long>(-0B111111111111111111111111111111111111111111111111111111111111111)
}
@@ -26,7 +26,7 @@ fun case1() {
val a: Boolean? = false
checkSubtype<Boolean?>(a)
val x4 = a && true
x4 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 2
@@ -34,7 +34,7 @@ fun case2() {
val a: Any = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>a<!>
val x4 = a && true
x4 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 3
@@ -46,7 +46,7 @@ fun case3() {
val x3 = a1 && a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 4
@@ -42,5 +42,5 @@ fun case1() {
val x3 = a1 && a2 && a3 && a4 && a5 as Boolean
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>()}
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
}
@@ -26,7 +26,7 @@ fun case1() {
val a: Boolean? = false
checkSubtype<Boolean?>(a)
val x4 = a || true
x4 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 2
@@ -34,7 +34,7 @@ fun case2() {
val a: Any = false
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>a<!>
val x4 = a || true
x4 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x4 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 3
@@ -46,7 +46,7 @@ fun case3() {
val x3 = a1 || a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>() }
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>() }
}
// TESTCASE NUMBER: 4
@@ -42,5 +42,5 @@ fun case1() {
val x3 = a1 || a2 || a3 || a4 || a5 as Boolean
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
x3 <!AMBIGUITY!>checkType<!> { <!INAPPLICABLE_CANDIDATE!>check<!><Boolean>()}
x3 <!AMBIGUITY!>checkType<!> { <!NONE_APPLICABLE!>check<!><Boolean>()}
}