X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=829f75358cdd08695d16730184f109cc03e5c0d6;hp=f1ea165296b49f5fc122cbc344a6b37693dd182f;hb=02c1541c20adf36ea09825dc7bc745f8487c4bc8;hpb=78cec1556c85db6beb4f3d9f918b5a1f421719ef diff --git a/source/programcompiler.h b/source/programcompiler.h index f1ea1652..829f7535 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -98,6 +98,8 @@ private: struct UnusedVariableLocator: Visitor { std::set unused_nodes; + std::map aggregates; + ProgramSyntax::Node *aggregate; std::map assignments; bool assignment; bool record_target; @@ -111,22 +113,17 @@ private: virtual void visit(ProgramSyntax::MemberAccess &); virtual void visit(ProgramSyntax::BinaryExpression &); virtual void visit(ProgramSyntax::ExpressionStatement &); + virtual void visit(ProgramSyntax::StructDeclaration &); virtual void visit(ProgramSyntax::VariableDeclaration &); + virtual void visit(ProgramSyntax::InterfaceBlock &); }; struct NodeRemover: Visitor { std::set to_remove; - unsigned n_removed; - bool immutable_block; - bool remove_block; - - NodeRemover(); virtual void visit(ProgramSyntax::Block &); - virtual void visit(ProgramSyntax::StructDeclaration &); virtual void visit(ProgramSyntax::VariableDeclaration &); - virtual void visit(ProgramSyntax::InterfaceBlock &); }; ProgramParser parser;