/*
- * Copyright 2009 Bas Leijdekkers
+ * Copyright 2009-2010 Bas Leijdekkers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
conditionText.append(negatedSign);
if (sign == JavaTokenType.GE) {
conditionText.append(incrementExpression(initializer, true));
+ } else if (sign == JavaTokenType.LE) {
+ conditionText.append(incrementExpression(initializer, false));
} else {
conditionText.append(initializer.getText());
}
if (sign == JavaTokenType.LT) {
newInitializerText.append(incrementExpression(rhs, false));
+ } else if (sign == JavaTokenType.GT) {
+ newInitializerText.append(incrementExpression(rhs, true));
} else {
newInitializerText.append(rhs.getText());
}
} else if (VariableAccessUtils.evaluatesToVariable(rhs, variable)) {
if (sign == JavaTokenType.LE) {
conditionText.append(incrementExpression(initializer, true));
+ } else if (sign == JavaTokenType.GE) {
+ conditionText.append(incrementExpression(initializer, false));
} else {
conditionText.append(initializer.getText());
}
conditionText.append(variableName);
if (sign == JavaTokenType.GT) {
newInitializerText.append(incrementExpression(lhs, false));
+ } else if (sign == JavaTokenType.LT) {
+ newInitializerText.append(incrementExpression(lhs, true));
} else {
newInitializerText.append(lhs.getText());
}
return null;
}
if (positive) {
- return String.valueOf(value.longValue() + 1);
+ return String.valueOf(value.longValue() + 1L);
} else {
- return String.valueOf(value.longValue() - 1);
+ return String.valueOf(value.longValue() - 1L);
}
} else {
+ if (expression instanceof PsiBinaryExpression) {
+ final PsiBinaryExpression binaryExpression =
+ (PsiBinaryExpression) expression;
+ final IElementType tokenType =
+ binaryExpression.getOperationTokenType();
+ if (tokenType == JavaTokenType.MINUS && positive) {
+ return binaryExpression.getLOperand().getText();
+ } else if (tokenType == JavaTokenType.PLUS && !positive) {
+ return binaryExpression.getLOperand().getText();
+ }
+ }
final String expressionText;
if (ParenthesesUtils.getPrecedence(expression) >
ParenthesesUtils.ADDITIVE_PRECEDENCE) {