X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramsyntax.cpp;fp=source%2Fprogramsyntax.cpp;h=83cfbb089b4d5d3278722b384c82a91a382aa4d1;hb=2b073e0a3808f8ece4b93669395e4b812214cf5d;hp=dcd19f2bb3b52b0ac75dac2f6f78c0900d3f1edf;hpb=a209ca32465c61b38f3a57ee6577568f3994e8ab;p=libs%2Fgl.git diff --git a/source/programsyntax.cpp b/source/programsyntax.cpp index dcd19f2b..83cfbb08 100644 --- a/source/programsyntax.cpp +++ b/source/programsyntax.cpp @@ -54,11 +54,18 @@ void UnaryExpression::visit(NodeVisitor &visitor) } -BinaryExpression::BinaryExpression(): - assignment(false) +void BinaryExpression::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + +Assignment::Assignment(): + self_referencing(false), + target_declaration(0) { } -void BinaryExpression::visit(NodeVisitor &visitor) +void Assignment::visit(NodeVisitor &visitor) { visitor.visit(*this); } @@ -156,6 +163,12 @@ void Return::visit(NodeVisitor &visitor) } +void NodeVisitor::visit(Assignment &assign) +{ + visit(static_cast(assign)); +} + + void TraversingVisitor::visit(Block &block) { for(list >::iterator i=block.body.begin(); i!=block.body.end(); ++i)