diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt index 77084541777..d34aabbdb46 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/callTranslator/CallInfoExtensions.kt @@ -24,6 +24,7 @@ import com.google.dart.compiler.backend.js.ast.metadata.sideEffects import org.jetbrains.kotlin.descriptors.CallableDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.VariableDescriptor +import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor import org.jetbrains.kotlin.js.translate.context.Namer import org.jetbrains.kotlin.js.translate.context.TranslationContext import org.jetbrains.kotlin.js.translate.reference.ReferenceTranslator @@ -35,7 +36,10 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver val CallInfo.callableDescriptor: CallableDescriptor - get() = resolvedCall.resultingDescriptor.original + get() { + val result = resolvedCall.resultingDescriptor.original + return if (result is TypeAliasConstructorDescriptor) result.underlyingConstructorDescriptor else result + } fun CallInfo.isExtension(): Boolean = extensionReceiver != null diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java index c7295cc7f76..3beefc0f48e 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/StaticContext.java @@ -267,20 +267,6 @@ public final class StaticContext { private final class NameGenerator extends Generator { public NameGenerator() { - Rule typeAliasConstructor = new Rule() { - @Nullable - @Override - public JsName apply(@NotNull DeclarationDescriptor descriptor) { - if (descriptor instanceof TypeAliasConstructorDescriptor) { - TypeAliasConstructorDescriptor constructorDescriptor = (TypeAliasConstructorDescriptor) descriptor; - return getNameForDescriptor(constructorDescriptor.getUnderlyingConstructorDescriptor()); - } - else { - return null; - } - } - }; - Rule namesForDynamic = new Rule() { @Override @Nullable @@ -437,7 +423,6 @@ public final class StaticContext { } }; - addRule(typeAliasConstructor); addRule(namesForDynamic); addRule(localClasses); addRule(namesForStandardClasses);