Browse Source

Added a few missing in-place operators to the javascript parser

tags/2021-05-28
jules 7 years ago
parent
commit
d1571a19aa
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      modules/juce_core/javascript/juce_Javascript.cpp

+ 4
- 1
modules/juce_core/javascript/juce_Javascript.cpp View File

@@ -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<AdditionOp> (lhs);
if (matchIf (TokenTypes::minusEquals)) return parseInPlaceOpExpression<SubtractionOp> (lhs);
if (matchIf (TokenTypes::timesEquals)) return parseInPlaceOpExpression<MultiplyOp> (lhs);
if (matchIf (TokenTypes::divideEquals)) return parseInPlaceOpExpression<DivideOp> (lhs);
if (matchIf (TokenTypes::moduloEquals)) return parseInPlaceOpExpression<ModuloOp> (lhs);
if (matchIf (TokenTypes::leftShiftEquals)) return parseInPlaceOpExpression<LeftShiftOp> (lhs);
if (matchIf (TokenTypes::rightShiftEquals)) return parseInPlaceOpExpression<RightShiftOp> (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));
}


Loading…
Cancel
Save