From 8296fe1415c10cb3f159991d3a327fd9944a575c Mon Sep 17 00:00:00 2001 From: Charlie Somerville Date: Sun, 18 Jan 2015 19:14:19 +1100 Subject: [PATCH] fix associativity parsing, hopefully for good this time --- acorn.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/acorn.js b/acorn.js index 57c5245c77..e0d4dcf074 100644 --- a/acorn.js +++ b/acorn.js @@ -2515,17 +2515,9 @@ var op = tokType; next(); var start = storeCurrentPos(); - if (op.rightAssociative) { - node.right = parseExprOp(parseMaybeUnary(), start, minPrec, noIn); - } else { - node.right = parseExprOp(parseMaybeUnary(), start, prec, noIn); - } + node.right = parseExprOp(parseMaybeUnary(), start, op.rightAssociative ? (prec - 1) : prec, noIn); finishNode(node, (op === _logicalOR || op === _logicalAND) ? "LogicalExpression" : "BinaryExpression"); - if (op.rightAssociative) { - return node; - } else { - return parseExprOp(node, leftStart, minPrec, noIn); - } + return parseExprOp(node, leftStart, minPrec, noIn); } } return left;