JS: don't omit guard for catch with Throwable type (KT-13616); don't generate guard for catch with dynamic type (KT-13615)

This commit is contained in:
Anton Bannykh
2016-12-02 15:40:49 +03:00
parent 475ae0d638
commit 3e4376f4ba
3 changed files with 49 additions and 9 deletions
@@ -0,0 +1,39 @@
package foo
fun box(): String {
var s: String = ""
try {
js("throw null")
} catch (e: Throwable) {
s = "Throwable"
} catch (e: dynamic) {
s = "dynamic"
}
assertEquals("dynamic", s)
s = ""
try {
try {
js("throw null")
}
catch (e: Throwable) {
s = "Throwable"
}
} catch (e: dynamic) {
s = "dynamic"
}
assertEquals("dynamic", s)
s = ""
try {
js("throw Object.create(null)")
}
catch (e: dynamic) {
s = "dynamic"
}
assertEquals("dynamic", s)
return "OK"
}