[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
@@ -8,9 +8,9 @@
*/
fun case_1(x: Any?) {
if (x is String) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val y = if (true) Class::fun_1 else Class::fun_1
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val z: String = x
}
}
@@ -21,13 +21,13 @@ fun case_1(x: Any?) {
*/
fun case_2(x: Any?, b: Boolean?) {
x!!
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Any")!>x<!>
val y = when (b) {
true -> Class::fun_1
false -> Class::fun_2
null -> Class::fun_3
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Any")!>x<!>
val z: Any = x
}
@@ -37,22 +37,22 @@ fun case_2(x: Any?, b: Boolean?) {
*/
fun case_3(x: Any?, b: Boolean?) {
x as Int
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>x<!>
val y = when (b) {
else -> Class::fun_1
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>x<!>
val z: Int = x
}
// TESTCASE NUMBER: 4
fun case_4(x: Any?, b: Boolean?) {
x as Int
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>x<!>
if (b!!) {
val m = Class::fun_1
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>x<!>
val z: Int = x
}
@@ -62,9 +62,9 @@ fun case_4(x: Any?, b: Boolean?) {
*/
fun case_5(x: Any?, b: Class) {
x as Int
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>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.Any? & kotlin.Int")!>x<!>
val z: Int = x
}
@@ -75,10 +75,10 @@ fun case_5(x: Any?, b: Class) {
fun case_6(x: Any?, b: Class) {
x as Int
val z1 = x
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>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.Any?")!>z1<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.Int")!>z1<!>
val z2: Int = z1
}
@@ -89,9 +89,9 @@ fun case_6(x: Any?, b: Class) {
fun case_7_1() {}
fun case_7(x: Any?) {
if (x is String) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val y = if (true) ::case_7_1 else ::case_7_1
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val z: String = x
}
}
@@ -100,13 +100,13 @@ fun case_7(x: Any?) {
fun case_8_1() {}
fun case_8(x: Any?) {
if (x is String) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val m = try {
::case_8_1
} catch (e: Exception) {
::case_8_1
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val z: String = x
}
}
@@ -114,13 +114,13 @@ fun case_8(x: Any?) {
// TESTCASE NUMBER: 9
fun case_9(x: Any?) {
if (x is String) {
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val m = try {
Class::fun_1
} finally {
Class::fun_1
}
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String & kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any? & kotlin.String")!>x<!>
val z: String = x
}
}