Fix bug with JS operator precedence

This commit is contained in:
Alexey Andreev 2016-08-09 12:28:57 +03:00
parent 675abe8740
commit 861742a2fb

View File

@ -1718,9 +1718,14 @@ public class Renderer implements ExprVisitor, StatementVisitor, RenderingContext
writer.append(')'); writer.append(')');
break; break;
case INT: case INT:
precedence = Precedence.BITWISE_OR; visitBinary(BinaryOperation.BITWISE_OR, "|", () -> expr.getValue().acceptVisitor(this),
expr.getValue().acceptVisitor(this); () -> {
writer.ws().append("|").ws().append("0"); try {
writer.append("0");
} catch (IOException e) {
throw new RenderingException("IO error occurred", e);
}
});
break; break;
default: default:
expr.getValue().acceptVisitor(this); expr.getValue().acceptVisitor(this);