From 827a97f661a8191c62a37a2361a6b79fc5aa7d72 Mon Sep 17 00:00:00 2001 From: pTalanov Date: Wed, 29 Feb 2012 23:17:26 +0400 Subject: [PATCH] Numerous code style fixes. --- .../k2js/analyze/AnalyzerFacade.java | 2 +- .../jetbrains/k2js/facade/K2JSTranslator.java | 4 +-- .../k2js/generate/CodeGenerator.java | 7 +++-- .../translate/context/DynamicContext.java | 11 +++----- .../k2js/translate/context/Namer.java | 3 ++- .../k2js/translate/context/NamingScope.java | 1 + .../k2js/translate/context/StaticContext.java | 5 ---- .../translate/context/TranslationContext.java | 16 ------------ .../ClassDeclarationTranslator.java | 4 +-- .../declaration/ClassTranslator.java | 2 +- .../ClassInitializerTranslator.java | 4 +-- .../initializer/InitializerVisitor.java | 26 +++++-------------- .../k2js/translate/intrinsic/Intrinsics.java | 1 + .../array/BuiltInPropertyIntrinsic.java | 1 + .../array/CallStandardMethodIntrinsic.java | 1 - .../primitive/PrimitiveRangeToIntrinsic.java | 1 + .../operation/AssignmentTranslator.java | 4 +-- .../operation/IncrementTranslator.java | 9 ++++--- .../IntrinsicAssignmentTranslator.java | 6 ++--- .../IntrinsicIncrementTranslator.java | 9 ++++--- .../translate/operation/OperatorTable.java | 3 +++ .../OverloadedAssignmentTranslator.java | 6 ++--- .../OverloadedIncrementTranslator.java | 4 +-- .../operation/UnaryOperationTranslator.java | 3 +++ .../reference/CallExpressionTranslator.java | 2 +- .../translate/reference/CallTranslator.java | 4 +-- .../KotlinPropertyAccessTranslator.java | 2 +- .../reference/PropertyAccessTranslator.java | 20 +++++++------- .../translate/utils/AnnotationsUtils.java | 8 +++--- .../k2js/translate/utils/ClassSorter.java | 2 +- .../k2js/translate/utils/DescriptorUtils.java | 9 ++++--- .../k2js/translate/utils/JsAstUtils.java | 2 +- .../translate/utils/PredefinedAnnotation.java | 2 +- .../k2js/translate/utils/PsiUtils.java | 2 +- .../translate/utils/TranslationUtils.java | 8 ++++++ .../jetbrains/k2js/utils/GenerationUtils.java | 3 +++ .../jetbrains/k2js/utils/JetFileUtils.java | 9 ++++--- .../jetbrains/k2js/utils/JetTestUtils.java | 16 ++++-------- 38 files changed, 105 insertions(+), 117 deletions(-) diff --git a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacade.java b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacade.java index cfb625378d8..00db388b4f8 100644 --- a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacade.java +++ b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacade.java @@ -107,7 +107,7 @@ public final class AnalyzerFacade { private static final class JsConfiguration implements Configuration { @NotNull - private Project project; + private final Project project; public static JsConfiguration jsLibConfiguration(@NotNull Project project) { return new JsConfiguration(project); diff --git a/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java b/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java index 7840ead283d..758093dfb32 100644 --- a/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java @@ -74,7 +74,7 @@ public final class K2JSTranslator { } @NotNull - private Config config; + private final Config config; public K2JSTranslator(@NotNull Config config) { @@ -126,7 +126,7 @@ public final class K2JSTranslator { @NotNull - public String generateCallToMain(@NotNull JetFile file, @NotNull String argumentString) { + public static String generateCallToMain(@NotNull JetFile file, @NotNull String argumentString) { String namespaceName = getNamespaceName(file); List arguments = parseString(argumentString); return GenerationUtils.generateCallToMain(namespaceName, arguments); diff --git a/js/js.translator/src/org/jetbrains/k2js/generate/CodeGenerator.java b/js/js.translator/src/org/jetbrains/k2js/generate/CodeGenerator.java index ecb5d30b2c0..56a8cf68a87 100644 --- a/js/js.translator/src/org/jetbrains/k2js/generate/CodeGenerator.java +++ b/js/js.translator/src/org/jetbrains/k2js/generate/CodeGenerator.java @@ -40,8 +40,11 @@ public final class CodeGenerator { public void generateToFile(@NotNull JsProgram program, @NotNull File file) throws IOException { generateCode(program); FileWriter writer = new FileWriter(file); - writer.write(output.toString()); - writer.close(); + try { + writer.write(output.toString()); + } finally { + writer.close(); + } } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/DynamicContext.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/DynamicContext.java index 158a317ebab..41525e416a9 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/DynamicContext.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/DynamicContext.java @@ -36,13 +36,13 @@ public class DynamicContext { //TODO: current/block scope logic unclear. is it necessary? @NotNull - private NamingScope currentScope; + private final NamingScope currentScope; @NotNull - private NamingScope blockScope; + private final NamingScope blockScope; @NotNull - private JsBlock currentBlock; + private final JsBlock currentBlock; private DynamicContext(@NotNull NamingScope scope, @NotNull NamingScope blockScope, @NotNull JsBlock block) { this.currentScope = scope; @@ -55,11 +55,6 @@ public class DynamicContext { return new DynamicContext(currentScope.innerScope(scope), blockScope, currentBlock); } - @NotNull - public NamingScope getScope() { - return blockScope; - } - @NotNull public DynamicContext innerBlock(@NotNull JsBlock block) { return new DynamicContext(currentScope, currentScope, block); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/Namer.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/Namer.java index fdc4f340113..487703936b9 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/Namer.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/Namer.java @@ -43,6 +43,7 @@ public final class Namer { private static final String KOTLIN_OBJECT_NAME = "Kotlin"; private static final String ANONYMOUS_NAMESPACE = "Anonymous"; private static final String RECEIVER_PARAMETER_NAME = "receiver"; + private static final String CLASSES_OBJECT_NAME = "classes"; @NotNull public static String getReceiverParameterName() { @@ -66,7 +67,7 @@ public final class Namer { @NotNull public static String nameForClassesVariable() { - return "classes"; + return CLASSES_OBJECT_NAME; } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/NamingScope.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/NamingScope.java index 122bad33a81..b1871fa9df7 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/NamingScope.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/NamingScope.java @@ -46,6 +46,7 @@ public final class NamingScope { return innerScope(innerJsScope); } + @SuppressWarnings("MethodMayBeStatic") @NotNull public NamingScope innerScope(@NotNull JsScope correspondingScope) { return new NamingScope(correspondingScope); 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 1d26fa1931c..b0b745f85b4 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 @@ -134,11 +134,6 @@ public final class StaticContext { return rootScope; } - @NotNull - public StandardClasses getStandardClasses() { - return standardClasses; - } - @NotNull public NamingScope getScopeForDescriptor(@NotNull DeclarationDescriptor descriptor) { NamingScope namingScope = scopes.get(descriptor); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java b/js/js.translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java index 17836e8c99d..a9efdcc8301 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java @@ -88,12 +88,6 @@ public final class TranslationContext { return staticContext.getScopeForDescriptor(descriptor); } - @NotNull - public NamingScope getScopeForElement(@NotNull PsiElement element) { - DeclarationDescriptor descriptorForElement = getDescriptorForElement(bindingContext(), element); - return getScopeForDescriptor(descriptorForElement); - } - @NotNull public JsName getNameForElement(@NotNull PsiElement element) { DeclarationDescriptor descriptor = getDescriptorForElement(bindingContext(), element); @@ -135,16 +129,6 @@ public final class TranslationContext { return staticContext.getProgram(); } - @NotNull - private StandardClasses standardClasses() { - return staticContext.getStandardClasses(); - } - - @NotNull - public NamingScope getScope() { - return dynamicContext.getScope(); - } - @NotNull public JsScope jsScope() { return dynamicContext.jsScope(); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java index a253fe3c174..2ae7d6359b6 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java @@ -161,7 +161,7 @@ public final class ClassDeclarationTranslator extends AbstractTranslator { @NotNull private JsPropertyInitializer getClassNameToClassObject(@NotNull ClassDescriptor classDescriptor) { JsName className = context().getNameForDescriptor(classDescriptor); - JsNameRef alreadyDefinedClassReferernce = qualified(className, getDeclarationsObjectName().makeRef()); - return new JsPropertyInitializer(className.makeRef(), alreadyDefinedClassReferernce); + JsNameRef alreadyDefinedClassReference = qualified(className, getDeclarationsObjectName().makeRef()); + return new JsPropertyInitializer(className.makeRef(), alreadyDefinedClassReference); } } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java index 75c2071bbe6..5dfc6d2292d 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java @@ -152,7 +152,7 @@ public final class ClassTranslator extends AbstractTranslator { } @Nullable - private ClassDescriptor findAndRemoveAncestorClass(@NotNull List superclassDescriptors) { + private static ClassDescriptor findAndRemoveAncestorClass(@NotNull List superclassDescriptors) { ClassDescriptor ancestorClass = findAncestorClass(superclassDescriptors); superclassDescriptors.remove(ancestorClass); return ancestorClass; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java index 13b6c089d34..93f1f4ef68f 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java @@ -61,7 +61,7 @@ public final class ClassInitializerTranslator extends AbstractInitializerTransla //TODO: it's inconsistent that we scope for class and function for constructor, currently have problems implementing better way ConstructorDescriptor primaryConstructor = getConstructor(); JsFunction result = context().getFunctionObject(primaryConstructor); - //NOTE: while we translate constructor parameters we also add property initializer statements + //NOTE: while we doTranslate constructor parameters we also add property initializer statements // for properties declared as constructor parameters setParameters(result, translatePrimaryConstructorParameters()); mayBeAddCallToSuperMethod(); @@ -91,7 +91,7 @@ public final class ClassInitializerTranslator extends AbstractInitializerTransla } private void addCallToSuperMethod(@NotNull JetDelegatorToSuperCall superCall) { - //TODO: look into + //TODO: can be problematic to maintain JsName superMethodName = initializerMethodScope.jsScope().declareName(Namer.superMethodName()); superMethodName.setObfuscatable(false); List arguments = translateArguments(superCall); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java b/js/js.translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java index 20b5cc5f835..8a4de5721b4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java @@ -18,7 +18,6 @@ package org.jetbrains.k2js.translate.initializer; import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsInvocation; -import com.google.dart.compiler.backend.js.ast.JsName; import com.google.dart.compiler.backend.js.ast.JsStatement; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; @@ -28,8 +27,6 @@ import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.declaration.ClassTranslator; import org.jetbrains.k2js.translate.general.Translation; import org.jetbrains.k2js.translate.general.TranslatorVisitor; -import org.jetbrains.k2js.translate.utils.BindingUtils; -import org.jetbrains.k2js.translate.utils.TranslationUtils; import java.util.ArrayList; import java.util.Arrays; @@ -37,9 +34,11 @@ import java.util.Collections; import java.util.List; import static java.util.Collections.singletonList; +import static org.jetbrains.k2js.translate.general.Translation.translateAsStatement; import static org.jetbrains.k2js.translate.utils.BindingUtils.getDeclarationsForNamespace; import static org.jetbrains.k2js.translate.utils.BindingUtils.getPropertyDescriptorForObjectDeclaration; import static org.jetbrains.k2js.translate.utils.PsiUtils.getObjectDeclarationForName; +import static org.jetbrains.k2js.translate.utils.TranslationUtils.assignmentToBackingField; /** * @author Pavel Talanov @@ -60,26 +59,17 @@ public final class InitializerVisitor extends TranslatorVisitor visitAnonymousInitializer(@NotNull JetClassInitializer initializer, @NotNull TranslationContext context) { - return Arrays.asList(Translation.translateAsStatement(initializer.getBody(), context)); + return Arrays.asList(translateAsStatement(initializer.getBody(), context)); } @Override @@ -95,11 +85,9 @@ public final class InitializerVisitor extends TranslatorVisitor { @Override diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/BuiltInPropertyIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/BuiltInPropertyIntrinsic.java index e0e601c4000..e1a8bd625b5 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/BuiltInPropertyIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/BuiltInPropertyIntrinsic.java @@ -15,6 +15,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier; /** * @author Pavel Talanov */ +//TODO: find should be usages public final class BuiltInPropertyIntrinsic implements Intrinsic { @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/CallStandardMethodIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/CallStandardMethodIntrinsic.java index d073fadf5a4..78c73b58f0a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/CallStandardMethodIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/CallStandardMethodIntrinsic.java @@ -53,7 +53,6 @@ public final class CallStandardMethodIntrinsic implements Intrinsic { @NotNull TranslationContext context) { assert (receiver != null == receiverShouldBeNotNull); assert arguments.size() == expectedParamsNumber; - List args = composeArguments(receiver, arguments); JsNameRef iteratorFunName = AstUtil.newQualifiedNameRef(methodName); return newInvocation(iteratorFunName, composeArguments(receiver, arguments)); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java index 32b5b23f564..40250fe6a79 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java @@ -48,6 +48,7 @@ public final class PrimitiveRangeToIntrinsic implements Intrinsic { public JsExpression apply(@Nullable JsExpression rangeStart, @NotNull List arguments, @NotNull TranslationContext context) { assert arguments.size() == 1 : "RangeTo must have one argument."; + assert rangeStart != null; JsExpression rangeEnd = arguments.get(0); JsBinaryOperation rangeSize = sum(subtract(rangeEnd, rangeStart), context.program().getNumberLiteral(1)); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/AssignmentTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/AssignmentTranslator.java index 59a0b1fbe69..656aa189529 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/AssignmentTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/AssignmentTranslator.java @@ -46,9 +46,9 @@ public abstract class AssignmentTranslator extends AbstractTranslator { public static JsExpression translate(@NotNull JetBinaryExpression expression, @NotNull TranslationContext context) { if (isIntrinsicOperation(context, expression)) { - return IntrinsicAssignmentTranslator.translate(expression, context); + return IntrinsicAssignmentTranslator.doTranslate(expression, context); } - return OverloadedAssignmentTranslator.translate(expression, context); + return OverloadedAssignmentTranslator.doTranslate(expression, context); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IncrementTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IncrementTranslator.java index 0852a3e1179..44e5b542193 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IncrementTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IncrementTranslator.java @@ -46,9 +46,9 @@ public abstract class IncrementTranslator extends AbstractTranslator { public static JsExpression translate(@NotNull JetUnaryExpression expression, @NotNull TranslationContext context) { if (isIntrinsicOperation(context, expression)) { - return IntrinsicIncrementTranslator.translate(expression, context); + return IntrinsicIncrementTranslator.doTranslate(expression, context); } - return OverloadedIncrementTranslator.translate(expression, context); + return OverloadedIncrementTranslator.doTranslate(expression, context); } @NotNull @@ -73,7 +73,8 @@ public abstract class IncrementTranslator extends AbstractTranslator { } if (isVariableReassignment) { return asPostfixWithReassignment(); - } else { + } + else { return asPostfixWithNoReassignment(); } } @@ -100,7 +101,7 @@ public abstract class IncrementTranslator extends AbstractTranslator { TemporaryVariable t2 = context().declareTemporary(t1.reference()); JsExpression variableReassignment = variableReassignment(t1.reference()); return AstUtil.newSequence(t1.assignmentExpression(), t2.assignmentExpression(), - variableReassignment, t2.reference()); + variableReassignment, t2.reference()); } //TODO: TEST diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicAssignmentTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicAssignmentTranslator.java index e845b34a175..8522f4c7131 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicAssignmentTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicAssignmentTranslator.java @@ -36,8 +36,8 @@ public final class IntrinsicAssignmentTranslator extends AssignmentTranslator { @NotNull - public static JsExpression translate(@NotNull JetBinaryExpression expression, - @NotNull TranslationContext context) { + public static JsExpression doTranslate(@NotNull JetBinaryExpression expression, + @NotNull TranslationContext context) { return (new IntrinsicAssignmentTranslator(expression, context)).translate(); } @@ -47,7 +47,7 @@ public final class IntrinsicAssignmentTranslator extends AssignmentTranslator { } @NotNull - protected JsExpression translate() { + private JsExpression translate() { if (isAssignment(getOperationToken(expression))) { return translateAsPlainAssignment(); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicIncrementTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicIncrementTranslator.java index 4fe2c79bab6..95a65411cba 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicIncrementTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/IntrinsicIncrementTranslator.java @@ -35,8 +35,8 @@ public final class IntrinsicIncrementTranslator extends IncrementTranslator { @NotNull - public static JsExpression translate(@NotNull JetUnaryExpression expression, - @NotNull TranslationContext context) { + public static JsExpression doTranslate(@NotNull JetUnaryExpression expression, + @NotNull TranslationContext context) { return (new IntrinsicIncrementTranslator(expression, context)) .translate(); } @@ -47,7 +47,7 @@ public final class IntrinsicIncrementTranslator extends IncrementTranslator { } @NotNull - protected JsExpression translate() { + private JsExpression translate() { if (isPrimitiveExpressionIncrement()) { return jsUnaryExpression(); } @@ -64,7 +64,8 @@ public final class IntrinsicIncrementTranslator extends IncrementTranslator { JsExpression getExpression = accessTranslator.translateAsGet(); if (isPrefix(expression)) { return new JsPrefixOperation(operator, getExpression); - } else { + } + else { return new JsPostfixOperation(operator, getExpression); } } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java index 25405b9042b..ce1ab1d653e 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java @@ -35,6 +35,9 @@ public final class OperatorTable { private static final Map binaryOperatorsMap = new HashMap(); private static final Map unaryOperatorsMap = new HashMap(); + private OperatorTable() { + } + static { unaryOperatorsMap.put(JetTokens.PLUSPLUS, JsUnaryOperator.INC); //++ unaryOperatorsMap.put(JetTokens.MINUSMINUS, JsUnaryOperator.DEC); //-- diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedAssignmentTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedAssignmentTranslator.java index 5c1df95e6b1..087d780f3f8 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedAssignmentTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedAssignmentTranslator.java @@ -32,8 +32,8 @@ import static org.jetbrains.k2js.translate.utils.TranslationUtils.getMethodRefer public final class OverloadedAssignmentTranslator extends AssignmentTranslator { @NotNull - public static JsExpression translate(@NotNull JetBinaryExpression expression, - @NotNull TranslationContext context) { + public static JsExpression doTranslate(@NotNull JetBinaryExpression expression, + @NotNull TranslationContext context) { return (new OverloadedAssignmentTranslator(expression, context)).translate(); } @@ -47,7 +47,7 @@ public final class OverloadedAssignmentTranslator extends AssignmentTranslator { } @NotNull - protected JsExpression translate() { + private JsExpression translate() { if (isVariableReassignment) { return reassignment(); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedIncrementTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedIncrementTranslator.java index 466f7b21674..e7ea044d161 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedIncrementTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OverloadedIncrementTranslator.java @@ -32,8 +32,8 @@ import static org.jetbrains.k2js.translate.utils.TranslationUtils.getMethodRefer public final class OverloadedIncrementTranslator extends IncrementTranslator { @NotNull - public static JsExpression translate(@NotNull JetUnaryExpression expression, - @NotNull TranslationContext context) { + public static JsExpression doTranslate(@NotNull JetUnaryExpression expression, + @NotNull TranslationContext context) { return (new OverloadedIncrementTranslator(expression, context)) .translate(); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java index f6e9f1fc060..eaace9a6de3 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java @@ -34,6 +34,9 @@ import static org.jetbrains.k2js.translate.utils.BindingUtils.getResolvedCall; public final class UnaryOperationTranslator { + private UnaryOperationTranslator() { + } + @NotNull public static JsExpression translate(@NotNull JetUnaryExpression expression, @NotNull TranslationContext context) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallExpressionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallExpressionTranslator.java index 713a9fd9e73..2d2af1a7e70 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallExpressionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallExpressionTranslator.java @@ -125,7 +125,7 @@ public final class CallExpressionTranslator extends AbstractTranslator { } @NotNull - private List wrapInArrayLiteral(@NotNull List translatedArgs) { + private static List wrapInArrayLiteral(@NotNull List translatedArgs) { JsArrayLiteral argsWrappedInArray = new JsArrayLiteral(); argsWrappedInArray.getExpressions().addAll(translatedArgs); return Arrays.asList(argsWrappedInArray); 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 34c052cbe8e..6ccfa6b0890 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 @@ -54,9 +54,9 @@ public final class CallTranslator extends AbstractTranslator { } @Nullable - public /*var*/ JsExpression receiver; + public final JsExpression receiver; @NotNull - public /*var*/ JsExpression functionReference; + public final JsExpression functionReference; } //NOTE: receiver may mean this object as well diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/KotlinPropertyAccessTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/KotlinPropertyAccessTranslator.java index fb35e37f667..4041b483cfa 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/KotlinPropertyAccessTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/KotlinPropertyAccessTranslator.java @@ -37,7 +37,7 @@ public final class KotlinPropertyAccessTranslator extends PropertyAccessTranslat @NotNull private final PropertyDescriptor propertyDescriptor; @NotNull - ResolvedCall resolvedCall; + private final ResolvedCall resolvedCall; //TODO: too many params in constructor /*package*/ KotlinPropertyAccessTranslator(@NotNull PropertyDescriptor descriptor, diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java index 4de16989916..9d6245fb13a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java @@ -39,12 +39,13 @@ import static org.jetbrains.k2js.translate.utils.PsiUtils.isBackingFieldReferenc public abstract class PropertyAccessTranslator extends AccessTranslator { @NotNull - public static PropertyAccessTranslator newInstance(@NotNull PropertyDescriptor descriptor, - @NotNull ResolvedCall resolvedCall, - @NotNull TranslationContext context) { + private static PropertyAccessTranslator newInstance(@NotNull PropertyDescriptor descriptor, + @NotNull ResolvedCall resolvedCall, + @NotNull TranslationContext context) { if (isNativeObject(descriptor)) { return new NativePropertyAccessTranslator(descriptor, /*qualifier = */ null, context); - } else { + } + else { return new KotlinPropertyAccessTranslator(descriptor, /*qualifier = */ null, resolvedCall, context); } } @@ -58,7 +59,8 @@ public abstract class PropertyAccessTranslator extends AccessTranslator { PropertyDescriptor propertyDescriptor = getPropertyDescriptor(expression, context); if (isNativeObject(propertyDescriptor) || isBackingFieldReference(expression)) { result = new NativePropertyAccessTranslator(propertyDescriptor, qualifier, context); - } else { + } + else { ResolvedCall resolvedCall = getResolvedCall(context.bindingContext(), expression); result = new KotlinPropertyAccessTranslator(propertyDescriptor, qualifier, resolvedCall, context); } @@ -67,8 +69,8 @@ public abstract class PropertyAccessTranslator extends AccessTranslator { } @NotNull - /*package*/ static PropertyDescriptor getPropertyDescriptor(@NotNull JetSimpleNameExpression expression, - @NotNull TranslationContext context) { + private static PropertyDescriptor getPropertyDescriptor(@NotNull JetSimpleNameExpression expression, + @NotNull TranslationContext context) { DeclarationDescriptor descriptor = getDescriptorForReferenceExpression(context.bindingContext(), expression); assert descriptor instanceof PropertyDescriptor : "Must be a property descriptor."; @@ -95,8 +97,8 @@ public abstract class PropertyAccessTranslator extends AccessTranslator { } - public static boolean canBePropertyGetterCall(@NotNull JetQualifiedExpression expression, - @NotNull TranslationContext context) { + private static boolean canBePropertyGetterCall(@NotNull JetQualifiedExpression expression, + @NotNull TranslationContext context) { JetSimpleNameExpression selector = getSelectorAsSimpleName(expression); assert selector != null : "Only names are allowed after the dot"; return canBePropertyGetterCall(selector, context); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/AnnotationsUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/AnnotationsUtils.java index 76ac624b8c5..8725c5c1ec5 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/AnnotationsUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/AnnotationsUtils.java @@ -40,8 +40,8 @@ public final class AnnotationsUtils { } @Nullable - public static String getAnnotationStringParameter(@NotNull DeclarationDescriptor declarationDescriptor, - @NotNull PredefinedAnnotation annotation) { + private static String getAnnotationStringParameter(@NotNull DeclarationDescriptor declarationDescriptor, + @NotNull PredefinedAnnotation annotation) { AnnotationDescriptor annotationDescriptor = getAnnotationByName(declarationDescriptor, annotation); assert annotationDescriptor != null; //TODO: this is a quick fix for unsupported default args problem @@ -68,8 +68,8 @@ public final class AnnotationsUtils { } @Nullable - public static AnnotationDescriptor getAnnotationByName(@NotNull DeclarationDescriptor descriptor, - @NotNull PredefinedAnnotation annotation) { + private static AnnotationDescriptor getAnnotationByName(@NotNull DeclarationDescriptor descriptor, + @NotNull PredefinedAnnotation annotation) { for (AnnotationDescriptor annotationDescriptor : descriptor.getAnnotations()) { String annotationClassFQName = getAnnotationClassFQName(annotationDescriptor); if (annotationClassFQName.equals(annotation.getFQName())) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java index 2ad048cd13c..ff19218d1dc 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/ClassSorter.java @@ -98,7 +98,7 @@ public final class ClassSorter { } } - private boolean isDerivedClass(@NotNull ClassDescriptor ancestor, @NotNull ClassDescriptor derived) { + private static boolean isDerivedClass(@NotNull ClassDescriptor ancestor, @NotNull ClassDescriptor derived) { return (getSuperclassDescriptors(derived).contains(ancestor)); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java index 19fc3588871..c0110039fc4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java @@ -67,16 +67,17 @@ public final class DescriptorUtils { Set functionDescriptors = scope.getFunctions(name); assert functionDescriptors.size() == 1 : "In scope " + scope + " supposed to be exactly one " + name + " function.\n" + - "Found: " + functionDescriptors.size(); + "Found: " + functionDescriptors.size(); //noinspection LoopStatementThatDoesntLoop for (FunctionDescriptor descriptor : functionDescriptors) { return descriptor; } throw new AssertionError("In scope " + scope - + " supposed to be exactly one " + name + " function."); + + " supposed to be exactly one " + name + " function."); } - //TODO: some stange stuff happening to this method + //TODO: some strange stuff happening to this method + //TODO: inspect @NotNull public static PropertyDescriptor getPropertyByName(@NotNull JetScope scope, @NotNull String name) { @@ -156,7 +157,7 @@ public final class DescriptorUtils { @NotNull public static String getNameForNamespace(@NotNull NamespaceDescriptor descriptor) { String name = descriptor.getName(); - if (name.equals("")) { + if (name.isEmpty()) { return Namer.getAnonymousNamespaceName(); } return name; 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 b6324ae7cb2..58f8ad15e73 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 @@ -211,7 +211,7 @@ public final class JsAstUtils { setStatements(block, statementLinkedList); } - public static void setStatements(@NotNull JsBlock block, @NotNull List statements) { + private static void setStatements(@NotNull JsBlock block, @NotNull List statements) { List statementList = block.getStatements(); statementList.clear(); statementList.addAll(statements); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/PredefinedAnnotation.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/PredefinedAnnotation.java index 2d7c0d90a26..667dac58c97 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/PredefinedAnnotation.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/PredefinedAnnotation.java @@ -32,7 +32,7 @@ public enum PredefinedAnnotation { } @NotNull - private String fqName; + private final String fqName; @NotNull public String getFQName() { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java index d5af36f24f7..5fee16ff483 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java @@ -148,7 +148,7 @@ public final class PsiUtils { JetNamespaceHeader namespaceHeader = psiFile.getNamespaceHeader(); String name = namespaceHeader.getName(); assert name != null : "NamespaceHeader must have a name"; - if (name.equals("")) { + if (name.isEmpty()) { return Namer.getAnonymousNamespaceName(); } return name; 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 676bf5e5a53..0dd28fdf7a1 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 @@ -221,4 +221,12 @@ public final class TranslationUtils { JsExpression right = translateRightExpression(context, binaryExpression); return intrinsic.apply(left, Arrays.asList(right), context); } + + @NotNull + public static JsStatement assignmentToBackingField(@NotNull TranslationContext context, @NotNull JetProperty property, + @NotNull JsExpression initExpression) { + + PropertyDescriptor propertyDescriptor = getPropertyDescriptor(context.bindingContext(), property); + return assignmentToBackingField(context, propertyDescriptor, initExpression); + } } diff --git a/js/js.translator/src/org/jetbrains/k2js/utils/GenerationUtils.java b/js/js.translator/src/org/jetbrains/k2js/utils/GenerationUtils.java index ae96b635c59..de15633db21 100644 --- a/js/js.translator/src/org/jetbrains/k2js/utils/GenerationUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/utils/GenerationUtils.java @@ -27,6 +27,9 @@ import java.util.List; */ public final class GenerationUtils { + private GenerationUtils() { + } + @NotNull public static String generateCallToMain(@NotNull String namespaceName, @NotNull List arguments) { String constructArguments = "var args = [];\n"; diff --git a/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java b/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java index 76d2f7ebba9..fd3197a9d87 100644 --- a/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/utils/JetFileUtils.java @@ -38,8 +38,11 @@ import java.util.List; */ public final class JetFileUtils { + private JetFileUtils() { + } + @NotNull - public static String loadFile(@NotNull String path) throws IOException { + private static String loadFile(@NotNull String path) throws IOException { return doLoadFile(path); } @@ -58,7 +61,7 @@ public final class JetFileUtils { } @NotNull - public static JetFile loadPsiFile(@NotNull String name, @NotNull Project project) { + private static JetFile loadPsiFile(@NotNull String name, @NotNull Project project) { try { return createPsiFile(name, loadFile(name), project); } catch (IOException e) { @@ -82,7 +85,7 @@ public final class JetFileUtils { @NotNull Project project) { List psiFiles = new ArrayList(); for (String inputFile : inputFiles) { - psiFiles.add(JetFileUtils.loadPsiFile(inputFile, project)); + psiFiles.add(loadPsiFile(inputFile, project)); } return psiFiles; } diff --git a/js/js.translator/src/org/jetbrains/k2js/utils/JetTestUtils.java b/js/js.translator/src/org/jetbrains/k2js/utils/JetTestUtils.java index ff49e60b6e8..1cd42d05a14 100644 --- a/js/js.translator/src/org/jetbrains/k2js/utils/JetTestUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/utils/JetTestUtils.java @@ -16,21 +16,12 @@ package org.jetbrains.k2js.utils; -import com.google.common.base.Predicates; -import com.intellij.openapi.project.Project; -import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.JetSemanticServices; -import org.jetbrains.jet.lang.StandardConfiguration; -import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.Severity; import org.jetbrains.jet.lang.diagnostics.UnresolvedReferenceDiagnostic; -import org.jetbrains.jet.lang.psi.JetFile; -import org.jetbrains.jet.lang.resolve.AnalyzingUtils; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.BindingTraceContext; import org.jetbrains.jet.util.slicedmap.ReadOnlySlice; import org.jetbrains.jet.util.slicedmap.SlicedMap; import org.jetbrains.jet.util.slicedmap.WritableSlice; @@ -44,9 +35,9 @@ import java.util.Collections; * @author abreslav */ public class JetTestUtils { - public static final BindingTrace DUMMY_TRACE = new BindingTrace() { + private static final BindingTrace DUMMY_TRACE = new BindingTrace() { @Override public BindingContext getBindingContext() { return new BindingContext() { @@ -149,8 +140,11 @@ public class JetTestUtils { } }; + private JetTestUtils() { + } - public static void mkdirs(File file) throws IOException { + + private static void mkdirs(File file) throws IOException { if (file.isDirectory()) { return; }