28 lines
627 B
C
28 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);
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
}
|