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 5d7f7bad47a..127087e9262 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 @@ -17,8 +17,6 @@ package org.jetbrains.kotlin.js.translate.declaration import com.google.dart.compiler.backend.js.ast.* -import com.google.dart.compiler.backend.js.ast.metadata.SideEffectKind -import com.google.dart.compiler.backend.js.ast.metadata.sideEffects import com.intellij.util.SmartList import org.jetbrains.kotlin.backend.common.CodegenUtil import org.jetbrains.kotlin.backend.common.bridges.Bridge @@ -27,18 +25,19 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.js.descriptorUtils.hasPrimaryConstructor import org.jetbrains.kotlin.js.translate.callTranslator.CallTranslator -import org.jetbrains.kotlin.js.translate.context.DefinitionPlace -import org.jetbrains.kotlin.js.translate.context.Namer -import org.jetbrains.kotlin.js.translate.context.TranslationContext import org.jetbrains.kotlin.js.translate.context.* import org.jetbrains.kotlin.js.translate.expression.FunctionTranslator import org.jetbrains.kotlin.js.translate.general.AbstractTranslator import org.jetbrains.kotlin.js.translate.initializer.ClassInitializerTranslator -import org.jetbrains.kotlin.js.translate.utils.* -import org.jetbrains.kotlin.js.translate.utils.BindingUtils.* +import org.jetbrains.kotlin.js.translate.utils.BindingUtils +import org.jetbrains.kotlin.js.translate.utils.BindingUtils.getClassDescriptor +import org.jetbrains.kotlin.js.translate.utils.BindingUtils.getPropertyDescriptorForConstructorParameter +import org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator +import org.jetbrains.kotlin.js.translate.utils.JsAstUtils import org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils.getSupertypesWithoutFakes import org.jetbrains.kotlin.js.translate.utils.PsiUtils.getPrimaryConstructorParameters import org.jetbrains.kotlin.js.translate.utils.TranslationUtils.simpleReturnFunction +import org.jetbrains.kotlin.js.translate.utils.generateDelegateCall import org.jetbrains.kotlin.js.translate.utils.jsAstUtils.toInvocationWith import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtSecondaryConstructor @@ -288,7 +287,7 @@ class ClassTranslator private constructor( capturedVars.forEach { nonConstructorUsageTracker.used(it) } val closureArgs = capturedVars.map { val name = nonConstructorUsageTracker.getNameForCapturedDescriptor(it)!! - JsAstUtils.fqnWithoutSideEffects(name, closureQualifier) + JsAstUtils.pureFqn(name, closureQualifier) } callSite.invocationArgs.addAll(0, closureArgs.toList()) } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/JsDataClassGenerator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/JsDataClassGenerator.java index b9acc88e5bf..2896a850733 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/JsDataClassGenerator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/JsDataClassGenerator.java @@ -51,7 +51,7 @@ class JsDataClassGenerator extends DataClassMethodGenerator { assert propertyDescriptor != null : "Property descriptor is expected to be non-null"; JsFunction functionObject = generateJsMethod(function); - JsExpression returnExpression = JsAstUtils.fqnWithoutSideEffects(context.getNameForDescriptor(propertyDescriptor), JsLiteral.THIS); + JsExpression returnExpression = JsAstUtils.pureFqn(context.getNameForDescriptor(propertyDescriptor), JsLiteral.THIS); functionObject.getBody().getStatements().add(new JsReturn(returnExpression)); }