]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/validate.h
Rename DeclarationValidator to IdentifierValidator
[libs/gl.git] / source / glsl / validate.h
index 9477b67d70cb7a7ecc9acc38ad81e76d81af1c97..6cd5675a07f691f413c8786f2143fb5d2ebb3708 100644 (file)
@@ -41,17 +41,18 @@ private:
        virtual void visit(VariableDeclaration &);
 };
 
-class DeclarationValidator: private Validator
+class IdentifierValidator: private Validator
 {
 private:
        typedef std::map<std::string, Statement *> BlockDeclarationMap;
 
        std::map<Block *, BlockDeclarationMap> declarations;
        std::map<std::string, InterfaceBlock *> interface_blocks;
+       std::map<std::string, FunctionDeclaration *> overloaded_functions;
        bool anonymous_block;
 
 public:
-       DeclarationValidator();
+       IdentifierValidator();
 
        void apply(Stage &s) { stage = &s; s.content.visit(*this); }
 
@@ -81,6 +82,7 @@ private:
        virtual void visit(VariableReference &);
        virtual void visit(MemberAccess &);
        virtual void visit(InterfaceBlockReference &);
+       virtual void visit(FunctionCall &);
        virtual void visit(VariableDeclaration &);
        virtual void visit(InterfaceBlock &);
        virtual void visit(FunctionDeclaration &);
@@ -96,6 +98,7 @@ private:
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
        virtual void visit(Assignment &);
+       virtual void visit(TernaryExpression &);
        virtual void visit(VariableDeclaration &);
 };