X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvisitor.cpp;h=717acad1fdf6dbbd0f03e4e4a9a64ce3f2a4bcd2;hb=1fa69bb8eec3070f5da296d6dd0bd67aea62d3bf;hp=58d323ab540fc3be3a02c70a7c0a81dd333977b8;hpb=a93a69e53263005709fa172845b01f81cd1c074c;p=libs%2Fgl.git diff --git a/source/glsl/visitor.cpp b/source/glsl/visitor.cpp index 58d323ab..717acad1 100644 --- a/source/glsl/visitor.cpp +++ b/source/glsl/visitor.cpp @@ -114,17 +114,6 @@ void TraversingVisitor::visit(Return &ret) } -StageVisitor::StageVisitor(): - stage(0) -{ } - -void StageVisitor::apply(Stage &s) -{ - SetForScope set(stage, &s); - stage->content.visit(*this); -} - - BlockModifier::BlockModifier(): remove_node(false) { } @@ -158,9 +147,16 @@ void BlockModifier::visit(Block &block) NodeRemover::NodeRemover(const set &r): + stage(0), to_remove(r) { } +void NodeRemover::apply(Stage &s) +{ + SetForScope set_stage(stage, &s); + visit(s.content); +} + void NodeRemover::visit(Block &block) { for(NodeList::iterator i=block.body.begin(); i!=block.body.end(); )