X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramsyntax.cpp;fp=source%2Fprogramsyntax.cpp;h=299e23b4e6e984ea7d10d66c250588cd9631e7ae;hb=961715848c111907b5f443c5b545a429b40583e6;hp=f64493eed2a116fae42a88791a6183a084c06e0a;hpb=a36992487d018d8801ead6980b362b00a2f5f5c5;p=libs%2Fgl.git diff --git a/source/programsyntax.cpp b/source/programsyntax.cpp index f64493ee..299e23b4 100644 --- a/source/programsyntax.cpp +++ b/source/programsyntax.cpp @@ -100,7 +100,8 @@ void StructDeclaration::visit(NodeVisitor &visitor) VariableDeclaration::VariableDeclaration(): constant(false), type_declaration(0), - array(false) + array(false), + linked_declaration(0) { } void VariableDeclaration::visit(NodeVisitor &visitor) @@ -136,6 +137,12 @@ void Conditional::visit(NodeVisitor &visitor) } +void Passthrough::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + void Return::visit(NodeVisitor &visitor) { visitor.visit(*this); @@ -228,6 +235,12 @@ void TraversingVisitor::visit(Iteration &iter) iter.body.visit(*this); } +void TraversingVisitor::visit(Passthrough &pass) +{ + if(pass.subscript) + pass.subscript->visit(*this); +} + void TraversingVisitor::visit(Return &ret) { if(ret.expression) @@ -237,7 +250,8 @@ void TraversingVisitor::visit(Return &ret) Context::Context(ContextType t): type(t), - present(false) + present(false), + previous(0) { }