pgLab/pglablib/sqlast/NodeVisitor.h
2022-04-07 19:35:29 +02:00

27 lines
627 B
C++

#pragma once
namespace sqlast {
class SelectItem;
class SelectList;
class SelectStatement;
class StatementList;
class StringLiteral;
class NodeVisitor
{
public:
virtual ~NodeVisitor() = default;
virtual void Visit(SelectItem &selectItem) = 0;
virtual void Visit(SelectList &selectList) = 0;
virtual void Visit(SelectStatement &selectStatement) = 0;
virtual void Visit(StatementList &statementList) = 0;
virtual void Visit(StringLiteral &stringLiteral) = 0;
protected:
void VisitSelectListItems(SelectList &selectList);
};
}