X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramparser.cpp;h=f003a835b56b0352e7abe2387bcaff24792d87ce;hb=2b073e0a3808f8ece4b93669395e4b812214cf5d;hp=11c9a9fe4060acd391b390cbb36749b82f998d6f;hpb=5945ad9b63bbc55c3ed21f0c023d17f73aaac370;p=libs%2Fgl.git diff --git a/source/programparser.cpp b/source/programparser.cpp index 11c9a9fe..f003a835 100644 --- a/source/programparser.cpp +++ b/source/programparser.cpp @@ -522,7 +522,7 @@ Expression *ProgramParser::parse_expression(unsigned precedence) BinaryExpression *ProgramParser::parse_binary(Expression *left, const Operator *oper) { - RefPtr binary = new BinaryExpression; + RefPtr binary = (oper->precedence==16 ? new Assignment : new BinaryExpression); binary->left = left; binary->oper = parse_token(); if(binary->oper=="[") @@ -533,7 +533,6 @@ BinaryExpression *ProgramParser::parse_binary(Expression *left, const Operator * } else binary->right = parse_expression(oper->precedence+(oper->assoc==RIGHT_TO_LEFT)); - binary->assignment = (oper->precedence==16); return binary.release(); }