J2K: improved asserts.

(Additionally it needs for investigate EA-37704)
This commit is contained in:
Zalim Bashorov
2013-09-18 16:15:09 +04:00
parent 7faf8ef92a
commit 4dd880f99c
@@ -23,6 +23,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.j2k.Converter; import org.jetbrains.jet.j2k.Converter;
import org.jetbrains.jet.j2k.ConverterUtil; import org.jetbrains.jet.j2k.ConverterUtil;
import org.jetbrains.jet.j2k.ast.*; import org.jetbrains.jet.j2k.ast.*;
import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils;
import org.jetbrains.jet.lang.types.expressions.OperatorConventions; import org.jetbrains.jet.lang.types.expressions.OperatorConventions;
import java.util.Collections; import java.util.Collections;
@@ -130,7 +131,7 @@ public class ExpressionVisitor extends StatementVisitor {
if (tokenType == JavaTokenType.MINUSMINUS) return "--"; if (tokenType == JavaTokenType.MINUSMINUS) return "--";
if (tokenType == JavaTokenType.EXCL) return "!"; if (tokenType == JavaTokenType.EXCL) return "!";
System.out.println("UNSUPPORTED TOKEN TYPE: " + tokenType.toString()); assert false : "UNSUPPORTED TOKEN TYPE: " + tokenType.toString();
return ""; return "";
} }
@@ -138,20 +139,20 @@ public class ExpressionVisitor extends StatementVisitor {
public void visitBinaryExpression(@NotNull PsiBinaryExpression expression) { public void visitBinaryExpression(@NotNull PsiBinaryExpression expression) {
super.visitBinaryExpression(expression); super.visitBinaryExpression(expression);
Expression left = getConverter().expressionToExpression(expression.getLOperand());
Expression right = getConverter().expressionToExpression(expression.getROperand());
if (expression.getOperationSign().getTokenType() == JavaTokenType.GTGTGT) { if (expression.getOperationSign().getTokenType() == JavaTokenType.GTGTGT) {
myResult = new DummyMethodCallExpression( myResult = new DummyMethodCallExpression(left, "ushr", right);
getConverter().expressionToExpression(expression.getLOperand()),
"ushr",
getConverter().expressionToExpression(expression.getROperand()));
} }
else { else {
myResult = List<String> conversions = getConverter().createConversions(expression, PsiType.BOOLEAN);
new BinaryExpression( assert conversions.size() == 2 :
getConverter().expressionToExpression(expression.getLOperand()), "conversions.size for BinaryExpression should be 2 but equals " + conversions.size() +
getConverter().expressionToExpression(expression.getROperand()), " for expression: \"" + expression.getText() + "\" at " + DiagnosticUtils.atLocation(expression);
getOperatorString(expression.getOperationSign().getTokenType()),
getConverter().createConversions(expression, PsiType.BOOLEAN) String operator = getOperatorString(expression.getOperationSign().getTokenType());
); myResult = new BinaryExpression(left, right, operator, conversions);
} }
} }