Add parenthesis fix.

This commit is contained in:
Jindra Pet��k
2013-07-16 15:37:23 +02:00
parent 9e89827b83
commit 2f72edcaf7
2 changed files with 39 additions and 0 deletions
@@ -29,6 +29,26 @@ public class AddAVM2Item extends BinaryOpItem {
super(instruction, PRECEDENCE_ADDITIVE, leftSide, rightSide, "+");
}
@Override
public String toString(List<Object> localData) {
if (rightSide.precedence >= precedence) { //string + vs number +
String ret = "";
if (leftSide.precedence > precedence) {
ret += "(" + leftSide.toString(localData) + ")";
} else {
ret += leftSide.toString(localData);
}
ret += " ";
ret += hilight(operator);
ret += " ";
ret += "(" + rightSide.toString(localData) + ")";
return ret;
} else {
return super.toString(localData);
}
}
@Override
public Object getResult() {
if (EcmaScript.type(leftSide.getResult()) == EcmaType.STRING || EcmaScript.type(rightSide.getResult()) == EcmaType.STRING) {
@@ -34,6 +34,25 @@ public class AddActionItem extends BinaryOpItem {
this.version2 = version2;
}
@Override
public String toString(List<Object> localData) {
if (rightSide.precedence >= precedence) { //string + vs number +
String ret = "";
if (leftSide.precedence > precedence) {
ret += "(" + leftSide.toString(localData) + ")";
} else {
ret += leftSide.toString(localData);
}
ret += " ";
ret += hilight(operator);
ret += " ";
ret += "(" + rightSide.toString(localData) + ")";
return ret;
} else {
return super.toString(localData);
}
}
@Override
public Object getResult() {
if (version2) {