[JS IR] Optimize away upcasts

#KT-50212 Fixed
This commit is contained in:
Sergej Jaskiewicz
2021-12-20 18:33:47 +03:00
committed by Space
parent 400a5a0f34
commit 8149189585
7 changed files with 217 additions and 10 deletions
+5 -4
View File
@@ -1,6 +1,5 @@
// EXPECTED_REACHABLE_NODES: 1285
// CHECK_CALLED_IN_SCOPE: function=isType scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=isObject scope=box IGNORED_BACKENDS=JS
package foo
class A : Any()
@@ -16,9 +15,11 @@ fun box(): String {
if (arrayOf(1, 2, 3).asAny() !is Any) return "fail3"
if (createNakedObject() is Any) return "fail4"
if (testUtils.isLegacyBackend()) {
if (createNakedObject() is Any) return "fail4"
}
if (({ }).asAny() !is Any) return "fail5"
if (({ }).asAny() !is Any) return "fail5"
if ((23).asAny() !is Any) return "fail6"
@@ -31,4 +32,4 @@ fun box(): String {
return "OK"
}
fun createNakedObject(): Any? = js("Object.create(null)")
fun createNakedObject(): Any? = js("Object.create(null)")