FIR: Adjust testData for spec tests: expressions

This commit is contained in:
Denis Zharkov
2020-04-15 13:12:50 +03:00
parent 06bae1e52f
commit ee75347bb0
29 changed files with 1524 additions and 0 deletions
@@ -0,0 +1,70 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-313
* PLACE: expressions, conditional-expression -> paragraph 6 -> sentence 1
* NUMBER: 1
* DESCRIPTION: The type of the condition expression must be a subtype of kotlin.Boolean
* HELPERS: checkType
*/
// MODULE: libModule
// FILE: libModule/JavaContainer.java
package libModule;
public class JavaContainer {
public static boolean ab;
public static final Boolean aB;
public static Object aO = false;
}
// MODULE: mainModule(libModule)
// FILE: KotlinClass.kt
package mainModule
import libModule.*
import checkSubtype
/*
* TESTCASE NUMBER: 1
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-35517
*/
fun case1() {
val a: Any = true
if (a) { "true" } else "false"
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Boolean>(a)
}
/*
* TESTCASE NUMBER: 2
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-35517
*/
fun case2() {
val a = JavaContainer.aO
if (a) { "true" } else "false"
<!INAPPLICABLE_CANDIDATE!>checkSubtype<!><Boolean>(a)
}
// TESTCASE NUMBER: 3
// FILE: JavaClassCase3.java
public class JavaClassCase3{
public static <T> T id(T x) {
return null;
}
}
// FILE: KotlinClassCase3.kt
// TESTCASE NUMBER: 3
fun case3() {
val x = JavaClassCase3.id(null) // Nothing!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing?..kotlin.Nothing??")!>x<!>
val a = if (x) {
"NOK"
} else "NOK"
}