// !WITH_NEW_INFERENCE fun foo(x : String?, y : String?) { if (y != null && x == y) { // Both not null x.length y.length } else { x.length y.length } if (y != null || x == y) { x.length y.length } else { // y == null but x != y x.length y.length } if (y == null && x != y) { // y == null but x != y x.length y.length } else { x.length y.length } if (y == null || x != y) { x.length y.length } else { // Both not null x.length y.length } }