From 104061b7f8b373e122d870ec307498cd8e53c786 Mon Sep 17 00:00:00 2001 From: pTalanov Date: Tue, 5 Jun 2012 18:35:25 +0400 Subject: [PATCH] Cosmetics after pulling https://github.com/JetBrains/kotlin/pull/67 --- .../org/jetbrains/k2js/test/BasicTest.java | 5 +- .../k2js/test/SingleFileTranslationTest.java | 2 +- .../k2js/test/semantics/ExamplesTest.java | 3 +- .../test/semantics/NativeInteropTest.java | 2 +- .../k2js/test/utils/JsTestUtils.java | 18 +---- .../k2js/translate/context/StaticContext.java | 2 +- .../declaration/DeclarationBodyVisitor.java | 13 ++-- .../declaration/NamespaceTranslator.java | 30 ++++++--- .../declaration/PropertyTranslator.java | 37 +++++++---- .../expression/FunctionTranslator.java | 2 +- .../translate/reference/CallTranslator.java | 19 ++++-- .../k2js/translate/utils/JsAstUtils.java | 4 +- .../translate/utils/JsDescriptorUtils.java | 15 +---- .../translate/utils/TranslationUtils.java | 66 ++++++++++--------- 14 files changed, 112 insertions(+), 106 deletions(-) diff --git a/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java b/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java index f31f7ccb663..5856a88a05d 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/BasicTest.java @@ -26,7 +26,6 @@ import org.jetbrains.k2js.test.rhino.RhinoResultChecker; import org.jetbrains.k2js.test.utils.TranslationUtils; import java.io.File; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -89,8 +88,8 @@ public abstract class BasicTest extends TestWithEnvironment { assert success; } - protected List additionalJSFiles(EcmaVersion ecmaVersion) { - List list = new ArrayList(2); + protected List additionalJSFiles(@NotNull EcmaVersion ecmaVersion) { + List list = Lists.newArrayList(); list.add(ecmaVersion == EcmaVersion.v5 ? KOTLIN_JS_LIB_ECMA_5 : KOTLIN_JS_LIB_ECMA_3); list.add(KOTLIN_JS_LIB); return list; diff --git a/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java b/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java index 24654b139b5..3f09631dfaf 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/SingleFileTranslationTest.java @@ -78,7 +78,7 @@ public abstract class SingleFileTranslationTest extends BasicTest { protected void checkOutput(@NotNull String kotlinFilename, @NotNull String expectedResult, - @NotNull EnumSet ecmaVersions, + @NotNull Iterable ecmaVersions, String... args) throws Exception { generateJavaScriptFiles(kotlinFilename, MainCallParameters.mainWithArguments(Lists.newArrayList(args)), ecmaVersions); runRhinoTests(kotlinFilename, ecmaVersions, new RhinoSystemOutputChecker(expectedResult)); diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/ExamplesTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/ExamplesTest.java index c6b7a88552d..74d14623f66 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/ExamplesTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/ExamplesTest.java @@ -18,7 +18,6 @@ package org.jetbrains.k2js.test.semantics; import junit.framework.Test; import org.jetbrains.annotations.NotNull; -import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.test.BasicTest; import org.jetbrains.k2js.test.SingleFileTranslationTest; import org.jetbrains.k2js.translate.context.Namer; @@ -37,7 +36,7 @@ public final class ExamplesTest extends SingleFileTranslationTest { @Override public void runTest() throws Exception { - runFunctionOutputTest(EcmaVersion.all(), filename, Namer.getRootNamespaceName(), "box", "OK"); + runFunctionOutputTest(filename, Namer.getRootNamespaceName(), "box", "OK"); } public static Test suite() throws Exception { diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/NativeInteropTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/NativeInteropTest.java index d3b5e839078..4e57b3e454f 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/NativeInteropTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/NativeInteropTest.java @@ -37,7 +37,7 @@ public final class NativeInteropTest extends SingleFileTranslationTest { } @Override - protected List additionalJSFiles(EcmaVersion ecmaVersion) { + protected List additionalJSFiles(@NotNull EcmaVersion ecmaVersion) { List result = Lists.newArrayList(super.additionalJSFiles(ecmaVersion)); result.addAll(JsTestUtils.getAllFilesInDir(pathToTestFiles() + NATIVE)); return result; diff --git a/js/js.tests/test/org/jetbrains/k2js/test/utils/JsTestUtils.java b/js/js.tests/test/org/jetbrains/k2js/test/utils/JsTestUtils.java index b0d5ec2a053..dd103c1a1b0 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/utils/JsTestUtils.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/utils/JsTestUtils.java @@ -24,7 +24,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; -import java.util.EnumSet; import java.util.List; /** @@ -36,22 +35,7 @@ public final class JsTestUtils { } @NotNull - public static EnumSet failsOn(EcmaVersion... versions) { - EnumSet result = EcmaVersion.all(); - for (EcmaVersion version : versions) { - boolean success = result.remove(version); - assert success; - } - return result; - } - - @NotNull - public static EnumSet failsOnEcmaV5() { - return failsOn(EcmaVersion.v5); - } - - @NotNull - public static String convertFileNameToDotJsFile(@NotNull String filename, EcmaVersion ecmaVersion) { + public static String convertFileNameToDotJsFile(@NotNull String filename, @NotNull EcmaVersion ecmaVersion) { String postFix = "_" + ecmaVersion.toString() + ".js"; int index = filename.lastIndexOf('.'); if (index < 0) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java index 24f94e7736b..3027ae32f33 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/StaticContext.java @@ -201,7 +201,7 @@ public final class StaticContext { return null; } boolean isGetter = descriptor instanceof PropertyGetterDescriptor; - final PropertyAccessorDescriptor accessorDescriptor = (PropertyAccessorDescriptor) descriptor; + PropertyAccessorDescriptor accessorDescriptor = (PropertyAccessorDescriptor) descriptor; String propertyName = accessorDescriptor.getCorrespondingProperty().getName().getName(); String accessorName = Namer.getNameForAccessor(propertyName, isGetter, !accessorDescriptor.getReceiverParameter().exists() && isEcma5()); NamingScope enclosingScope = getEnclosingScope(descriptor); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java index 27b177b4ae5..683b7427ce1 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java @@ -16,6 +16,7 @@ package org.jetbrains.k2js.translate.declaration; +import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsPropertyInitializer; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; @@ -32,9 +33,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import static org.jetbrains.k2js.translate.utils.BindingUtils.getDeclarationsForNamespace; -import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionDescriptor; -import static org.jetbrains.k2js.translate.utils.BindingUtils.getPropertyDescriptorForObjectDeclaration; +import static org.jetbrains.k2js.translate.utils.BindingUtils.*; /** * @author Pavel Talanov @@ -70,12 +69,14 @@ public final class DeclarationBodyVisitor extends TranslatorVisitor visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) { - JsPropertyInitializer o = Translation.functionTranslator(expression, context).translateAsMethod(); + JsPropertyInitializer methodAsPropertyInitializer = Translation.functionTranslator(expression, context).translateAsMethod(); if (context.isEcma5()) { final FunctionDescriptor descriptor = getFunctionDescriptor(context.bindingContext(), expression); - o.setValueExpr(JsAstUtils.createPropertyDataDescriptor(descriptor.getModality().isOverridable(), o.getValueExpr(), context)); + boolean overridable = descriptor.getModality().isOverridable(); + JsExpression methodBodyExpression = methodAsPropertyInitializer.getValueExpr(); + methodAsPropertyInitializer.setValueExpr(JsAstUtils.createPropertyDataDescriptor(overridable, methodBodyExpression, context)); } - return Collections.singletonList(o); + return Collections.singletonList(methodAsPropertyInitializer); } @Override diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java index 93846c51f98..3149932a5ec 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java @@ -71,22 +71,36 @@ public final class NamespaceTranslator extends AbstractTranslator { @NotNull private JsInvocation getNamespaceDeclaration() { JsInvocation namespaceDeclaration = namespaceCreateMethodInvocation(); + addNamespaceInitalizersAndProperties(namespaceDeclaration); + namespaceDeclaration.getArguments().add(getClassesAndNestedNamespaces()); + return namespaceDeclaration; + } + private void addNamespaceInitalizersAndProperties(@NotNull JsInvocation namespaceDeclaration) { JsFunction initializer = Translation.generateNamespaceInitializerMethod(descriptor, context()); List properties = new DeclarationBodyVisitor().traverseNamespace(descriptor, context()); if (context().isEcma5()) { - namespaceDeclaration.getArguments().add(initializer); - namespaceDeclaration.getArguments().add(newObjectLiteral(properties)); + addEcma5InitializersAndProperties(namespaceDeclaration, initializer, properties); } else { - List propertyList = new ArrayList(); - propertyList.add(InitializerUtils.generateInitializeMethod(initializer)); - propertyList.addAll(properties); - namespaceDeclaration.getArguments().add(newObjectLiteral(propertyList)); + addEcma3InitializersAndProperties(namespaceDeclaration, initializer, properties); } + } - namespaceDeclaration.getArguments().add(getClassesAndNestedNamespaces()); - return namespaceDeclaration; + private static void addEcma3InitializersAndProperties(@NotNull JsInvocation namespaceDeclaration, + @NotNull JsFunction initializer, + @NotNull List properties) { + List propertyList = new ArrayList(); + propertyList.add(InitializerUtils.generateInitializeMethod(initializer)); + propertyList.addAll(properties); + namespaceDeclaration.getArguments().add(newObjectLiteral(propertyList)); + } + + private static void addEcma5InitializersAndProperties(@NotNull JsInvocation namespaceDeclaration, + @NotNull JsFunction initializer, + @NotNull List properties) { + namespaceDeclaration.getArguments().add(initializer); + namespaceDeclaration.getArguments().add(newObjectLiteral(properties)); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java index 165e1f4dc41..6517f2e3df0 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java @@ -50,13 +50,7 @@ import static org.jetbrains.k2js.translate.utils.TranslationUtils.backingFieldRe public final class PropertyTranslator extends AbstractTranslator { @NotNull - private final PropertyDescriptor property; - @NotNull - private final List accessors = new ArrayList(); - @Nullable - private final JetProperty declaration; - - static public List translateAccessors(@NotNull PropertyDescriptor descriptor, + public static List translateAccessors(@NotNull PropertyDescriptor descriptor, @NotNull TranslationContext context) { if (context.isEcma5() && !JsDescriptorUtils.isAsPrivate(descriptor)) { return Collections.emptyList(); @@ -64,15 +58,30 @@ public final class PropertyTranslator extends AbstractTranslator { PropertyTranslator propertyTranslator = new PropertyTranslator(descriptor, context); List propertyInitializers = propertyTranslator.translate(); - if (context.isEcma5() && !descriptor.getReceiverParameter().exists()) { - JsObjectLiteral objectLiteral = new JsObjectLiteral(); - objectLiteral.getPropertyInitializers().addAll(propertyInitializers); - return Collections.singletonList( - new JsPropertyInitializer(context.program().getStringLiteral(descriptor.getName().getName()), objectLiteral)); + if (context.isEcma5() && !JsDescriptorUtils.isExtension(descriptor)) { + return translateAsEcma5Accessors(descriptor, propertyInitializers, context); } return propertyInitializers; } + @NotNull + private static List translateAsEcma5Accessors(@NotNull PropertyDescriptor descriptor, + @NotNull List propertyInitializers, + @NotNull TranslationContext context) { + JsObjectLiteral objectLiteral = new JsObjectLiteral(); + objectLiteral.getPropertyInitializers().addAll(propertyInitializers); + JsStringLiteral propertyNameLiteral = context.program().getStringLiteral(descriptor.getName().getName()); + return Collections.singletonList(new JsPropertyInitializer(propertyNameLiteral, objectLiteral)); + } + + + @NotNull + private final PropertyDescriptor property; + @NotNull + private final List accessors = new ArrayList(); + @Nullable + private final JetProperty declaration; + private PropertyTranslator(@NotNull PropertyDescriptor property, @NotNull TranslationContext context) { super(context); this.property = property; @@ -163,7 +172,9 @@ public final class PropertyTranslator extends AbstractTranslator { return result; } - private JsPropertyInitializer generateDefaultAccessor(PropertyAccessorDescriptor accessorDescriptor, JsFunction function) { + @NotNull + private JsPropertyInitializer generateDefaultAccessor(@NotNull PropertyAccessorDescriptor accessorDescriptor, + @NotNull JsFunction function) { if (context().isEcma5()) { return TranslationUtils.translateFunctionAsEcma5PropertyDescriptor(function, accessorDescriptor, context()); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java index 38e2bf40afc..e41d11fac5d 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java @@ -226,7 +226,7 @@ public final class FunctionTranslator extends AbstractTranslator { } private boolean isExtensionFunction() { - return JsDescriptorUtils.isExtensionFunction(descriptor) && !isLiteral(); + return JsDescriptorUtils.isExtension(descriptor) && !isLiteral(); } private boolean isLiteral() { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java index 57eda81cfb5..bae3cc9890d 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java @@ -135,17 +135,22 @@ public final class CallTranslator extends AbstractTranslator { @NotNull private JsExpression constructorCall() { JsExpression constructorReference = translateAsFunctionWithNoThisObject(descriptor); - JsExpression constructorCall; - if (context().isEcma5() && !AnnotationsUtils.isNativeObject(resolvedCall.getCandidateDescriptor())) { - constructorCall = AstUtil.newInvocation(constructorReference); - } - else { - constructorCall = new JsNew(constructorReference); - } + JsExpression constructorCall = createConstructorCallExpression(constructorReference); + assert constructorCall instanceof HasArguments : "Constructor call should be expression with arguments."; ((HasArguments) constructorCall).getArguments().addAll(arguments); return constructorCall; } + @NotNull + private JsExpression createConstructorCallExpression(@NotNull JsExpression constructorReference) { + if (context().isEcma5() && !AnnotationsUtils.isNativeObject(resolvedCall.getCandidateDescriptor())) { + return AstUtil.newInvocation(constructorReference); + } + else { + return new JsNew(constructorReference); + } + } + @NotNull private JsExpression translateAsFunctionWithNoThisObject(@NotNull DeclarationDescriptor descriptor) { return ReferenceTranslator.translateAsFQReference(descriptor, context()); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java index 607ad84e389..ad47dfe63e4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java @@ -306,7 +306,7 @@ public final class JsAstUtils { } @NotNull - public static JsInvocation encloseFunction(JsFunction function) { + public static JsInvocation encloseFunction(@NotNull JsFunction function) { JsInvocation blockFunctionInvocation = new JsInvocation(); blockFunctionInvocation.setQualifier(EMPTY_REF); blockFunctionInvocation.getArguments().add(function); @@ -314,7 +314,7 @@ public final class JsAstUtils { } @NotNull - public static JsFunction createPackage(List to, JsScope scope) { + public static JsFunction createPackage(@NotNull List to, @NotNull JsScope scope) { JsFunction packageBlockFunction = createFunctionWithEmptyBody(scope); JsInvocation packageBlockFunctionInvocation = encloseFunction(packageBlockFunction); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java index d708a6fb16e..c910cec62b5 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java @@ -135,7 +135,7 @@ public final class JsDescriptorUtils { return containing; } - public static boolean isExtensionFunction(@NotNull CallableDescriptor functionDescriptor) { + public static boolean isExtension(@NotNull CallableDescriptor functionDescriptor) { return (functionDescriptor.getReceiverParameter().exists()); } @@ -269,19 +269,6 @@ public final class JsDescriptorUtils { return result; } - @Nullable - public static ClassDescriptor getClassDescriptorForMethod(@NotNull SimpleFunctionDescriptor functionDescriptor) { - if (!functionDescriptor.getExpectedThisObject().exists()) { - return null; - } - ClassifierDescriptor descriptor = - functionDescriptor.getExpectedThisObject().getType().getConstructor().getDeclarationDescriptor(); - if (descriptor instanceof ClassDescriptor) { - return (ClassDescriptor)descriptor.getOriginal(); - } - return null; - } - private static boolean isDefaultAccessor(@Nullable PropertyAccessorDescriptor accessorDescriptor) { return accessorDescriptor == null || accessorDescriptor.isDefault(); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java index 734881362dc..ccd15a0a159 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java @@ -49,37 +49,43 @@ public final class TranslationUtils { public static JsPropertyInitializer translateFunctionAsEcma5PropertyDescriptor(@NotNull JsFunction function, @NotNull FunctionDescriptor descriptor, @NotNull TranslationContext context) { - if (descriptor.getReceiverParameter().exists()) { - JsObjectLiteral meta = new JsObjectLiteral(); - meta.getPropertyInitializers().add(new JsPropertyInitializer(context.program().getStringLiteral("value"), function)); - if (descriptor.getModality().isOverridable()) { - meta.getPropertyInitializers().add(context.namer().writablePropertyDescriptorField()); - } - return new JsPropertyInitializer(context.getNameForDescriptor(descriptor).makeRef(), meta); + if (JsDescriptorUtils.isExtension(descriptor)) { + return translateExtensionFunctionAsEcma5PropertyDescriptor(function, descriptor, context); } else { - return new JsPropertyInitializer( - context.program().getStringLiteral(descriptor instanceof PropertyGetterDescriptor ? "get" : "set"), function); + JsStringLiteral getOrSet = context.program().getStringLiteral(descriptor instanceof PropertyGetterDescriptor ? "get" : "set"); + return new JsPropertyInitializer(getOrSet, function); } } + @NotNull + private static JsPropertyInitializer translateExtensionFunctionAsEcma5PropertyDescriptor(@NotNull JsFunction function, + @NotNull FunctionDescriptor descriptor, @NotNull TranslationContext context) { + JsObjectLiteral meta = new JsObjectLiteral(); + meta.getPropertyInitializers().add(new JsPropertyInitializer(context.program().getStringLiteral("value"), function)); + if (descriptor.getModality().isOverridable()) { + meta.getPropertyInitializers().add(context.namer().writablePropertyDescriptorField()); + } + return new JsPropertyInitializer(context.getNameForDescriptor(descriptor).makeRef(), meta); + } + @NotNull public static JsBinaryOperation notNullCheck(@NotNull TranslationContext context, - @NotNull JsExpression expressionToCheck) { + @NotNull JsExpression expressionToCheck) { JsNullLiteral nullLiteral = context.program().getNullLiteral(); return inequality(expressionToCheck, nullLiteral); } @NotNull public static JsBinaryOperation isNullCheck(@NotNull TranslationContext context, - @NotNull JsExpression expressionToCheck) { + @NotNull JsExpression expressionToCheck) { JsNullLiteral nullLiteral = context.program().getNullLiteral(); return equality(expressionToCheck, nullLiteral); } @NotNull public static List translateArgumentList(@NotNull TranslationContext context, - @NotNull List jetArguments) { + @NotNull List jetArguments) { List jsArguments = new ArrayList(); for (ValueArgument argument : jetArguments) { jsArguments.add(translateArgument(context, argument)); @@ -96,22 +102,22 @@ public final class TranslationUtils { @NotNull public static JsNameRef backingFieldReference(@NotNull TranslationContext context, - @NotNull PropertyDescriptor descriptor) { + @NotNull PropertyDescriptor descriptor) { JsName backingFieldName = context.getNameForDescriptor(descriptor); return qualified(backingFieldName, new JsThisRef()); } @NotNull public static JsExpression assignmentToBackingField(@NotNull TranslationContext context, - @NotNull PropertyDescriptor descriptor, - @NotNull JsExpression assignTo) { + @NotNull PropertyDescriptor descriptor, + @NotNull JsExpression assignTo) { JsNameRef backingFieldReference = backingFieldReference(context, descriptor); return newAssignment(backingFieldReference, assignTo); } @Nullable public static JsExpression translateInitializerForProperty(@NotNull JetProperty declaration, - @NotNull TranslationContext context) { + @NotNull TranslationContext context) { JsExpression jsInitExpression = null; JetExpression initializer = declaration.getInitializer(); if (initializer != null) { @@ -122,7 +128,7 @@ public final class TranslationUtils { @NotNull public static JsNameRef getQualifiedReference(@NotNull TranslationContext context, - @NotNull DeclarationDescriptor descriptor) { + @NotNull DeclarationDescriptor descriptor) { JsName name = context.getNameForDescriptor(descriptor); JsNameRef reference = name.makeRef(); JsNameRef qualifier = context.getQualifierForDescriptor(descriptor); @@ -135,7 +141,7 @@ public final class TranslationUtils { //TODO: refactor @NotNull public static JsExpression getThisObject(@NotNull TranslationContext context, - @NotNull DeclarationDescriptor correspondingDeclaration) { + @NotNull DeclarationDescriptor correspondingDeclaration) { if (correspondingDeclaration instanceof ClassDescriptor) { JsName alias = context.aliasingContext().getAliasForThis(correspondingDeclaration); if (alias != null) { @@ -144,7 +150,7 @@ public final class TranslationUtils { } if (correspondingDeclaration instanceof CallableDescriptor) { DeclarationDescriptor receiverDescriptor = - getExpectedReceiverDescriptor((CallableDescriptor)correspondingDeclaration); + getExpectedReceiverDescriptor((CallableDescriptor) correspondingDeclaration); assert receiverDescriptor != null; JsName alias = context.aliasingContext().getAliasForThis(receiverDescriptor); if (alias != null) { @@ -156,7 +162,7 @@ public final class TranslationUtils { @NotNull public static List translateExpressionList(@NotNull TranslationContext context, - @NotNull List expressions) { + @NotNull List expressions) { List result = new ArrayList(); for (JetExpression expression : expressions) { result.add(Translation.translateAsExpression(expression, context)); @@ -166,29 +172,29 @@ public final class TranslationUtils { @NotNull public static JsExpression translateBaseExpression(@NotNull TranslationContext context, - @NotNull JetUnaryExpression expression) { + @NotNull JetUnaryExpression expression) { JetExpression baseExpression = PsiUtils.getBaseExpression(expression); return Translation.translateAsExpression(baseExpression, context); } @NotNull public static JsExpression translateLeftExpression(@NotNull TranslationContext context, - @NotNull JetBinaryExpression expression) { + @NotNull JetBinaryExpression expression) { return Translation.translateAsExpression(expression.getLeft(), context); } @NotNull public static JsExpression translateRightExpression(@NotNull TranslationContext context, - @NotNull JetBinaryExpression expression) { + @NotNull JetBinaryExpression expression) { JetExpression rightExpression = expression.getRight(); assert rightExpression != null : "Binary expression should have a right expression"; return Translation.translateAsExpression(rightExpression, context); } public static boolean isIntrinsicOperation(@NotNull TranslationContext context, - @NotNull JetOperationExpression expression) { + @NotNull JetOperationExpression expression) { FunctionDescriptor operationDescriptor = - BindingUtils.getFunctionDescriptorForOperationExpression(context.bindingContext(), expression); + BindingUtils.getFunctionDescriptorForOperationExpression(context.bindingContext(), expression); if (operationDescriptor == null) return true; if (context.intrinsics().isIntrinsic(operationDescriptor)) return true; @@ -198,9 +204,9 @@ public final class TranslationUtils { @NotNull public static JsNameRef getMethodReferenceForOverloadedOperation(@NotNull TranslationContext context, - @NotNull JetOperationExpression expression) { + @NotNull JetOperationExpression expression) { FunctionDescriptor overloadedOperationDescriptor = getFunctionDescriptorForOperationExpression - (context.bindingContext(), expression); + (context.bindingContext(), expression); assert overloadedOperationDescriptor != null; JsNameRef overloadedOperationReference = context.getNameForDescriptor(overloadedOperationDescriptor).makeRef(); assert overloadedOperationReference != null; @@ -214,8 +220,8 @@ public final class TranslationUtils { @NotNull public static JsExpression applyIntrinsicToBinaryExpression(@NotNull TranslationContext context, - @NotNull Intrinsic intrinsic, - @NotNull JetBinaryExpression binaryExpression) { + @NotNull Intrinsic intrinsic, + @NotNull JetBinaryExpression binaryExpression) { JsExpression left = translateLeftExpression(context, binaryExpression); JsExpression right = translateRightExpression(context, binaryExpression); return intrinsic.apply(left, Arrays.asList(right), context); @@ -223,7 +229,7 @@ public final class TranslationUtils { @Nullable public static JsExpression resolveThisObjectForResolvedCall(@NotNull ResolvedCall call, - @NotNull TranslationContext context) { + @NotNull TranslationContext context) { ReceiverDescriptor thisObject = call.getThisObject(); if (!thisObject.exists()) { return null;