1/* 2 * Copyright 2008, Haiku. 3 * Distributed under the terms of the MIT license. 4 * 5 * Authors: 6 * Michael Pfeiffer <laplace@users.sourceforge.net> 7 */ 8 9#ifndef _STATEMENT_LIST_VISITOR_H 10#define _STATEMENT_LIST_VISITOR_H 11 12#include "StatementWrapper.h" 13#include "StatementList.h" 14 15class StatementListVisitor { 16private: 17 int32 fLevel; 18public: 19 StatementListVisitor() : fLevel(0) {} 20 virtual ~StatementListVisitor() {} 21 22 virtual void Visit(StatementList* list); 23 24 // the nesting level 25 int32 GetLevel() const { return fLevel; } 26 27 virtual void BeginGroup(GroupStatement* group) {}; 28 virtual void DoDefault(Statement* statement) {}; 29 virtual void DoQuery(Statement* statement) {}; 30 virtual void DoValue(Statement* statement) {}; 31 virtual void DoParam(Statement* statement) {}; 32 virtual void EndGroup(GroupStatement* group) {}; 33}; 34 35 36#endif 37