More accurate handling of "always null" for receivers

This commit is contained in:
Mikhail Glukhikh
2015-11-25 14:14:10 +03:00
parent 89e56093a2
commit 9a6d4c32c5
12 changed files with 45 additions and 32 deletions
@@ -15,12 +15,12 @@ fun foo(x : String?, y : String?) {
else {
// y == null but x != y
<!DEBUG_INFO_SMARTCAST!>x<!>.length
<!ALWAYS_NULL!>y<!><!UNSAFE_CALL!>.<!>length
<!DEBUG_INFO_CONSTANT!>y<!><!UNSAFE_CALL!>.<!>length
}
if (y == null && x != <!DEBUG_INFO_CONSTANT!>y<!>) {
// y == null but x != y
<!DEBUG_INFO_SMARTCAST!>x<!>.length
<!ALWAYS_NULL!>y<!><!UNSAFE_CALL!>.<!>length
<!DEBUG_INFO_CONSTANT!>y<!><!UNSAFE_CALL!>.<!>length
}
else {
x<!UNSAFE_CALL!>.<!>length