X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Freflect.h;h=6e6f9d8316bf2c5af1522a03b097bf301c057df6;hp=5b4170a9c766e460d34da7157fe84f1d68dbbeec;hb=HEAD;hpb=6f06479b765946bdd3174b2c05e7a1dda24c31c2 diff --git a/source/glsl/reflect.h b/source/glsl/reflect.h index 5b4170a9..308d7c80 100644 --- a/source/glsl/reflect.h +++ b/source/glsl/reflect.h @@ -35,6 +35,7 @@ private: virtual void visit(UnaryExpression &); virtual void visit(BinaryExpression &); virtual void visit(TernaryExpression &); + virtual void visit(FunctionCall &); virtual void visit(BasicTypeDeclaration &); virtual void visit(ImageTypeDeclaration &); virtual void visit(StructDeclaration &); @@ -98,7 +99,6 @@ public: private: virtual void visit(VariableReference &); - virtual void visit(InterfaceBlockReference &); virtual void visit(FunctionCall &); virtual void visit(VariableDeclaration &); virtual void visit(FunctionDeclaration &); @@ -107,12 +107,16 @@ private: class AssignmentCollector: private TraversingVisitor { private: - std::set assigned_variables; + bool assignment_target = false; + std::set assigned_variables; public: - std::set apply(Node &); + std::set apply(Node &); private: + virtual void visit(VariableReference &); + virtual void visit(UnaryExpression &); + virtual void visit(BinaryExpression &); virtual void visit(Assignment &); };