Add parenthesis for binary operators (#1153)

Fixes #872
master
Christopher Chedeau 2017-04-10 18:31:52 -07:00 committed by GitHub
parent 9d5e8f19e4
commit 636d1af19e
4 changed files with 41 additions and 0 deletions

View File

@ -342,6 +342,12 @@ FPp.needsParens = function(assumeExpressionContext) {
return true;
}
// Add parenthesis when working with binary operators
// It's not stricly needed but helps with code understanding
if (["|", "^", "&", ">>", "<<", ">>>"].indexOf(po) !== -1) {
return true;
}
default:
return false;
}

View File

@ -0,0 +1,25 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`parens.js 1`] = `
"const result = (a + b) >>> 1;
var sizeIndex = ((index - 1) >>> level) & MASK;
var from = offset > left ? 0 : (left - offset) >> level;
var to = ((right - offset) >> level) + 1;
if (rawIndex < 1 << (list._level + SHIFT)) {}
var res = size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);
sign = 1 - (2 * (b[3] >> 7));
exponent = (((b[3] << 1) & 0xff) | (b[2] >> 7)) - 127;
mantissa = ((b[2] & 0x7f) << 16) | (b[1] << 8) | b[0];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
const result = (a + b) >>> 1;
var sizeIndex = ((index - 1) >>> level) & MASK;
var from = offset > left ? 0 : (left - offset) >> level;
var to = ((right - offset) >> level) + 1;
if (rawIndex < 1 << (list._level + SHIFT)) {
}
var res = size < SIZE ? 0 : (size - 1) >>> SHIFT << SHIFT;
sign = 1 - 2 * (b[3] >> 7);
exponent = (((b[3] << 1) & 0xff) | (b[2] >> 7)) - 127;
mantissa = ((b[2] & 0x7f) << 16) | (b[1] << 8) | b[0];
"
`;

View File

@ -0,0 +1 @@
run_spec(__dirname, null, ["babylon", "typescript"]);

View File

@ -0,0 +1,9 @@
const result = (a + b) >>> 1;
var sizeIndex = ((index - 1) >>> level) & MASK;
var from = offset > left ? 0 : (left - offset) >> level;
var to = ((right - offset) >> level) + 1;
if (rawIndex < 1 << (list._level + SHIFT)) {}
var res = size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);
sign = 1 - (2 * (b[3] >> 7));
exponent = (((b[3] << 1) & 0xff) | (b[2] >> 7)) - 127;
mantissa = ((b[2] & 0x7f) << 16) | (b[1] << 8) | b[0];