From befe3246ccdf8aa3c5d03003ccf830a63e277679 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 28 Mar 2012 21:20:12 +0400 Subject: [PATCH] Add some TODOs based on code coverage. Fix some typos and minor code issues. --- .../k2js/translate/context/NamingScope.java | 17 ++++------------- .../k2js/translate/context/StaticContext.java | 1 + .../expression/foreach/ArrayForTranslator.java | 4 ++-- .../NativePropertyAccessTranslator.java | 1 + .../reference/PropertyAccessTranslator.java | 1 + .../QualifiedExpressionTranslator.java | 1 + .../utils/dangerous/FindPreviousVisitor.java | 5 ++++- 7 files changed, 14 insertions(+), 16 deletions(-) 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 42223ca0442..0ec6016f6be 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 @@ -61,26 +61,17 @@ public final class NamingScope { @NotNull /*package*/ JsName declareObfuscatableName(@NotNull String name) { - return scope.declareName(mayBeObfuscateName(name, true)); + return scope.declareName(obfuscateName(name)); } //TODO: temporary solution @NotNull - private String mayBeObfuscateName(@NotNull String name, boolean shouldObfuscate) { - if (!shouldObfuscate) { - return name; - } - return doObfuscate(name); - } - - //TODO: refactor - @NotNull - private String doObfuscate(@NotNull String name) { + private String obfuscateName(@NotNull String name) { int obfuscate = 0; String result = name; while (true) { - JsName existingNameWithSameIdent = scope.findExistingName(result); - boolean isDuplicate = (existingNameWithSameIdent != null) && JsAstUtils.ownsName(scope, existingNameWithSameIdent); + JsName existingNameWithSameIdent = this.scope.findExistingName(result); + boolean isDuplicate = (existingNameWithSameIdent != null) && JsAstUtils.ownsName(this.scope, existingNameWithSameIdent); if (!isDuplicate) break; 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 bc1e01473f0..941bde126c1 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 @@ -310,6 +310,7 @@ public final class StaticContext { return getRootScope().innerScope("Namespace " + descriptor.getName()); } }; + //TODO: never get there Rule generateInnerScopesForMembers = new Rule() { @Override public NamingScope apply(@NotNull DeclarationDescriptor descriptor) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java index 06a14722706..bdd2eda0bb8 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java @@ -82,7 +82,7 @@ public final class ArrayForTranslator extends ForTranslator { private JsBlock translate() { List blockStatements = Lists.newArrayList(); blockStatements.add(temporariesInitialization(loopRange, end).makeStmt()); - blockStatements.add(generateForExpression(getInitExpression(), getCondition(), getIncrExpression(), getBody())); + blockStatements.add(generateForExpression(getInitExpression(), getCondition(), getIncrementExpression(), getBody())); return newBlock(blockStatements); } @@ -106,7 +106,7 @@ public final class ArrayForTranslator extends ForTranslator { } @NotNull - private JsExpression getIncrExpression() { + private JsExpression getIncrementExpression() { return new JsPrefixOperation(JsUnaryOperator.INC, index.reference()); } } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/NativePropertyAccessTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/NativePropertyAccessTranslator.java index 80451108199..7f72df2f481 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/NativePropertyAccessTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/NativePropertyAccessTranslator.java @@ -34,6 +34,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.qualified; *

* For native apis that use .property notation for access. */ +//TODO: test this class public final class NativePropertyAccessTranslator extends PropertyAccessTranslator { @Nullable 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 a4dbb6d96c9..9720db68bde 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,6 +39,7 @@ import static org.jetbrains.k2js.translate.utils.PsiUtils.isBackingFieldReferenc */ public abstract class PropertyAccessTranslator extends AbstractTranslator implements AccessTranslator { + //TODO: is it really called? @NotNull private static PropertyAccessTranslator newInstance(@NotNull PropertyDescriptor descriptor, @NotNull ResolvedCall resolvedCall, diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java index 7ac80ccb0a3..984ffaed759 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java @@ -70,6 +70,7 @@ public final class QualifiedExpressionTranslator { if (selector instanceof JetCallExpression) { return CallExpressionTranslator.translate((JetCallExpression)selector, receiver, callType, context); } + //TODO: never get there if (selector instanceof JetSimpleNameExpression) { return ReferenceTranslator.translateSimpleName((JetSimpleNameExpression)selector, context); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/dangerous/FindPreviousVisitor.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/dangerous/FindPreviousVisitor.java index 602df9dff5c..938b49e96d4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/dangerous/FindPreviousVisitor.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/dangerous/FindPreviousVisitor.java @@ -20,9 +20,12 @@ import com.google.common.collect.Maps; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.k2js.translate.utils.PsiUtils; import java.util.Map; +import static org.jetbrains.k2js.translate.utils.PsiUtils.getBaseExpression; + /** * @author Pavel Talanov */ @@ -88,7 +91,7 @@ public final class FindPreviousVisitor extends JetTreeVisitor { return null; } else { - if (hasDangerous(expression.getBaseExpression())) { + if (hasDangerous(getBaseExpression(expression))) { return null; } else {