X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Freflect.h;h=6e6f9d8316bf2c5af1522a03b097bf301c057df6;hb=1a5dafe20e47c764f2914c341fb7b8f1fba59fb8;hp=d48fbec156506f31fda79fd86aa676b8257a128d;hpb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;p=libs%2Fgl.git diff --git a/source/glsl/reflect.h b/source/glsl/reflect.h index d48fbec1..6e6f9d83 100644 --- a/source/glsl/reflect.h +++ b/source/glsl/reflect.h @@ -98,12 +98,27 @@ public: private: virtual void visit(VariableReference &); - virtual void visit(InterfaceBlockReference &); virtual void visit(FunctionCall &); virtual void visit(VariableDeclaration &); virtual void visit(FunctionDeclaration &); }; +class AssignmentCollector: private TraversingVisitor +{ +private: + bool assignment_target = false; + std::set assigned_variables; + +public: + std::set apply(Node &); + +private: + virtual void visit(VariableReference &); + virtual void visit(UnaryExpression &); + virtual void visit(BinaryExpression &); + virtual void visit(Assignment &); +}; + } // namespace SL } // namespace GL } // namespace Msp