public Object visit(ForStmt node) { ListNode list = new ExprList(0); if (node.getInitExpr() != null) list.addElement(node.getInitExpr()); if (node.getPredExpr() != null) list.addElement(node.getPredExpr()); if (node.getUpdateExpr() != null) list.addElement(node.getUpdateExpr()); list.addElement(node.getBodyStmt()); return layoutNary("For", list); }
private DrawingTree layoutNary(String name, ListNode childNodes) { if (childNodes.getSize() == 0) return layoutNullary("Empty" + name); DrawingTree dt = layoutCaption(name); DrawingTree[] childTrees = new DrawingTree[childNodes.getSize()]; int i = 0; for (ASTNode childNode : childNodes) { childTrees[i] = (DrawingTree) childNode.accept(this); i++; } dt.setChildren(childTrees); attachParent(dt, join(dt)); return dt; }