diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java index 38f0baad515..2b659e03a37 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java @@ -112,11 +112,17 @@ public final class ReferenceTranslator { } if (DescriptorUtils.isObject(descriptor) || DescriptorUtils.isEnumEntry(descriptor)) { + ClassDescriptor classDescriptor = (ClassDescriptor) descriptor; if (!isLocallyAvailableDeclaration(context, descriptor)) { - return getLazyReferenceToObject((ClassDescriptor) descriptor, context); + if (KotlinBuiltIns.isUnit(classDescriptor.getDefaultType())) { + return context.getInnerReference(descriptor); + } + else { + return getLazyReferenceToObject(classDescriptor, context); + } } else { - JsExpression functionRef = JsAstUtils.pureFqn(context.getNameForObjectInstance((ClassDescriptor) descriptor), null); + JsExpression functionRef = JsAstUtils.pureFqn(context.getNameForObjectInstance(classDescriptor), null); return new JsInvocation(functionRef); } }