From 62b6f4691d09ee396c0f5f6fe1005bc14e287055 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 28 Oct 2013 18:30:08 +0000 Subject: [PATCH] Fix to javascript operator precedence. --- modules/juce_core/javascript/juce_Javascript.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/juce_core/javascript/juce_Javascript.cpp b/modules/juce_core/javascript/juce_Javascript.cpp index e911b653c2..fb22ec6db9 100644 --- a/modules/juce_core/javascript/juce_Javascript.cpp +++ b/modules/juce_core/javascript/juce_Javascript.cpp @@ -1216,6 +1216,9 @@ struct JavascriptEngine::RootObject : public DynamicObject return parseSuffixes (s.release()); } + if (matchIf (TokenTypes::plusplus)) return parsePostIncDec (input); + if (matchIf (TokenTypes::minusminus)) return parsePostIncDec (input); + return input.release(); } @@ -1344,8 +1347,6 @@ struct JavascriptEngine::RootObject : public DynamicObject { if (matchIf (TokenTypes::plus)) { ExpPtr b (parseMultiplyDivide()); a = new AdditionOp (location, a, b); } else if (matchIf (TokenTypes::minus)) { ExpPtr b (parseMultiplyDivide()); a = new SubtractionOp (location, a, b); } - else if (matchIf (TokenTypes::plusplus)) a = parsePostIncDec (a); - else if (matchIf (TokenTypes::minusminus)) a = parsePostIncDec (a); else break; }