[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:
+1
-1
@@ -95,4 +95,4 @@ class B() : CaseOuter.CaseBase() {
|
||||
|
||||
override fun outerFoo() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -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<!>
|
||||
|
||||
+1
-1
@@ -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<!>
|
||||
|
||||
+2
-2
@@ -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<!>
|
||||
}
|
||||
|
||||
+7
-7
@@ -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<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user