X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvisitor.cpp;h=717acad1fdf6dbbd0f03e4e4a9a64ce3f2a4bcd2;hb=47d9d5d10469340af44909de9c8ab9fd4f1a19a1;hp=58d323ab540fc3be3a02c70a7c0a81dd333977b8;hpb=696a97bd7411d69953c1a9e4b5f3dfb4c1d848f1;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(); )