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 6c000a168e9..c1427af16fb 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 @@ -24,7 +24,6 @@ import com.google.dart.compiler.backend.js.ast.metadata.MetadataProperties; import com.intellij.openapi.util.Factory; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.HashMap; -import com.intellij.util.containers.HashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.builtins.ReflectionTypes; diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java index abd8e996c88..06d2c09143f 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java @@ -18,8 +18,6 @@ package org.jetbrains.kotlin.js.translate.context; import com.google.dart.compiler.backend.js.ast.*; import com.intellij.psi.PsiElement; -import kotlin.Unit; -import kotlin.jvm.functions.Function1; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.builtins.ReflectionTypes; @@ -520,7 +518,6 @@ public class TranslationContext { @NotNull public List endDeclaration() { List result = null; - ClassDescriptor classDescriptor = this.classDescriptor; if (classDescriptor != null) { result = staticContext.getDeferredCallSites().remove(classDescriptor); } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt index cb36023add3..9d1f3fabbf7 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.kt @@ -243,14 +243,10 @@ class ClassTranslator private constructor( // Build map that maps constructor to all constructors called via this() val constructorMap = allConstructors.map { it.descriptor to it }.toMap() - fun mapConstructor(constructor: ConstructorDescriptor) = - if (constructor.isPrimary) constructor.containingDeclaration else constructor - - val callSiteMap = callSites - .map { mapConstructor(it.constructor) }.distinct() - .map { Pair(it, mutableListOf()) } - .toMap() - callSites.forEach { callSiteMap[mapConstructor(it.constructor)]!! += it } + val callSiteMap = callSites.groupBy { + val constructor = it.constructor + if (constructor.isPrimary) constructor.containingDeclaration else constructor + } val thisCalls = secondaryConstructors.map { val set = mutableSetOf()