From 38a3f4af80ad4d1d11d0c1e279797bf506086d38 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Tue, 18 Oct 2016 16:47:08 +0300 Subject: [PATCH] JS: fix Kotlin.isType for case of traits --- js/js.translator/testData/kotlin_lib_ecma5.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/js.translator/testData/kotlin_lib_ecma5.js b/js/js.translator/testData/kotlin_lib_ecma5.js index f7ba2ef3318..506470a2046 100644 --- a/js/js.translator/testData/kotlin_lib_ecma5.js +++ b/js/js.translator/testData/kotlin_lib_ecma5.js @@ -422,7 +422,7 @@ return object instanceof klass; } - if (object.constructor != null) { + if (isTrait(klass) && object.constructor != null) { metadata = object.constructor.$metadata$; if (metadata != null) { return isInheritanceFromTrait(metadata, klass); @@ -432,6 +432,11 @@ return false; }; + function isTrait(klass) { + var metadata = klass.$metadata$; + return metadata != null && metadata.type === Kotlin.TYPE.TRAIT; + } + // TODO Store callable references for members in class Kotlin.getCallableRefForMemberFunction = function (klass, memberName) { return function () {