// Do not edit this file! // // Automatically generated by Emacs: // // node defs: nodetypes.def // builder : dump-nodes.cc.el // timestamp: Mon Aug 22 04:09:12 2005 void NameNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, ident() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); dumpSuffix( sink, depth ); } void PrimitiveLitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, literal() ); dumpSuffix( sink, depth ); } void StringLitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, text() ); dumpSuffix( sink, depth ); } void BoolTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void CharTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void ByteTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void ShortTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void IntTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void FloatTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void LongTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void DoubleTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void TypeNameNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); name()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void JavaArrayTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); elementType()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CompileUnitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, ident() ); sink << '\n'; indent( sink, depth + 1 ); package()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); imports()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); types()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, environ() ); dumpSuffix( sink, depth ); } void ImportNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); name()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ImportOnDemandNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); name()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ClassDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); superClass()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); interfaces()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); members()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, enclosingType() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, enclosingBlock() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, declaredName() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, hasEnclosingInstance() ); sink << '\n'; indent( sink, depth + 1 ); finalVars()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, allocateContext() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, classNum() ); dumpSuffix( sink, depth ); } void FieldDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); initExpr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void VarDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, isfinal() ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); initExpr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MethodDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); params()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); returnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); declaredReturnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); throws()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); overlaps()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); body()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MethodSignatureNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); params()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); returnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); declaredReturnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); throws()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void OverlapNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void VoidTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void ConstructorDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); params()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); throws()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); constructorCall()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); body()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); initEncloser()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ThisConstructorCallNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, valid() ); dumpSuffix( sink, depth ); } void SuperConstructorCallNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); dumpSuffix( sink, depth ); } void StaticInitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void InstanceInitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void InterfaceDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); interfaces()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); members()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, enclosingType() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, declaredName() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, hasEnclosingInstance() ); dumpSuffix( sink, depth ); } void ArrayInitNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); initializers()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BlockNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmts()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, environ() ); dumpSuffix( sink, depth ); } void GotoNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, destination() ); dumpSuffix( sink, depth ); } void LabeledStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); label()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void IfStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); condition()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); thenPart()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); elsePart()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void SwitchNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); switchBlocks()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CaseNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void SwitchBranchNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); cases()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmts()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void WhileNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); test()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DoNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); test()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ForNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); init()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); test()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); update()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BreakNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); label()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, destination() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, cleanups() ); dumpSuffix( sink, depth ); } void ContinueNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); label()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, destination() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, cleanups() ); dumpSuffix( sink, depth ); } void ReturnNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, cleanups() ); dumpSuffix( sink, depth ); } void ThrowNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void SynchronizedNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CatchNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); param()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TryNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void FinallyNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TryStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); block()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); catches()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); finally()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ExpressionStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DummyNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ParameterNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, isfinal() ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ThisNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, theClass() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); dumpSuffix( sink, depth ); } void ArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void JavaArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TitaniumArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PointArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ObjectNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); name()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ObjectFieldAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); object()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TypeFieldAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ftype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ThisFieldAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, theClass() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void SuperFieldAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, theClass() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MethodCallNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); method()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MethodCallAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); method()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void AllocateNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); region()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, cbody() ); dumpSuffix( sink, depth ); } void AllocateSpaceNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); region()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void AllocateArrayNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); region()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dimExprs()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); initExpr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PostIncrNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PostDecrNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void UnaryPlusNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void UnaryMinusNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PreIncrNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PreDecrNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ComplementNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void NotNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CastNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MultNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DivNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RemNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PlusNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void StringConcatNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); addends()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void StringConcatAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); addends()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MinusNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void LeftShiftLogNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RightShiftLogNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RightShiftArithNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void LTNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void GTNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void LENode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void GENode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void InstanceOfNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void EQNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void NENode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitAndNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitOrNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitXorNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CandNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void CorNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void IfExprNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); condition()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); thenOpnd()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); elseOpnd()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void AssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MultAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DivAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RemAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PlusAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MinusAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void LeftShiftLogAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RightShiftLogAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RightShiftArithAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitAndAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitXorAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BitOrAssignNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PointTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void RectDomainTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DomainTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TitaniumArrayTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); elementType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ForEachPairNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); initExpr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); dtypeopt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void ForEachSetupNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, WRTloop() ); dumpSuffix( sink, depth ); } void StrippedForEachNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void UpdatePointBeforeStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, pointValues() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, rfrs() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, sirs() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, urs() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, WRTloop() ); dumpSuffix( sink, depth ); } void ForEachStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); vars()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, isinline() ); dumpSuffix( sink, depth ); } void ReorderNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, stmtsToDelete() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, declsToDelete() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, remap() ); dumpSuffix( sink, depth ); } void PartitionStmtNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); cases()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PartitionClauseNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); condition()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void BroadcastNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); proc()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PointNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void DomainNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void EmptyArrayNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); dumpSuffix( sink, depth ); } void ExpressionArrayNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); dumpSuffix( sink, depth ); } void TitaniumArrayNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); dumpSuffix( sink, depth ); } void AllocateArrayDimensionNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); dumpSuffix( sink, depth ); } void ArrayNameNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); name()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, flags() ); sink << '\n'; indent( sink, depth + 1 ); arrayspecifiers()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void PragmaNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); stmt()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, requests() ); dumpSuffix( sink, depth ); } void HasNoOverlapNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); opnd1()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void SRArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, WRTloop() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, codeString() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, appearsOnEveryIter() ); dumpSuffix( sink, depth ); } void OSRArrayAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); array()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); index()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, WRTloop() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, codeString() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, offsetString() ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, appearsOnEveryIter() ); dumpSuffix( sink, depth ); } void IBroadcastNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); proc()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void StringConcatAssignPreLoweringNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MethodTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); paramTypes()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); returnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); declaredReturnType()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); throws()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void NullTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void ArrayInitializerTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); dumpSuffix( sink, depth ); } void CodeLiteralNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, codeString() ); dumpSuffix( sink, depth ); } void CodeLiteralExprNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, codeString() ); dumpSuffix( sink, depth ); } void CodeLiteralFieldAccessNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); opnd0()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, codeString() ); dumpSuffix( sink, depth ); } void LazyOptimizeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); body()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MonitorFetchClassNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); dumpSuffix( sink, depth ); } void MonitorFetchInstanceNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void MonitorLockNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, fetcher() ); dumpSuffix( sink, depth ); } void MonitorUnlockNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, fetcher() ); dumpSuffix( sink, depth ); } void CheckNullNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); expr()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void AssertNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); condition()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); value()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TemplateNameNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); qualifier()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ttype()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TemplateInstanceTypeNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, modifiers() ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); args()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, decl() ); dumpSuffix( sink, depth ); } void TemplateDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); basis()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); params()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, environ() ); dumpSuffix( sink, depth ); } void TemplateConstParamNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); dtype()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TemplateTypeParamNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); simpName()->dump( sink, depth + 1 ); dumpSuffix( sink, depth ); } void TemplateInstanceDeclNode::dump( ostream &sink, unsigned depth ) const { dumpPrefix( sink, depth ); sink << '\n'; indent( sink, depth + 1 ); instance()->dump( sink, depth + 1 ); sink << '\n'; indent( sink, depth + 1 ); ::dump( sink, depth + 1, environ() ); dumpSuffix( sink, depth ); }