nw::script::AstPrinter

struct AstPrinter : public nw::script::BaseVisitor

Public Functions

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

Public Members

std::stringstream ss
int depth = 0