]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/reflect.h
Disallow specializing when compiling a module
[libs/gl.git] / source / glsl / reflect.h
index 9520feb6a924c797ee50b7e8a062dbd7b1f74795..c2d7aa0483bd36e4411a55c2d5325158dfae1b92 100644 (file)
@@ -27,6 +27,8 @@ private:
        void compare(Node &, Node &);
        template<typename T>
        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<Node *> dependencies;
        std::set<Node *> locals;
+       std::set<FunctionDeclaration *> visited_functions;
 
 public:
        std::set<Node *> 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