]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/debug.h
Assign a result type to all expressions
[libs/gl.git] / source / glsl / debug.h
index 66f2b067c15776cf5806453c1e0548ec00365734..b2de993da648e39a06a8f8f93d03c112b596cd39 100644 (file)
@@ -8,6 +8,8 @@ namespace Msp {
 namespace GL {
 namespace SL {
 
+/** Creates a textual representation of the syntax tree.  The result is encoded
+as UTF-8. */
 class DumpTree: private TraversingVisitor
 {
 private:
@@ -34,6 +36,7 @@ private:
        void end_sub();
        void annotated_branch(const std::string &, Node &);
        unsigned get_label(const Node &);
+       std::string format_type(TypeDeclaration *);
 
        template<typename T>
        typename T::const_iterator increment(typename T::const_iterator &, const T &);
@@ -42,6 +45,7 @@ private:
        virtual void visit(Literal &);
        virtual void visit(ParenthesizedExpression &);
        virtual void visit(VariableReference &);
+       virtual void visit(InterfaceBlockReference &);
        virtual void visit(MemberAccess &);
        virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
@@ -52,6 +56,8 @@ private:
        virtual void visit(Precision &);
        virtual void visit(Layout &);
        virtual void visit(InterfaceLayout &);
+       virtual void visit(BasicTypeDeclaration &);
+       virtual void visit(ImageTypeDeclaration &);
        virtual void visit(StructDeclaration &);
        virtual void visit(VariableDeclaration &);
        virtual void visit(InterfaceBlock &);