writes a representation of the Node to out, including all children. special invokes "special" behavior for certain nodes MethodDeclaration: print static keyword Block & If: skip indentation Expression: don't print surrounding parens in addition Block doesn't print newline after trailing } if ~indent is passed instead of indent
Implemented in ast::be::Invalid, ast::be::OrOr, ast::be::AndAnd, ast::be::Mod, ast::be::GreaterThan, ast::be::GreaterThanEq, ast::be::Eq, ast::pe::MethodInvocation, ast::be::EqEq, ast::be::LessThan, ast::pe::NewObjectExpression, ast::be::LessThanEq, ast::pe::NewArrayExpression, ast::be::Slash, ast::pe::Integer, ast::be::Minus, ast::pe::Object, ast::ue::Neg, ast::be::Plus, ast::ue::Not, ast::be::Mult, ast::pe::Ident, ast::be::NotEq, ast::Type, ast::pe::Bool, ast::MethodDeclaration, ast::ue::UnaryExpression, ast::stmt::LVDStatement, ast::ClassDeclaration, ast::stmt::Block, ast::Ident, ast::stmt::IfStatement, ast::stmt::ReturnStatement, ast::be::BinaryExpression, ast::po::MethodInvocation, ast::po::PostfixExpression, ast::Program, ast::stmt::WhileStatement, ast::po::FieldAccess, ast::FieldDeclaration, ast::Arguments, ast::po::ArrayAccess, ast::stmt::ExpressionStatement, ast::TypeIdent, and ast::MainMethodDeclaration.