nw::script::BaseVisitor

struct BaseVisitor

Subclassed by nw::script::AstConstEvaluator, nw::script::AstHinter, nw::script::AstLocator, nw::script::AstPrinter, nw::script::AstResolver

Public Functions

virtual ~BaseVisitor() = default
virtual void visit(Ast *script) = 0
virtual void visit(FunctionDecl *decl) = 0
virtual void visit(FunctionDefinition *decl) = 0
virtual void visit(StructDecl *decl) = 0
virtual void visit(VarDecl *decl) = 0
virtual void visit(AssignExpression *expr) = 0
virtual void visit(BinaryExpression *expr) = 0
virtual void visit(CallExpression *expr) = 0
virtual void visit(ComparisonExpression *expr) = 0
virtual void visit(ConditionalExpression *expr) = 0
virtual void visit(DotExpression *expr) = 0
virtual void visit(EmptyExpression *expr) = 0
virtual void visit(GroupingExpression *expr) = 0
virtual void visit(LiteralExpression *expr) = 0
virtual void visit(LiteralVectorExpression *expr) = 0
virtual void visit(LogicalExpression *expr) = 0
virtual void visit(PostfixExpression *expr) = 0
virtual void visit(UnaryExpression *expr) = 0
virtual void visit(VariableExpression *expr) = 0
virtual void visit(BlockStatement *stmt) = 0
virtual void visit(DeclList *stmt) = 0
virtual void visit(DoStatement *stmt) = 0
virtual void visit(EmptyStatement *stmt) = 0
virtual void visit(ExprStatement *stmt) = 0
virtual void visit(IfStatement *stmt) = 0
virtual void visit(ForStatement *stmt) = 0
virtual void visit(JumpStatement *stmt) = 0
virtual void visit(LabelStatement *stmt) = 0
virtual void visit(SwitchStatement *stmt) = 0
virtual void visit(WhileStatement *stmt) = 0