[Spec tests] Add fixed tests for expressions section, fix linkage for reference-equality-expressions section
This commit is contained in:
Vendored
+1
@@ -0,0 +1 @@
|
||||
java.lang.IllegalStateException: TYPE_MISMATCH: Type mismatch: inferred type is Nothing? but Boolean was expected (7,21) in /KotlinClass.kt
|
||||
@@ -0,0 +1,34 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: flexibility
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check Nothing flexibillity
|
||||
* EXCEPTION: compiletime
|
||||
* ISSUES: KT-35700
|
||||
*/
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass{
|
||||
public static <T> T id(T x) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: KotlinClass.kt
|
||||
|
||||
fun box(): String {
|
||||
val x = JavaClass.id(null) // Nothing!
|
||||
|
||||
return try {
|
||||
val a = if (x) {
|
||||
"NOK"
|
||||
} else "NOK"
|
||||
a
|
||||
} catch (e: java.lang.IllegalStateException) {
|
||||
"OK"
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
java.lang.IllegalStateException: TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH: Type inference failed. Expected type mismatch: inferred type is Test<Nothing?> but Base<T> was expected (7,38) in /KotlinClass.kt
|
||||
@@ -0,0 +1,36 @@
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: flexibility
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: check Nothing flexibillity
|
||||
* EXCEPTION: compiletime
|
||||
* ISSUES: KT-35700
|
||||
*/
|
||||
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test<T> extends Base<T> {
|
||||
public Test (T arg) {
|
||||
super(arg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: KotlinClass.kt
|
||||
|
||||
open class Base<out T>(val prop: T)
|
||||
|
||||
class Inheritor <T : Any> {
|
||||
companion object {
|
||||
fun <T> default(): Base<T> = Test(null)
|
||||
}
|
||||
}
|
||||
|
||||
fun box() {
|
||||
val v: Base<String> = Inheritor.default()
|
||||
println(v.prop.length)
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SECTIONS: flexibility
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: check Nothing flexibillity
|
||||
* ISSUES: KT-35700
|
||||
*/
|
||||
|
||||
// FILE: JavaClass.java
|
||||
public class JavaClass{
|
||||
public static <T> T id(T x) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: KotlinClass.kt
|
||||
|
||||
fun box(): String {
|
||||
val x = JavaClass.id(null) // Nothing!
|
||||
|
||||
return try {
|
||||
val a = if (x) {
|
||||
"NOK"
|
||||
} else "NOK"
|
||||
a
|
||||
} catch (e: IllegalStateException) {
|
||||
"OK"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (POSITIVE)
|
||||
*
|
||||
* SECTIONS: flexibility
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: check Nothing flexibillity
|
||||
* ISSUES: KT-35700
|
||||
*/
|
||||
|
||||
// FILE: Test.java
|
||||
|
||||
public class Test<T> extends Base<T> {
|
||||
public Test (T arg) {
|
||||
super(arg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: KotlinClass.kt
|
||||
|
||||
open class Base<out T>(val prop: T)
|
||||
|
||||
class Inheritor <T : Any> {
|
||||
companion object {
|
||||
fun <T> default(): Base<T> = Test(null)
|
||||
}
|
||||
}
|
||||
|
||||
fun box() : String{
|
||||
val v: Base<String> = Inheritor.default()
|
||||
try {
|
||||
println(v.prop.length)
|
||||
}catch (e: Exception ){
|
||||
return "OK"
|
||||
}
|
||||
return "NOK"
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user