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 org.jetbrains.annotations.NotNull;
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.lexer.JetToken;
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.isAssignment;
@@ -53,7 +53,7 @@ public final class IntrinsicAssignmentTranslator extends AssignmentTranslator {
@NotNull
private JsExpression translateAsAssignmentOperation() {
if (accessTranslator instanceof ReferenceAccessTranslator) {
if (expression.getLeft() instanceof JetSimpleNameExpression) {
return translateAsPlainAssignmentOperation();
}
return translateAsAssignToCounterpart();
@@ -18,11 +18,11 @@ package org.jetbrains.k2js.translate.operation;
import com.google.dart.compiler.backend.js.ast.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
import org.jetbrains.jet.lang.psi.JetUnaryExpression;
import org.jetbrains.jet.lexer.JetToken;
import org.jetbrains.jet.lexer.JetTokens;
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.isPrefix;
@@ -51,7 +51,7 @@ public final class IntrinsicIncrementTranslator extends IncrementTranslator {
}
private boolean isPrimitiveExpressionIncrement() {
return accessTranslator instanceof ReferenceAccessTranslator;
return expression.getBaseExpression() instanceof JetSimpleNameExpression;
}
@NotNull