JS backend: fixed extra code generation for increment, decrement and operations with assignment.

This commit is contained in:
Zalim Bashorov
2014-03-18 21:07:24 +04:00
parent 482d228253
commit c10e7dd94b
2 changed files with 4 additions and 4 deletions
@@ -21,10 +21,10 @@ import com.google.dart.compiler.backend.js.ast.JsBinaryOperator;
import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsExpression;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetBinaryExpression; import org.jetbrains.jet.lang.psi.JetBinaryExpression;
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
import org.jetbrains.jet.lang.types.expressions.OperatorConventions; import org.jetbrains.jet.lang.types.expressions.OperatorConventions;
import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetToken;
import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.reference.ReferenceAccessTranslator;
import static org.jetbrains.k2js.translate.utils.PsiUtils.getOperationToken; import static org.jetbrains.k2js.translate.utils.PsiUtils.getOperationToken;
import static org.jetbrains.k2js.translate.utils.PsiUtils.isAssignment; import static org.jetbrains.k2js.translate.utils.PsiUtils.isAssignment;
@@ -53,7 +53,7 @@ public final class IntrinsicAssignmentTranslator extends AssignmentTranslator {
@NotNull @NotNull
private JsExpression translateAsAssignmentOperation() { private JsExpression translateAsAssignmentOperation() {
if (accessTranslator instanceof ReferenceAccessTranslator) { if (expression.getLeft() instanceof JetSimpleNameExpression) {
return translateAsPlainAssignmentOperation(); return translateAsPlainAssignmentOperation();
} }
return translateAsAssignToCounterpart(); return translateAsAssignToCounterpart();
@@ -18,11 +18,11 @@ package org.jetbrains.k2js.translate.operation;
import com.google.dart.compiler.backend.js.ast.*; import com.google.dart.compiler.backend.js.ast.*;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
import org.jetbrains.jet.lang.psi.JetUnaryExpression; import org.jetbrains.jet.lang.psi.JetUnaryExpression;
import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.jet.lexer.JetToken;
import org.jetbrains.jet.lexer.JetTokens; import org.jetbrains.jet.lexer.JetTokens;
import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.reference.ReferenceAccessTranslator;
import static org.jetbrains.k2js.translate.utils.PsiUtils.getOperationToken; import static org.jetbrains.k2js.translate.utils.PsiUtils.getOperationToken;
import static org.jetbrains.k2js.translate.utils.PsiUtils.isPrefix; import static org.jetbrains.k2js.translate.utils.PsiUtils.isPrefix;
@@ -51,7 +51,7 @@ public final class IntrinsicIncrementTranslator extends IncrementTranslator {
} }
private boolean isPrimitiveExpressionIncrement() { private boolean isPrimitiveExpressionIncrement() {
return accessTranslator instanceof ReferenceAccessTranslator; return expression.getBaseExpression() instanceof JetSimpleNameExpression;
} }
@NotNull @NotNull