Fixed AS1/2 - subtract precedence

This commit is contained in:
Jindra Petřík
2021-11-24 18:50:39 +01:00
parent 87c5cd362b
commit b419687630
2 changed files with 12 additions and 2 deletions

View File

@@ -55,10 +55,19 @@ public class SubtractActionItem extends BinaryOpItem implements CompoundableBina
if ((leftSide instanceof DirectValueActionItem)
&& (((((DirectValueActionItem) leftSide).value instanceof Float) && (((Float) ((DirectValueActionItem) leftSide).value) == 0f))
|| ((((DirectValueActionItem) leftSide).value instanceof Double) && (((Double) ((DirectValueActionItem) leftSide).value) == 0.0))
|| ((((DirectValueActionItem) leftSide).value instanceof Long) && (((Long) ((DirectValueActionItem) leftSide).value) == 0L)))) {
|| ((((DirectValueActionItem) leftSide).value instanceof Long) && (((Long) ((DirectValueActionItem) leftSide).value) == 0L))
|| ((DirectValueActionItem) leftSide).isString() && "0".equals(((DirectValueActionItem) leftSide).toString()))) {
writer.append(operator);
writer.append(" ");
rightSide.appendTry(writer, localData);
int rightPrecedence = rightSide.getPrecedence();
if (rightPrecedence >= precedence && rightPrecedence != GraphTargetItem.NOPRECEDENCE) {
writer.append("(");
rightSide.toString(writer, localData, coerceRight);
writer.append(")");
} else {
rightSide.toString(writer, localData, coerceRight);
}
return writer;
} else if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too