JS: chained reified function calls (KT-12527) fixed
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
inline fun <reified T> Any?.check(): Boolean {
|
||||
return this is T
|
||||
}
|
||||
|
||||
inline fun <reified T> Any?.check2(): Boolean {
|
||||
return check<T>()
|
||||
}
|
||||
|
||||
|
||||
var log = ""
|
||||
fun log(a: Any?) {
|
||||
log += a.toString() + ";"
|
||||
}
|
||||
|
||||
fun test(a: Any?) {
|
||||
log(a.check<String>())
|
||||
log(a.check<String?>())
|
||||
}
|
||||
|
||||
fun test2(a: Any?) {
|
||||
log(a.check2<String>())
|
||||
log(a.check2<String?>())
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
test("")
|
||||
test(null)
|
||||
test2("")
|
||||
test2(null)
|
||||
|
||||
if (log != "true;true;false;true;true;true;false;true;") {
|
||||
return "fail"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user