X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Freflect.h;h=c2d7aa0483bd36e4411a55c2d5325158dfae1b92;hb=c72c4ebe384a0d5a48c268d09449707bd86090a8;hp=9520feb6a924c797ee50b7e8a062dbd7b1f74795;hpb=c701c8787cb19fbb6dc5b0bfae1a94e2b07dd549;p=libs%2Fgl.git diff --git a/source/glsl/reflect.h b/source/glsl/reflect.h index 9520feb6..c2d7aa04 100644 --- a/source/glsl/reflect.h +++ b/source/glsl/reflect.h @@ -27,6 +27,8 @@ private: void compare(Node &, Node &); template T *multi_visit(T &); + virtual void visit(Literal &); + virtual void visit(VariableReference &); virtual void visit(BasicTypeDeclaration &); virtual void visit(ImageTypeDeclaration &); virtual void visit(StructDeclaration &); @@ -83,6 +85,7 @@ class DependencyCollector: private TraversingVisitor private: std::set dependencies; std::set locals; + std::set visited_functions; public: std::set apply(FunctionDeclaration &); @@ -92,6 +95,7 @@ private: virtual void visit(InterfaceBlockReference &); virtual void visit(FunctionCall &); virtual void visit(VariableDeclaration &); + virtual void visit(FunctionDeclaration &); }; } // namespace SL