JsAstUtils.equals -> equality

This commit is contained in:
pTalanov
2012-02-29 16:26:19 +04:00
parent 84efd8536f
commit d41515765e
9 changed files with 25 additions and 21 deletions
@@ -28,7 +28,6 @@ import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.general.AbstractTranslator;
import org.jetbrains.k2js.translate.general.Translation;
import org.jetbrains.k2js.translate.utils.BindingUtils;
import org.jetbrains.k2js.translate.utils.JsAstUtils;
import org.jetbrains.k2js.translate.utils.TranslationUtils;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.*;
@@ -134,6 +133,6 @@ public final class PatternTranslator extends AbstractTranslator {
assert patternExpression != null : "Expression patter should have an expression.";
JsExpression expressionToMatchAgainst =
Translation.translateAsExpression(patternExpression, context());
return JsAstUtils.equals(expressionToMatch, expressionToMatchAgainst);
return equality(expressionToMatch, expressionToMatchAgainst);
}
}
@@ -82,8 +82,8 @@ public class WhenTranslator extends AbstractTranslator {
@NotNull
private JsStatement surroundWithDummyIf(@NotNull JsStatement entryStatement) {
JsExpression stepNumberEqualsCurrentEntryNumber = new JsBinaryOperation(JsBinaryOperator.EQ,
dummyCounter.reference(), program().getNumberLiteral(currentEntryNumber));
JsNumberLiteral jsEntryNumber = program().getNumberLiteral(this.currentEntryNumber);
JsExpression stepNumberEqualsCurrentEntryNumber = equality(dummyCounter.reference(), jsEntryNumber);
currentEntryNumber++;
return new JsIf(stepNumberEqualsCurrentEntryNumber, entryStatement, null);
}
@@ -100,7 +100,7 @@ public final class ArrayForTranslator extends ForTranslator {
@NotNull
private JsExpression getCondition() {
return notEqual(index.reference(), end.reference());
return inequality(index.reference(), end.reference());
}
@NotNull
@@ -73,7 +73,7 @@ public final class RangeForTranslator extends ForTranslator {
program().getNumberLiteral(1));
incrVar = context().declareTemporary(incrVarValue);
start = context().declareTemporary(callFunction("get_start"));
end = context().declareTemporary(new JsBinaryOperation(JsBinaryOperator.ADD, callFunction("get_end"), incrVar.reference()));
end = context().declareTemporary(sum(callFunction("get_end"), incrVar.reference()));
}
@NotNull
@@ -100,12 +100,12 @@ public final class RangeForTranslator extends ForTranslator {
@NotNull
private JsExpression getCondition() {
return notEqual(parameterName.makeRef(), end.reference());
return inequality(parameterName.makeRef(), end.reference());
}
@NotNull
private JsExpression getIncrExpression() {
return new JsBinaryOperation(JsBinaryOperator.ASG_ADD, parameterName.makeRef(), incrVar.reference());
return addAssign(parameterName.makeRef(), incrVar.reference());
}
@NotNull
@@ -94,7 +94,7 @@ public final class RangeLiteralForTranslator extends ForTranslator {
@NotNull
private JsExpression getCondition() {
return notEqual(parameterName.makeRef(), rangeEnd.reference());
return inequality(parameterName.makeRef(), rangeEnd.reference());
}
@NotNull
@@ -21,11 +21,11 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.intrinsic.EqualsIntrinsic;
import org.jetbrains.k2js.translate.utils.JsAstUtils;
import java.util.List;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.notEqual;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.equality;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.inequality;
/**
* @author Pavel Talanov
@@ -46,10 +46,10 @@ public final class PrimitiveEqualsIntrinsic extends EqualsIntrinsic {
assert arguments.size() == 1 : "Equals operation should have one argument";
assert receiver != null;
if (isNegated()) {
return notEqual(receiver, arguments.get(0));
return inequality(receiver, arguments.get(0));
}
else {
return JsAstUtils.equals(receiver, arguments.get(0));
return equality(receiver, arguments.get(0));
}
}
@@ -29,7 +29,7 @@ import org.jetbrains.k2js.translate.context.TemporaryVariable;
import org.jetbrains.k2js.translate.context.TranslationContext;
import static com.google.dart.compiler.util.AstUtil.newSequence;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.notEqual;
import static org.jetbrains.k2js.translate.utils.JsAstUtils.inequality;
/**
* @author Pavel Talanov
@@ -44,7 +44,7 @@ public enum CallType {
TemporaryVariable temporaryVariable = context.declareTemporary(receiver);
JsNullLiteral nullLiteral = context.program().getNullLiteral();
//TODO: find similar not null checks
JsBinaryOperation notNullCheck = notEqual(temporaryVariable.reference(), nullLiteral);
JsBinaryOperation notNullCheck = inequality(temporaryVariable.reference(), nullLiteral);
JsConditional callMethodIfNotNullElseNull =
new JsConditional(notNullCheck, constructor.construct(temporaryVariable.reference()), nullLiteral);
return newSequence(temporaryVariable.assignmentExpression(), callMethodIfNotNullElseNull);
@@ -131,18 +131,18 @@ public final class JsAstUtils {
}
@NotNull
public static JsBinaryOperation equals(@NotNull JsExpression arg1, @NotNull JsExpression arg2) {
public static JsBinaryOperation equality(@NotNull JsExpression arg1, @NotNull JsExpression arg2) {
return new JsBinaryOperation(JsBinaryOperator.EQ, arg1, arg2);
}
@NotNull
public static JsBinaryOperation notEqual(@NotNull JsExpression arg1, @NotNull JsExpression arg2) {
public static JsBinaryOperation inequality(@NotNull JsExpression arg1, @NotNull JsExpression arg2) {
return new JsBinaryOperation(JsBinaryOperator.NEQ, arg1, arg2);
}
@NotNull
public static JsExpression equalsTrue(@NotNull JsExpression expression, @NotNull JsProgram program) {
return equals(expression, program.getTrueLiteral());
return equality(expression, program.getTrueLiteral());
}
@NotNull
@@ -155,6 +155,11 @@ public final class JsAstUtils {
return new JsBinaryOperation(JsBinaryOperator.ADD, left, right);
}
@NotNull
public static JsBinaryOperation addAssign(@NotNull JsExpression left, @NotNull JsExpression right) {
return new JsBinaryOperation(JsBinaryOperator.ASG_ADD, left, right);
}
@NotNull
public static JsBinaryOperation subtract(@NotNull JsExpression left, @NotNull JsExpression right) {
return new JsBinaryOperation(JsBinaryOperator.SUB, left, right);
@@ -167,7 +172,7 @@ public final class JsAstUtils {
@NotNull
public static JsBinaryOperation typeof(@NotNull JsExpression expression, @NotNull JsStringLiteral string) {
return equals(new JsPrefixOperation(JsUnaryOperator.TYPEOF, expression), string);
return equality(new JsPrefixOperation(JsUnaryOperator.TYPEOF, expression), string);
}
@NotNull
@@ -46,14 +46,14 @@ public final class TranslationUtils {
public static JsBinaryOperation notNullCheck(@NotNull TranslationContext context,
@NotNull JsExpression expressionToCheck) {
JsNullLiteral nullLiteral = context.program().getNullLiteral();
return notEqual(expressionToCheck, nullLiteral);
return inequality(expressionToCheck, nullLiteral);
}
@NotNull
public static JsBinaryOperation isNullCheck(@NotNull TranslationContext context,
@NotNull JsExpression expressionToCheck) {
JsNullLiteral nullLiteral = context.program().getNullLiteral();
return JsAstUtils.equals(expressionToCheck, nullLiteral);
return equality(expressionToCheck, nullLiteral);
}
@NotNull