mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-22 08:14:09 -08:00
JS: fix overflow behaviour of unary minus
This commit is contained in:
parent
0064d399be
commit
02e8955abc
|
@ -836,6 +836,18 @@ public class StatementRenderer implements ExprVisitor, StatementVisitor {
|
||||||
precedence = Precedence.min();
|
precedence = Precedence.min();
|
||||||
expr.getOperand().acceptVisitor(this);
|
expr.getOperand().acceptVisitor(this);
|
||||||
writer.append(')');
|
writer.append(')');
|
||||||
|
} else if (expr.getType() == OperationType.INT) {
|
||||||
|
if (outerPrecedence.ordinal() > Precedence.BITWISE_OR.ordinal()) {
|
||||||
|
writer.append('(');
|
||||||
|
}
|
||||||
|
writer.append(" -");
|
||||||
|
precedence = Precedence.UNARY;
|
||||||
|
expr.getOperand().acceptVisitor(this);
|
||||||
|
writer.ws().append("|").ws();
|
||||||
|
writer.append("0");
|
||||||
|
if (outerPrecedence.ordinal() > Precedence.BITWISE_OR.ordinal()) {
|
||||||
|
writer.append(')');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (outerPrecedence.ordinal() > Precedence.UNARY.ordinal()) {
|
if (outerPrecedence.ordinal() > Precedence.UNARY.ordinal()) {
|
||||||
writer.append('(');
|
writer.append('(');
|
||||||
|
|
Loading…
Reference in New Issue
Block a user