From 2d9392aad4bec9872051ea8202528a922404527b Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 22 Feb 2017 20:15:34 +0300 Subject: [PATCH] JS: fixed callable reference to a class constructor within object (KT-16411). --- .../js/translate/reference/CallableReferenceTranslator.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallableReferenceTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallableReferenceTranslator.kt index c19cca5d997..dcc6adfe7e6 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallableReferenceTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/CallableReferenceTranslator.kt @@ -46,7 +46,10 @@ object CallableReferenceTranslator { val descriptor = BindingUtils.getDescriptorForReferenceExpression(context.bindingContext(), expression.callableReference) val receiver = expression.receiverExpression?.let { r -> - if (context.bindingContext().get(BindingContext.DOUBLE_COLON_LHS, r) is DoubleColonLHS.Expression) { + if (context.bindingContext().get(BindingContext.DOUBLE_COLON_LHS, r) is DoubleColonLHS.Expression && + descriptor is CallableMemberDescriptor && + descriptor.dispatchReceiverParameter ?: descriptor.extensionReceiverParameter != null + ) { val block = JsBlock() val e = Translation.translateAsExpression(r, context, block) if (!block.isEmpty) {