blob: 0bd4db0df4d91802a37dc3c3388b3854c5994195 [file] [log] [blame]
// FULL_JDK
fun test() {
val a : Int? = 0
if (a != null) {
<!DEBUG_INFO_SMARTCAST!>a<!>.plus(1)
}
else {
<!DEBUG_INFO_CONSTANT!>a<!>?.plus(1)
}
val out : java.io.PrintStream? = null
val ins : java.io.InputStream? = null
out?.println()
ins?.read()
if (ins != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read()
out?.println()
if (out != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
}
if (out != null && ins != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (out == null) {
<!DEBUG_INFO_CONSTANT!>out<!>?.println()
} else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println()
}
if (out != null && ins != null || out != null) {
ins?.read();
ins<!UNSAFE_CALL!>.<!>read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (out == null || <!DEBUG_INFO_SMARTCAST!>out<!>.println(0) == Unit) {
out?.println(1)
out<!UNSAFE_CALL!>.<!>println(1)
}
else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println(2)
}
if (out != null && <!DEBUG_INFO_SMARTCAST!>out<!>.println() == Unit) {
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
else {
out?.println();
}
if (out == null || <!DEBUG_INFO_SMARTCAST!>out<!>.println() == Unit) {
out?.println();
}
else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (1 == 2 || out != null && <!DEBUG_INFO_SMARTCAST!>out<!>.println(1) == Unit) {
out?.println(2);
out<!UNSAFE_CALL!>.<!>println(2);
}
else {
out?.println(3)
out<!UNSAFE_CALL!>.<!>println(3)
}
out?.println()
ins?.read()
if (ins != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read()
out?.println()
if (out != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
}
if (out != null && ins != null) {
<!DEBUG_INFO_SMARTCAST!>ins<!>.read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (out == null) {
<!DEBUG_INFO_CONSTANT!>out<!>?.println()
} else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println()
}
if (out != null && ins != null || out != null) {
ins?.read();
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (out == null || <!DEBUG_INFO_SMARTCAST!>out<!>.println(0) == Unit) {
out?.println(1)
out<!UNSAFE_CALL!>.<!>println(1)
}
else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println(2)
}
if (out != null && <!DEBUG_INFO_SMARTCAST!>out<!>.println() == Unit) {
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
else {
out?.println();
out<!UNSAFE_CALL!>.<!>println();
}
if (out == null || <!DEBUG_INFO_SMARTCAST!>out<!>.println() == Unit) {
out?.println();
out<!UNSAFE_CALL!>.<!>println();
}
else {
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
if (1 == 2 || out != null && <!DEBUG_INFO_SMARTCAST!>out<!>.println(1) == Unit) {
out?.println(2);
out<!UNSAFE_CALL!>.<!>println(2);
}
else {
out?.println(3)
out<!UNSAFE_CALL!>.<!>println(3)
}
if (1 > 2) {
if (out == null) return;
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
out?.println();
while (out != null) {
<!DEBUG_INFO_SMARTCAST!>out<!>.println();
}
<!DEBUG_INFO_CONSTANT!>out<!>?.println();
val out2 : java.io.PrintStream? = null
while (out2 == null) {
<!DEBUG_INFO_CONSTANT!>out2<!>?.println();
out2<!UNSAFE_CALL!>.<!>println();
}
<!DEBUG_INFO_SMARTCAST!>out2<!>.println()
}
fun f(out : String?) {
out?.get(0)
out<!UNSAFE_CALL!>.<!>get(0)
if (out != null) else return;
<!DEBUG_INFO_SMARTCAST!>out<!>.get(0)
}
fun f1(out : String?) {
out?.get(0)
if (out != null) else {
1 + 2
return;
}
<!DEBUG_INFO_SMARTCAST!>out<!>.get(0)
}
fun f2(out : String?) {
out?.get(0)
if (out == null) {
1 + 2
return;
}
<!DEBUG_INFO_SMARTCAST!>out<!>.get(0)
}
fun f3(out : String?) {
out?.get(0)
if (out == null) {
1 + 2
return;
}
else {
1 + 2
}
<!DEBUG_INFO_SMARTCAST!>out<!>.get(0)
}
fun f4(s : String?) {
s?.get(0)
while (1 < 2 && s != null) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
s?.get(0)
while (s == null || 1 < 2) {
s?.get(0)
}
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
fun f5(s : String?) {
s?.get(0)
while (1 < 2 && s != null) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
s?.get(0)
while (s == null || 1 < 2) {
if (1 > 2) break
s?.get(0)
}
s?.get(0);
}
fun f6(s : String?) {
s?.get(0)
do {
s?.get(0)
if (1 < 2) break;
} while (s == null)
s?.get(0)
do {
s?.get(0)
} while (s == null)
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
fun f7(s : String?, t : String?) {
s?.get(0)
if (!(s == null)) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
s?.get(0)
if (!(s != null)) {
<!DEBUG_INFO_CONSTANT!>s<!>?.get(0)
}
else {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
s?.get(0)
if (!!(s != null)) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
}
else {
<!DEBUG_INFO_CONSTANT!>s<!>?.get(0)
}
s?.get(0)
t?.get(0)
if (!(s == null || t == null)) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
<!DEBUG_INFO_SMARTCAST!>t<!>.get(0)
}
else {
s?.get(0)
t?.get(0)
}
s?.get(0)
t?.get(0)
if (!(s == null)) {
<!DEBUG_INFO_SMARTCAST!>s<!>.get(0)
t?.get(0)
}
else {
<!DEBUG_INFO_CONSTANT!>s<!>?.get(0)
t?.get(0)
}
}
fun f8(b : String?, a : String) {
b?.get(0)
if (b == a) {
<!DEBUG_INFO_SMARTCAST!>b<!>.get(0);
}
b?.get(0)
if (a == b) {
<!DEBUG_INFO_SMARTCAST!>b<!>.get(0)
}
if (a != b) {
b?.get(0)
}
else {
<!DEBUG_INFO_SMARTCAST!>b<!>.get(0)
}
}
fun f9(a : Int?) : Int {
if (a != null)
return <!DEBUG_INFO_SMARTCAST!>a<!>
return 1
}