X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramsyntax.cpp;h=83cfbb089b4d5d3278722b384c82a91a382aa4d1;hb=f9b23e69b63cbbeed8eeb605c0dc491002a4c23b;hp=7ca71d5761352997fe8d4df0bce9bed83c868184;hpb=fd103d76d7546f7e22aefc18c090a844fc67409f;p=libs%2Fgl.git diff --git a/source/programsyntax.cpp b/source/programsyntax.cpp index 7ca71d57..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); } @@ -110,7 +117,8 @@ void VariableDeclaration::visit(NodeVisitor &visitor) } -InterfaceBlock::InterfaceBlock() +InterfaceBlock::InterfaceBlock(): + array(false) { members.use_braces = true; } @@ -137,6 +145,12 @@ void Conditional::visit(NodeVisitor &visitor) } +void Iteration::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + void Passthrough::visit(NodeVisitor &visitor) { visitor.visit(*this); @@ -149,9 +163,9 @@ void Return::visit(NodeVisitor &visitor) } -void Iteration::visit(NodeVisitor &visitor) +void NodeVisitor::visit(Assignment &assign) { - visitor.visit(*this); + visit(static_cast(assign)); } @@ -250,16 +264,12 @@ void TraversingVisitor::visit(Return &ret) Stage::Stage(StageType t): type(t), - present(false), previous(0) { } Module::Module(): - shared(SHARED), - vertex_stage(VERTEX), - geometry_stage(GEOMETRY), - fragment_stage(FRAGMENT) + shared(SHARED) { } } // namespace ProgramSyntax