J2K: improved asserts.
(Additionally it needs for investigate EA-37704)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user