[FIR] Use type without smartcast for local variable with smartcasted initializer

This commit is contained in:
Dmitriy Novozhilov
2021-02-15 12:26:13 +03:00
parent 40e286b354
commit d4c26cca52
24 changed files with 253 additions and 159 deletions
@@ -9,8 +9,8 @@ fun case_1() {
val b = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a<!>)
val c = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>a<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any")!>c<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any")!>c<!>.equals(10)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>c<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>c<!>.equals(10)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.equals(10)
}
@@ -18,8 +18,8 @@ fun case_1() {
fun case_2(a: Any?) {
if (a is String) {
val b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>b<!>.length
}
}
@@ -30,8 +30,8 @@ fun case_3(a: Any?) {
val c = b
val d = c
val e = d
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>e<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>e<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>e<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>e<!>.length
}
}
@@ -46,12 +46,12 @@ fun case_4(a: Any?) {
if (d is ClassLevel4) {
val e = d
if (e is ClassLevel5) {
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>.test1()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>.test3()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>.test4()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & ClassLevel4")!>e<!>.test5()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>.test1()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>.test2()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>.test3()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>.test4()
<!DEBUG_INFO_EXPRESSION_TYPE("ClassLevel5 & kotlin.Any?")!>e<!>.test5()
}
}
}
@@ -13,8 +13,8 @@ fun case_1() {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.equals(10)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any")!>c<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any")!>c<!>.equals(10)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>c<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>c<!>.equals(10)
}
// TESTCASE NUMBER: 2
@@ -22,8 +22,8 @@ fun case_2(x: Any) {
if (x is String) {
val y = x
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>y<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>y<!>.length
}
}
@@ -34,10 +34,10 @@ fun case_3(x: Any?) {
if (y == null) throw Exception()
var z = y
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number?")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number")!>z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number?")!>y<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number")!>z<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>y<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>z<!>.toByte()
}
}
@@ -48,10 +48,10 @@ fun case_4(x: Any?) {
while (true && y != null) {
var z = y
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number?")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number")!>z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number?")!>y<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Number")!>z<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>y<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>z<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>y<!>.toByte()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Number & kotlin.Any?")!>z<!>.toByte()
}
}
}
@@ -11,16 +11,16 @@ fun case_1() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
while (a is String) {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
}
@@ -33,16 +33,16 @@ fun case_2() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
while (true) {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
}
@@ -55,16 +55,16 @@ fun case_3() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
do {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
} while (true)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -77,16 +77,16 @@ fun case_4() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
do {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
} while (false)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -99,16 +99,16 @@ fun case_5() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
for (i in 0..10) {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
}
@@ -117,16 +117,16 @@ fun case_6() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
if (a is String) {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -135,14 +135,14 @@ fun case_7() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
when (true) {
true -> b = a
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -155,16 +155,16 @@ fun case_8() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
try {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
} catch (e: Exception) { }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -173,18 +173,18 @@ fun case_9() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
try {
} catch (e: Exception) {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -193,18 +193,18 @@ fun case_10() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
try {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
} finally {
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -213,18 +213,18 @@ fun case_11() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
try {
} finally {
b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -237,15 +237,15 @@ fun case_12() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
while (if (true) { b = a; true } else true) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
}
@@ -254,12 +254,12 @@ fun case_13() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
a.plus(if (true) { b = a; true } else true)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
@@ -272,12 +272,12 @@ fun case_14() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
while (true) {
if (true) { b = a; } else 3
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>b<!>.<!UNRESOLVED_REFERENCE!>length<!>
}
}
}
@@ -287,12 +287,12 @@ fun case_15() {
var a: Any = 4
if (a is String) {
var b = a
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
while (true) {
if (true) { b = a; } else { b = a; }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String")!>b<!>.length
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any")!>b<!>.length
}
}
}
@@ -78,7 +78,7 @@ fun case_6(x: Any?, b: Class) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
val y = if (true) b::fun_1 else b::fun_1
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int")!>z1<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>z1<!>
val z2: Int = z1
}
@@ -57,16 +57,16 @@ fun case_3(a: Inv<Int>?) {
if (a != null) {
val b = a
if (a == null) {
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>")!>b<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<kotlin.Int> & Inv<kotlin.Int>?")!>b<!>.funNullableAny()
}
}
}
@@ -61,16 +61,16 @@ fun case_3(a: Inv<out Int>?) {
if (a != null) {
val b = a
if (a == null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>")!>b<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out kotlin.Int> & Inv<out kotlin.Int>?")!>b<!>.funNullableAny()
}
}