]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programsyntax.cpp
Streamline interface declarations
[libs/gl.git] / source / programsyntax.cpp
index f64493eed2a116fae42a88791a6183a084c06e0a..299e23b4e6e984ea7d10d66c250588cd9631e7ae 100644 (file)
@@ -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)
 { }