X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvalidate.h;h=6cd5675a07f691f413c8786f2143fb5d2ebb3708;hb=7a62eb7f7550df161656616f2ece5a094b754392;hp=9477b67d70cb7a7ecc9acc38ad81e76d81af1c97;hpb=d18df036b247f7f0978b547bb8ea1d624af2c4b2;p=libs%2Fgl.git diff --git a/source/glsl/validate.h b/source/glsl/validate.h index 9477b67d..6cd5675a 100644 --- a/source/glsl/validate.h +++ b/source/glsl/validate.h @@ -41,17 +41,18 @@ private: virtual void visit(VariableDeclaration &); }; -class DeclarationValidator: private Validator +class IdentifierValidator: private Validator { private: typedef std::map BlockDeclarationMap; std::map declarations; std::map interface_blocks; + std::map 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 &); };