[JS IR] Implement new function references scheme

This commit is contained in:
Roman Artemev
2020-02-21 17:05:16 +03:00
committed by romanart
parent 2f087fe7a2
commit 26237f8bd5
12 changed files with 1097 additions and 532 deletions
@@ -75,11 +75,11 @@ public fun isInterface(ctor: dynamic, IType: dynamic): Boolean {
*/
internal fun isSuspendFunction(obj: dynamic, arity: Int): Boolean {
val ctor = obj.constructor?.unsafeCast<Ctor>() ?: return false
if (jsTypeOf(obj) == "function") {
return obj.`$arity`.unsafeCast<Int>() === arity
}
val metadata = ctor.`$metadata$`?.unsafeCast<Metadata>() ?: return false
return metadata.suspendArity === arity
return false
}
fun isObject(obj: dynamic): Boolean {