/* * typetreevisitor.h * * Created on: Jun 16, 2016 * Author: gregor */ #ifndef EXTRACTOR_TYPETREEVISITOR_H_ #define EXTRACTOR_TYPETREEVISITOR_H_ #include #include "basicnodes.h" class TypeTreeVisitor { public: virtual ~TypeTreeVisitor() {} virtual void handleNamespace(gltb::RefPtr namespaceNode) = 0; virtual void handleEnum(gltb::RefPtr enumNode) = 0; virtual void handleVariable(gltb::RefPtr variableNode) = 0; virtual void handleFunction(gltb::RefPtr functionNode) = 0; virtual void handleStruct(gltb::RefPtr structNode) = 0; virtual void handleClass(gltb::RefPtr classNode) = 0; virtual void handleBaseClassSpecifier(gltb::RefPtr baseClassSpecifierNode) = 0; virtual void handleField(gltb::RefPtr fieldNode) = 0; virtual void handleMethod(gltb::RefPtr methodNode) = 0; virtual void handleTypeRef(gltb::RefPtr typeRefNode) = 0; void visitNode(gltb::RefPtr node); }; #endif /* EXTRACTOR_TYPETREEVISITOR_H_ */