[FIR] Render original type before smartcasted type in DEBUG_INFO_EXPRESSION_TYPE

This is made for keep consistency with same renderer in FE 1.0
This commit is contained in:
Dmitriy Novozhilov
2021-02-15 13:34:15 +03:00
parent d4c26cca52
commit 2b39282682
102 changed files with 5883 additions and 5883 deletions
@@ -95,4 +95,4 @@ class B() : CaseOuter.CaseBase() {
override fun outerFoo() {
}
}
}
@@ -41,7 +41,7 @@ fun case2() {
fun case3() {
val a1 = false
val a2 = JavaClass.VALUE
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any..kotlin.Any?!")!>a2<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a2<!>
val x3 = a1 && a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
@@ -41,7 +41,7 @@ fun case2() {
fun case3() {
val a1 = false
val a2 = JavaClass.VALUE
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any..kotlin.Any?!")!>a2<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a2<!>
val x3 = a1 || a2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Boolean")!>x3<!>
@@ -22,7 +22,7 @@ import checkSubtype
// TESTCASE NUMBER: 1
fun case1() {
val a = JavaClass.STR
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.String..kotlin.String?!")!>a<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String..kotlin.String?! & kotlin.String")!>a<!>
val res = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>res<!>
}
@@ -30,7 +30,7 @@ fun case1() {
// TESTCASE NUMBER: 2
fun case2() {
val a = JavaClass.obj
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any..kotlin.Any?!")!>a<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any..kotlin.Any?! & kotlin.Any")!>a<!>
val x = a!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>x<!>
}
@@ -11,7 +11,7 @@ fun case1(x: Any) {
checkSubtype<A1>(x)
checkSubtype<B1>(x)
<!DEBUG_INFO_EXPRESSION_TYPE("A1 & B1 & kotlin.Any")!>x<!> // A1 & B1 & kotlin.Any
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & A1 & B1")!>x<!> // A1 & B1 & kotlin.Any
}
}
@@ -26,7 +26,7 @@ fun <T> case2(x: T) {
checkSubtype<T>(x)
x //NI A2 & B2 & T & T!! OI A2 & B2 & T
<!DEBUG_INFO_EXPRESSION_TYPE("B2 & A2 & T!! & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T & B2 & A2 & T!!")!>x<!>
}
}
@@ -40,7 +40,7 @@ fun <T> case3a(x: T) {
checkSubtype<A3>(x)
checkSubtype<B3>(x)
checkSubtype<T>(x)
<!DEBUG_INFO_EXPRESSION_TYPE("A3 & B3 & T!! & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T & A3 & B3 & T!!")!>x<!>
}
}
fun <T: Any> case3b(x: T) {
@@ -50,7 +50,7 @@ fun <T: Any> case3b(x: T) {
checkSubtype<B3>(x)
checkSubtype<T>(x)
<!DEBUG_INFO_EXPRESSION_TYPE("A3 & B3 & T & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T & A3 & B3 & T")!>x<!>
}
}
fun <T: Any?> case3c(x: T) {
@@ -60,7 +60,7 @@ fun <T: Any?> case3c(x: T) {
checkSubtype<B3>(x)
checkSubtype<T>(x)
<!DEBUG_INFO_EXPRESSION_TYPE("A3 & B3 & T!! & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T & A3 & B3 & T!!")!>x<!>
}
}
@@ -72,7 +72,7 @@ interface A3
fun case4(x: C?) {
if (x is B4 && x is A4) {
x
<!DEBUG_INFO_EXPRESSION_TYPE("C & C?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("C? & C")!>x<!>
x.foo()
}
}
@@ -89,7 +89,7 @@ class C : A4, B4 {
fun <T : I5> case5(x: T) {
if (x is B5 && x is A5) {
x
<!DEBUG_INFO_EXPRESSION_TYPE("B5 & A5 & T & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T & B5 & A5 & T")!>x<!>
}
}