public void visit(Object node, com.oracle.truffle.api.nodes.GraphPrintVisitor.GraphPrintAdapter printer) { if (!printer.visited(node)) { ShapeImpl s = (ShapeImpl) node; printer.createElementForNode(s); String name; if (isRootShape(s)) { name = ("ROOT(" + s.getObjectType() + ")"); } else { name = s.getTransitionFromParent().toString(); if (!s.isValid()) { name = INVALID + name; } } printer.setNodeProperty(s, "name", name); printer.setNodeProperty(s, "valid", s.isValid()); printer.setNodeProperty(s, "leaf", s.isLeaf()); printer.setNodeProperty(s, "identityHashCode", Integer.toHexString(System.identityHashCode(s))); printer.setNodeProperty(s, "objectType", s.getObjectType()); printer.setNodeProperty(s, "shared", s.isShared()); for (Entry<? extends Transition, ? extends ShapeImpl> entry : transitions.entrySet()) { ShapeImpl dst = entry.getValue(); IGVShapeVisitor.this.visitShape((dst)); assert printer.visited(dst); printer.connectNodes(s, dst, entry.getKey().toString()); } } } });
public void visit(Object node, com.oracle.truffle.api.nodes.GraphPrintVisitor.GraphPrintAdapter printer) { if (!printer.visited(node)) { ShapeImpl s = (ShapeImpl) node; printer.createElementForNode(s); String name; if (isRootShape(s)) { name = ("ROOT(" + s.getObjectType() + ")"); } else { name = s.getTransitionFromParent().toString(); if (!s.isValid()) { name = INVALID + name; } } printer.setNodeProperty(s, "name", name); printer.setNodeProperty(s, "valid", s.isValid()); printer.setNodeProperty(s, "leaf", s.isLeaf()); printer.setNodeProperty(s, "identityHashCode", Integer.toHexString(System.identityHashCode(s))); printer.setNodeProperty(s, "objectType", s.getObjectType()); printer.setNodeProperty(s, "shared", s.isShared()); for (Entry<? extends Transition, ? extends ShapeImpl> entry : transitions.entrySet()) { ShapeImpl dst = entry.getValue(); IGVShapeVisitor.this.visitShape((dst)); assert printer.visited(dst); printer.connectNodes(s, dst, entry.getKey().toString()); } } } });