X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramsyntax.cpp;h=edd38eaa84285c5924699d9671bc8fb3178a287b;hp=4438c16ed03cb7bd7a3c5c94e86fe01d98235e25;hb=8468279a03d906f79fb6158162c7970d4d7fff60;hpb=79c49c6b6155857ed0ebe85eb07a996788a6190b diff --git a/source/programsyntax.cpp b/source/programsyntax.cpp index 4438c16e..edd38eaa 100644 --- a/source/programsyntax.cpp +++ b/source/programsyntax.cpp @@ -103,6 +103,12 @@ void Import::visit(NodeVisitor &visitor) } +void Precision::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + void Layout::visit(NodeVisitor &visitor) { visitor.visit(*this); @@ -193,6 +199,12 @@ void Return::visit(NodeVisitor &visitor) } +void Jump::visit(NodeVisitor &visitor) +{ + visitor.visit(*this); +} + + void NodeVisitor::visit(Assignment &assign) { visit(static_cast(assign)); @@ -201,7 +213,7 @@ void NodeVisitor::visit(Assignment &assign) void TraversingVisitor::visit(Block &block) { - for(list >::iterator i=block.body.begin(); i!=block.body.end(); ++i) + for(NodeList::iterator i=block.body.begin(); i!=block.body.end(); ++i) (*i)->visit(*this); } @@ -228,7 +240,7 @@ void TraversingVisitor::visit(BinaryExpression &binary) void TraversingVisitor::visit(FunctionCall &call) { - for(vector >::iterator i=call.arguments.begin(); i!=call.arguments.end(); ++i) + for(NodeArray::iterator i=call.arguments.begin(); i!=call.arguments.end(); ++i) (*i)->visit(*this); } @@ -264,7 +276,7 @@ void TraversingVisitor::visit(InterfaceBlock &iface) void TraversingVisitor::visit(FunctionDeclaration &func) { - for(vector >::iterator i=func.parameters.begin(); i!=func.parameters.end(); ++i) + for(NodeArray::iterator i=func.parameters.begin(); i!=func.parameters.end(); ++i) (*i)->visit(*this); func.body.visit(*this); } @@ -278,7 +290,8 @@ void TraversingVisitor::visit(Conditional &cond) void TraversingVisitor::visit(Iteration &iter) { - iter.init_statement->visit(*this); + if(iter.init_statement) + iter.init_statement->visit(*this); if(iter.condition) iter.condition->visit(*this); if(iter.loop_expression)