X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramsyntax.cpp;h=185453952a006fdf591b9bf64b6306d37efe0989;hb=4fe225bf15048fcb7a678370f87d09f2de37031a;hp=e67784fe8626a24522b43db5e203cb78354108bc;hpb=57c1139e4fe21aeca7118b18eb3ba6fa43d7bf90;p=libs%2Fgl.git diff --git a/source/programsyntax.cpp b/source/programsyntax.cpp index e67784fe..18545395 100644 --- a/source/programsyntax.cpp +++ b/source/programsyntax.cpp @@ -6,6 +6,15 @@ namespace Msp { namespace GL { namespace ProgramSyntax { +template +NodeContainer::NodeContainer(const NodeContainer &c): + C(c) +{ + for(typename C::iterator i=this->begin(); i!=this->end(); ++i) + *i = (*i)->clone(); +} + + Block::Block(): use_braces(false) { } @@ -184,6 +193,12 @@ void Return::visit(NodeVisitor &visitor) } +void Jump::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + void NodeVisitor::visit(Assignment &assign) { visit(static_cast(assign));