in FlexPMD/flex-pmd-java/as3-parser/src/main/java/de/bokelberg/flex/parser/AS3Parser.java [752:773]
private IParserNode parseAssignmentExpression() throws TokenException
{
final Node result = Node.create( NodeKind.ASSIGN,
tok.getLine(),
tok.getColumn(),
parseConditionalExpression() );
while ( tokIs( Operators.EQUAL )
|| tokIs( Operators.PLUS_EQUAL ) || tokIs( Operators.MINUS_EQUAL )
|| tokIs( Operators.TIMES_EQUAL ) || tokIs( Operators.DIVIDED_EQUAL )
|| tokIs( Operators.MODULO_EQUAL ) || tokIs( Operators.AND_EQUAL ) || tokIs( Operators.OR_EQUAL )
|| tokIs( Operators.XOR_EQUAL ) )
{
result.addChild( Node.create( NodeKind.OP,
tok.getLine(),
tok.getColumn(),
tok.getText() ) );
nextToken( true );
result.addChild( parseExpression() );
}
return result.numChildren() > 1 ? result
: result.getChild( 0 );
}