X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=f1ea165296b49f5fc122cbc344a6b37693dd182f;hb=78cec1556c85db6beb4f3d9f918b5a1f421719ef;hp=3b63c5e906bd257bdd568a6d89527e5fd2e01fb1;hpb=b3e71de19f35773c22391151ebb02062d6894bc9;p=libs%2Fgl.git diff --git a/source/programcompiler.h b/source/programcompiler.h index 3b63c5e9..f1ea1652 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -100,7 +100,10 @@ private: std::set unused_nodes; std::map assignments; bool assignment; + bool record_target; ProgramSyntax::VariableDeclaration *assignment_target; + bool indeterminate_target; + bool self_referencing; UnusedVariableLocator(); @@ -139,7 +142,7 @@ public: private: void process(); void generate(ProgramSyntax::Stage &); - void optimize(ProgramSyntax::Stage &); + bool optimize(ProgramSyntax::Stage &); static void inject_block(ProgramSyntax::Block &, const ProgramSyntax::Block &); template static void apply(ProgramSyntax::Stage &);