mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
59 lines
957 B
Kotlin
Vendored
59 lines
957 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// FILE: varModifiedAfterCheck.kt
|
|
fun implicitCheck(s: String) {}
|
|
|
|
fun test1() {
|
|
var a = J.foo()
|
|
val b = a
|
|
a = J.bar()
|
|
if (b != null) {
|
|
if (a != null) {
|
|
throw AssertionError("a: $a")
|
|
}
|
|
}
|
|
}
|
|
|
|
fun test2() {
|
|
var a = J.foo()
|
|
val b = a
|
|
if (b != null) {
|
|
a = J.bar()
|
|
if (a != null) {
|
|
throw AssertionError("a: $a")
|
|
}
|
|
}
|
|
}
|
|
|
|
fun test3() {
|
|
var a = J.foo()
|
|
val b = a
|
|
a = J.bar()
|
|
implicitCheck(b)
|
|
if (a != null) {
|
|
throw AssertionError("a: $a")
|
|
}
|
|
}
|
|
|
|
fun test4() {
|
|
var a = J.foo()
|
|
val b = a
|
|
implicitCheck(b)
|
|
a = J.bar()
|
|
if (a != null) {
|
|
throw AssertionError("a: $a")
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
test1()
|
|
test2()
|
|
test3()
|
|
test4()
|
|
return "OK"
|
|
}
|
|
|
|
// FILE: J.java
|
|
public class J {
|
|
public static String foo() { return ""; }
|
|
public static String bar() { return null; }
|
|
} |