From d1571a19aafa29bedf19c5cfa8bd6963cc48109d Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 5 Jun 2018 10:14:22 +0100 Subject: [PATCH] Added a few missing in-place operators to the javascript parser --- modules/juce_core/javascript/juce_Javascript.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/juce_core/javascript/juce_Javascript.cpp b/modules/juce_core/javascript/juce_Javascript.cpp index d1e09d63c6..b7d23c122c 100644 --- a/modules/juce_core/javascript/juce_Javascript.cpp +++ b/modules/juce_core/javascript/juce_Javascript.cpp @@ -1092,6 +1092,9 @@ struct JavascriptEngine::RootObject : public DynamicObject if (matchIf (TokenTypes::assign)) { ExpPtr rhs (parseExpression()); return new Assignment (location, lhs, rhs); } if (matchIf (TokenTypes::plusEquals)) return parseInPlaceOpExpression (lhs); if (matchIf (TokenTypes::minusEquals)) return parseInPlaceOpExpression (lhs); + if (matchIf (TokenTypes::timesEquals)) return parseInPlaceOpExpression (lhs); + if (matchIf (TokenTypes::divideEquals)) return parseInPlaceOpExpression (lhs); + if (matchIf (TokenTypes::moduloEquals)) return parseInPlaceOpExpression (lhs); if (matchIf (TokenTypes::leftShiftEquals)) return parseInPlaceOpExpression (lhs); if (matchIf (TokenTypes::rightShiftEquals)) return parseInPlaceOpExpression (lhs); @@ -1105,7 +1108,7 @@ struct JavascriptEngine::RootObject : public DynamicObject Expression* parseInPlaceOpExpression (ExpPtr& lhs) { ExpPtr rhs (parseExpression()); - Expression* bareLHS = lhs.get(); // careful - bare pointer is deliberately alised + Expression* bareLHS = lhs.get(); // careful - bare pointer is deliberately aliased return new SelfAssignment (location, bareLHS, new OpType (location, lhs, rhs)); }