public class com.oracle.truffle.api.nodes.GraphPrintVisitor implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.nodes.GraphPrintVisitor
  super_class: java.lang.Object
{
  public static final java.lang.String GraphVisualizerAddress;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "127.0.0.1"

  public static final int GraphVisualizerPort;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4444

  private static final java.lang.String DEFAULT_GRAPH_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "truffle tree"

  private java.util.Map<java.lang.Object, com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement> nodeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;>;

  private java.util.List<com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement> edgeList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$EdgeElement;>;

  private java.util.Map<java.lang.Object, com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement> prevNodeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;>;

  private int id;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl xmlstream;
    descriptor: Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream outputStream;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  private int openGroupCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int openGraphCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String currentGraphName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 77
            ldc Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.api.nodes.GraphPrintVisitor.$assertionsDisabled:Z
         3: .line 82
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 262
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor.<init>:(Ljava/io/OutputStream;)V
         1: .line 263
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  public void <init>(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.io.OutputStream outputStream
         0: .line 266
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 267
            aload 0 /* this */
            aload 1 /* outputStream */
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
         2: .line 268
            aload 0 /* this */
            aload 1 /* outputStream */
            invokestatic com.oracle.truffle.api.nodes.GraphPrintVisitor.createImpl:(Ljava/io/OutputStream;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
         3: .line 269
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartDocument:()V
         4: .line 270
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "graphDocument"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         5: .line 271
            return
        end local 1 // java.io.OutputStream outputStream
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    6     1  outputStream  Ljava/io/OutputStream;
    MethodParameters:
              Name  Flags
      outputStream  

  private static com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl createImpl(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.OutputStream outputStream
         0: .line 274
            new com.oracle.truffle.api.nodes.GraphPrintVisitor$XMLImpl
            dup
            aload 0 /* outputStream */
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor$XMLImpl.<init>:(Ljava/io/OutputStream;)V
            areturn
        end local 0 // java.io.OutputStream outputStream
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  outputStream  Ljava/io/OutputStream;
    MethodParameters:
              Name  Flags
      outputStream  

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 278
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ifnonnull 2
         1: .line 279
            new java.lang.IllegalStateException
            dup
            ldc "printer is closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  public com.oracle.truffle.api.nodes.GraphPrintVisitor beginGroup(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.String groupName
         0: .line 285
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.ensureOpen:()V
         1: .line 286
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.maybeEndGraph:()V
         2: .line 287
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            iconst_1
            iadd
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
         3: .line 288
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "group"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         4: .line 289
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "properties"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         5: .line 291
            aload 1 /* groupName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 10
         6: .line 293
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "p"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         7: .line 294
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "name"
            ldc "name"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 295
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            aload 1 /* groupName */
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeCharacters:(Ljava/lang/String;)V
         9: .line 296
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        10: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        11: .line 302
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.prevNodeMap:Ljava/util/Map;
        12: .line 303
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
        13: .line 304
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.edgeList:Ljava/util/List;
        14: .line 306
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String groupName
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   15     1  groupName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      groupName  

  public com.oracle.truffle.api.nodes.GraphPrintVisitor endGroup();
    descriptor: ()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 311
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.ensureOpen:()V
         1: .line 312
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            ifgt 3
         2: .line 313
            new java.lang.IllegalArgumentException
            dup
            ldc "no open group"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.maybeEndGraph:()V
         4: .line 316
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            iconst_1
            isub
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
         5: .line 318
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
         6: .line 320
            aload 0 /* this */
            areturn
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  public com.oracle.truffle.api.nodes.GraphPrintVisitor beginGraph(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.String graphName
         0: .line 325
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.ensureOpen:()V
         1: .line 326
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            ifne 3
         2: .line 327
            aload 0 /* this */
            aload 1 /* graphName */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.beginGroup:(Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         3: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.maybeEndGraph:()V
         4: .line 330
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            iconst_1
            iadd
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
         5: .line 332
            aload 0 /* this */
            aload 1 /* graphName */
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.currentGraphName:Ljava/lang/String;
         6: .line 335
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.prevNodeMap:Ljava/util/Map;
         7: .line 336
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
         8: .line 337
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.edgeList:Ljava/util/List;
         9: .line 339
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String graphName
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   10     1  graphName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      graphName  

  private void maybeEndGraph();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 343
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifle 3
         1: .line 344
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.endGraph:()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         2: .line 345
            getstatic com.oracle.truffle.api.nodes.GraphPrintVisitor.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 347
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  public com.oracle.truffle.api.nodes.GraphPrintVisitor endGraph();
    descriptor: ()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 351
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.ensureOpen:()V
         1: .line 352
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifgt 3
         2: .line 353
            new java.lang.IllegalArgumentException
            dup
            ldc "no open graph"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            iconst_1
            isub
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
         4: .line 357
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "graph"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         5: .line 359
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "properties"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         6: .line 362
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "p"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         7: .line 363
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "name"
            ldc "name"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 364
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.currentGraphName:Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeCharacters:(Ljava/lang/String;)V
         9: .line 365
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        10: .line 367
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        11: .line 369
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "nodes"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
        12: .line 370
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.writeNodes:()V
        13: .line 371
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        14: .line 373
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "edges"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
        15: .line 374
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.writeEdges:()V
        16: .line 375
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        17: .line 377
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        18: .line 379
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.flush:()V
        19: .line 381
            aload 0 /* this */
            areturn
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  private void writeNodes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 385
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 14
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement
            astore 1 /* node */
        start local 1 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement node
         2: .line 386
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "node"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         3: .line 387
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "id"
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getId:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 389
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "properties"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         5: .line 390
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getProperties:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement java.util.Iterator top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* property */
        start local 3 // java.util.Map$Entry property
         7: .line 391
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "p"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         8: .line 392
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "name"
            aload 3 /* property */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 393
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            aload 3 /* property */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic com.oracle.truffle.api.nodes.GraphPrintVisitor.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeCharacters:(Ljava/lang/String;)V
        10: .line 394
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        end local 3 // java.util.Map$Entry property
        11: .line 390
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 396
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        13: .line 398
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        end local 1 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement node
        14: .line 385
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        15: .line 400
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            2   14     1      node  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            7   11     3  property  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;

  private void writeEdges();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 403
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.edgeList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement
            astore 1 /* edge */
        start local 1 // com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement edge
         2: .line 404
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "edge"
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeStartElement:(Ljava/lang/String;)V
         3: .line 406
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "from"
            aload 1 /* edge */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getFrom:()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getId:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 407
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "to"
            aload 1 /* edge */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getTo:()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getId:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 408
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "index"
            aload 1 /* edge */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getIndex:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 409
            aload 1 /* edge */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getLabel:()Ljava/lang/String;
            ifnull 8
         7: .line 410
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ldc "label"
            aload 1 /* edge */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getLabel:()Ljava/lang/String;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 413
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
        end local 1 // com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement edge
         9: .line 403
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 415
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            2    9     1  edge  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$EdgeElement;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 420
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            instanceof java.io.ByteArrayOutputStream
            ifeq 2
         1: .line 421
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            checkcast java.io.ByteArrayOutputStream
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            ldc "UTF-8"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            areturn
         2: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  public void printToFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.io.File f
         0: .line 428
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.close:()V
         1: .line 429
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            instanceof java.io.ByteArrayOutputStream
            ifeq 13
         2: .line 430
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: new java.io.FileOutputStream
            dup
            aload 1 /* f */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 4 /* os */
        start local 4 // java.io.OutputStream os
         4: .line 431
            aload 4 /* os */
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            checkcast java.io.ByteArrayOutputStream
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         5: .line 432
            aload 4 /* os */
            ifnull 13
            aload 4 /* os */
            invokevirtual java.io.OutputStream.close:()V
            goto 13
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor java.io.File java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 4 /* os */
            ifnull 7
            aload 4 /* os */
            invokevirtual java.io.OutputStream.close:()V
        end local 4 // java.io.OutputStream os
      StackMap locals:
      StackMap stack:
         7: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor java.io.File
      StackMap stack: java.io.IOException
        11: astore 2 /* e */
        start local 2 // java.io.IOException e
        12: .line 433
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        13: .line 436
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File f
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   14     1     f  Ljava/io/File;
            4    7     4    os  Ljava/io/OutputStream;
           12   13     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  any
           3     8       8  any
           2    11      11  Class java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  public void printToSysout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 440
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.close:()V
         1: .line 441
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            instanceof java.io.ByteArrayOutputStream
            ifeq 4
         2: .line 442
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            astore 1 /* out */
        start local 1 // java.io.PrintStream out
         3: .line 443
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // java.io.PrintStream out
         4: .line 445
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            3    4     1   out  Ljava/io/PrintStream;

  public void printToNetwork(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // boolean ignoreErrors
         0: .line 449
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.close:()V
         1: .line 450
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            instanceof java.io.ByteArrayOutputStream
            ifeq 20
         2: .line 451
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: new java.net.Socket
            dup
            ldc "127.0.0.1"
            sipush 4444
            invokespecial java.net.Socket.<init>:(Ljava/lang/String;I)V
            astore 4 /* socket */
        start local 4 // java.net.Socket socket
         4: new java.io.BufferedOutputStream
            dup
            aload 4 /* socket */
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            sipush 16384
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            astore 5 /* os */
        start local 5 // java.io.BufferedOutputStream os
         5: .line 452
            aload 5 /* os */
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.outputStream:Ljava/io/OutputStream;
            checkcast java.io.ByteArrayOutputStream
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.io.BufferedOutputStream.write:([B)V
         6: .line 453
            aload 5 /* os */
            ifnull 9
            aload 5 /* os */
            invokevirtual java.io.BufferedOutputStream.close:()V
            goto 9
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor int java.lang.Throwable java.lang.Throwable java.net.Socket java.io.BufferedOutputStream
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 5 /* os */
            ifnull 8
            aload 5 /* os */
            invokevirtual java.io.BufferedOutputStream.close:()V
        end local 5 // java.io.BufferedOutputStream os
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack:
         9: aload 4 /* socket */
            ifnull 20
            aload 4 /* socket */
            invokevirtual java.net.Socket.close:()V
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 4 /* socket */
            ifnull 13
            aload 4 /* socket */
            invokevirtual java.net.Socket.close:()V
        end local 4 // java.net.Socket socket
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor int
      StackMap stack: java.io.IOException
        17: astore 2 /* e */
        start local 2 // java.io.IOException e
        18: .line 454
            iload 1 /* ignoreErrors */
            ifne 20
        19: .line 455
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        20: .line 459
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean ignoreErrors
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   21     1  ignoreErrors  Z
            4   13     4        socket  Ljava/net/Socket;
            5    8     5            os  Ljava/io/BufferedOutputStream;
           18   20     2             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9      10  any
           3    14      14  any
           2    17      17  Class java.io.IOException
    MethodParameters:
              Name  Flags
      ignoreErrors  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 463
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            ifnonnull 3
         1: .line 464
            return
         2: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.endGroup:()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         3: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            ifgt 2
         4: .line 469
            getstatic com.oracle.truffle.api.nodes.GraphPrintVisitor.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifne 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGroupCount:I
            ifeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndElement:()V
         7: .line 472
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.writeEndDocument:()V
         8: .line 473
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.flush:()V
         9: .line 474
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl.close:()V
        10: .line 475
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.xmlstream:Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$Impl;
        11: .line 476
            return
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  private int nextId();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
         0: .line 479
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.id:I
            dup_x1
            iconst_1
            iadd
            putfield com.oracle.truffle.api.nodes.GraphPrintVisitor.id:I
            ireturn
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;

  private int oldOrNextId(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object node
         0: .line 483
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.prevNodeMap:Ljava/util/Map;
            ifnull 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.prevNodeMap:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 484
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.prevNodeMap:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement
            astore 2 /* nodeElem */
        start local 2 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement nodeElem
         2: .line 485
            aload 2 /* nodeElem */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getId:()I
            ireturn
        end local 2 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement nodeElem
         3: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.nextId:()I
            ireturn
        end local 1 // java.lang.Object node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    4     1      node  Ljava/lang/Object;
            2    3     2  nodeElem  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
    MethodParameters:
      Name  Flags
      node  

  final com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement getElementByObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object obj
         0: .line 492
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
            aload 1 /* obj */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    1     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  final void createElementForNode(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object node
         0: .line 496
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 2 /* exists */
        start local 2 // boolean exists
         1: .line 497
            iload 2 /* exists */
            ifne 15
         2: .line 498
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.oldOrNextId:(Ljava/lang/Object;)I
            istore 3 /* nodeId */
        start local 3 // int nodeId
         3: .line 499
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.nodeMap:Ljava/util/Map;
            aload 1 /* node */
            new com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement
            dup
            iload 3 /* nodeId */
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 501
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.className:(Ljava/lang/Class;)Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
         5: .line 502
            aload 0 /* this */
            aload 1 /* node */
            ldc "name"
            aload 4 /* className */
            invokestatic com.oracle.truffle.api.nodes.GraphPrintVisitor.dropNodeSuffix:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 503
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/api/nodes/NodeInfo;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.truffle.api.nodes.NodeInfo
            astore 5 /* nodeInfo */
        start local 5 // com.oracle.truffle.api.nodes.NodeInfo nodeInfo
         7: .line 504
            aload 5 /* nodeInfo */
            ifnull 11
         8: .line 505
            aload 0 /* this */
            aload 1 /* node */
            ldc "cost"
            aload 5 /* nodeInfo */
            invokeinterface com.oracle.truffle.api.nodes.NodeInfo.cost:()Lcom/oracle/truffle/api/nodes/NodeCost;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 506
            aload 5 /* nodeInfo */
            invokeinterface com.oracle.truffle.api.nodes.NodeInfo.shortName:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 11
        10: .line 507
            aload 0 /* this */
            aload 1 /* node */
            ldc "shortName"
            aload 5 /* nodeInfo */
            invokeinterface com.oracle.truffle.api.nodes.NodeInfo.shortName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 510
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor java.lang.Object int int java.lang.String com.oracle.truffle.api.nodes.NodeInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            ldc "class"
            aload 4 /* className */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 511
            aload 1 /* node */
            instanceof com.oracle.truffle.api.nodes.Node
            ifeq 15
        13: .line 512
            aload 0 /* this */
            aload 1 /* node */
            checkcast com.oracle.truffle.api.nodes.Node
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.readNodeProperties:(Lcom/oracle/truffle/api/nodes/Node;)V
        14: .line 513
            aload 0 /* this */
            aload 1 /* node */
            checkcast com.oracle.truffle.api.nodes.Node
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.copyDebugProperties:(Lcom/oracle/truffle/api/nodes/Node;)V
        end local 5 // com.oracle.truffle.api.nodes.NodeInfo nodeInfo
        end local 4 // java.lang.String className
        end local 3 // int nodeId
        15: .line 516
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean exists
        end local 1 // java.lang.Object node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   16     1       node  Ljava/lang/Object;
            1   16     2     exists  Z
            3   15     3     nodeId  I
            5   15     4  className  Ljava/lang/String;
            7   15     5   nodeInfo  Lcom/oracle/truffle/api/nodes/NodeInfo;
    MethodParameters:
      Name  Flags
      node  

  private static java.lang.String dropNodeSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 519
            aload 0 /* className */
            ldc "Node$"
            ldc ""
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  final void setNodeProperty(java.lang.Object, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object node
        start local 2 // java.lang.String propertyName
        start local 3 // java.lang.Object value
         0: .line 523
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.getElementByObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            astore 4 /* nodeElem */
        start local 4 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement nodeElem
         1: .line 524
            aload 4 /* nodeElem */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getProperties:()Ljava/util/Map;
            aload 2 /* propertyName */
            aload 3 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 525
            return
        end local 4 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement nodeElem
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.Object node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    3     1          node  Ljava/lang/Object;
            0    3     2  propertyName  Ljava/lang/String;
            0    3     3         value  Ljava/lang/Object;
            1    3     4      nodeElem  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
    MethodParameters:
              Name  Flags
      node          
      propertyName  
      value         

  private void copyDebugProperties(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // com.oracle.truffle.api.nodes.Node node
         0: .line 528
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.Node.getDebugProperties:()Ljava/util/Map;
            astore 2 /* debugProperties */
        start local 2 // java.util.Map debugProperties
         1: .line 529
            aload 2 /* debugProperties */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor com.oracle.truffle.api.nodes.Node java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* property */
        start local 3 // java.util.Map$Entry property
         3: .line 530
            aload 0 /* this */
            aload 1 /* node */
            aload 3 /* property */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* property */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry property
         4: .line 529
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 532
            return
        end local 2 // java.util.Map debugProperties
        end local 1 // com.oracle.truffle.api.nodes.Node node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    6     1             node  Lcom/oracle/truffle/api/nodes/Node;
            1    6     2  debugProperties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    4     3         property  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      node  

  private void readNodeProperties(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // com.oracle.truffle.api.nodes.Node node
         0: .line 535
            aload 1 /* node */
            invokestatic com.oracle.truffle.api.nodes.NodeClass.get:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/NodeClass;
            astore 2 /* nodeClass */
        start local 2 // com.oracle.truffle.api.nodes.NodeClass nodeClass
         1: .line 536
            aload 2 /* nodeClass */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getNodeFieldArray:()[Ljava/lang/Object;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.NodeClass top int int java.lang.Object[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* field */
        start local 3 // java.lang.Object field
         3: .line 537
            aload 2 /* nodeClass */
            aload 3 /* field */
            invokestatic com.oracle.truffle.api.nodes.GraphPrintVisitor.isDataField:(Lcom/oracle/truffle/api/nodes/NodeClass;Ljava/lang/Object;)Z
            ifeq 8
         4: .line 538
            aload 2 /* nodeClass */
            aload 3 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldName:(Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.String key
         5: .line 539
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.getElementByObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement.getProperties:()Ljava/util/Map;
            aload 7 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 8
         6: .line 540
            aload 2 /* nodeClass */
            aload 3 /* field */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldValue:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 8 /* value */
        start local 8 // java.lang.Object value
         7: .line 541
            aload 0 /* this */
            aload 1 /* node */
            aload 7 /* key */
            aload 8 /* value */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.setNodeProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        end local 8 // java.lang.Object value
        end local 7 // java.lang.String key
        end local 3 // java.lang.Object field
         8: .line 536
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 2
        10: .line 545
            return
        end local 2 // com.oracle.truffle.api.nodes.NodeClass nodeClass
        end local 1 // com.oracle.truffle.api.nodes.Node node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   11     1       node  Lcom/oracle/truffle/api/nodes/Node;
            1   11     2  nodeClass  Lcom/oracle/truffle/api/nodes/NodeClass;
            3    8     3      field  Ljava/lang/Object;
            5    8     7        key  Ljava/lang/String;
            7    8     8      value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isDataField(com.oracle.truffle.api.nodes.NodeClass, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/nodes/NodeClass;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.NodeClass nodeClass
        start local 1 // java.lang.Object field
         0: .line 548
            aload 0 /* nodeClass */
            aload 1 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.isChildField:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* nodeClass */
            aload 1 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.isChildrenField:(Ljava/lang/Object;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object field
        end local 0 // com.oracle.truffle.api.nodes.NodeClass nodeClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  nodeClass  Lcom/oracle/truffle/api/nodes/NodeClass;
            0    2     1      field  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      nodeClass  
      field      

  final void connectNodes(java.lang.Object, java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object a
        start local 2 // java.lang.Object b
        start local 3 // java.lang.String label
         0: .line 552
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.getElementByObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            astore 4 /* fromNode */
        start local 4 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement fromNode
         1: .line 553
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.getElementByObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            astore 5 /* toNode */
        start local 5 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement toNode
         2: .line 554
            aload 4 /* fromNode */
            ifnull 3
            aload 5 /* toNode */
            ifnonnull 4
         3: .line 555
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement
      StackMap stack:
            return
         4: .line 559
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         5: .line 560
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.edgeList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 9
      StackMap locals: com.oracle.truffle.api.nodes.GraphPrintVisitor java.lang.Object java.lang.Object java.lang.String com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement int top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement
            astore 7 /* e */
        start local 7 // com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement e
         7: .line 561
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.getTo:()Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            aload 5 /* toNode */
            if_acmpne 9
         8: .line 562
            iinc 6 /* count */ 1
        end local 7 // com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement e
         9: .line 560
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 566
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.edgeList:Ljava/util/List;
            new com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement
            dup
            aload 4 /* fromNode */
            aload 5 /* toNode */
            iload 6 /* count */
            aload 3 /* label */
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement.<init>:(Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;ILjava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 567
            return
        end local 6 // int count
        end local 5 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement toNode
        end local 4 // com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement fromNode
        end local 3 // java.lang.String label
        end local 2 // java.lang.Object b
        end local 1 // java.lang.Object a
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   12     1         a  Ljava/lang/Object;
            0   12     2         b  Ljava/lang/Object;
            0   12     3     label  Ljava/lang/String;
            1   12     4  fromNode  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            2   12     5    toNode  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            5   12     6     count  I
            7    9     7         e  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$EdgeElement;
    MethodParameters:
       Name  Flags
      a      
      b      
      label  

  public com.oracle.truffle.api.nodes.GraphPrintVisitor visit(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object node
         0: .line 571
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifne 2
         1: .line 572
            aload 0 /* this */
            ldc "truffle tree"
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.beginGraph:(Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         2: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.getElementByObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NodeElement;
            ifnull 4
         3: .line 577
            aload 0 /* this */
            areturn
         4: .line 581
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.TruffleOptions.AOT:Z
            ifne 7
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$CustomGraphPrintHandler;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 7
         5: .line 582
            aload 0 /* this */
            aload 1 /* node */
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$CustomGraphPrintHandler;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$CustomGraphPrintHandler
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$CustomGraphPrintHandler.handler:()Ljava/lang/Class;
            invokestatic com.oracle.truffle.api.nodes.GraphPrintVisitor.createGraphPrintHandlerFromClass:(Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.visit:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         6: .line 583
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$NullGraphPrintHandler;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnonnull 9
         8: .line 586
            aload 0 /* this */
            aload 1 /* node */
            new com.oracle.truffle.api.nodes.GraphPrintVisitor$DefaultGraphPrintHandler
            dup
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor$DefaultGraphPrintHandler.<init>:()V
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.visit:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         9: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0   10     1  node  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  public com.oracle.truffle.api.nodes.GraphPrintVisitor visit(java.lang.Object, com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
        start local 1 // java.lang.Object node
        start local 2 // com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler handler
         0: .line 594
            aload 0 /* this */
            getfield com.oracle.truffle.api.nodes.GraphPrintVisitor.openGraphCount:I
            ifne 2
         1: .line 595
            aload 0 /* this */
            ldc "truffle tree"
            invokevirtual com.oracle.truffle.api.nodes.GraphPrintVisitor.beginGraph:(Ljava/lang/String;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            pop
         2: .line 598
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            aload 1 /* node */
            new com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintAdapter
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintAdapter.<init>:(Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;)V
            invokeinterface com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler.visit:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintAdapter;)V
         3: .line 600
            aload 0 /* this */
            areturn
        end local 2 // com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler handler
        end local 1 // java.lang.Object node
        end local 0 // com.oracle.truffle.api.nodes.GraphPrintVisitor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor;
            0    4     1     node  Ljava/lang/Object;
            0    4     2  handler  Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;
    MethodParameters:
         Name  Flags
      node     
      handler  

  private static com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler createGraphPrintHandlerFromClass(java.lang.Class<? extends com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler>);
    descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class customHandlerClass
         0: .line 605
            aload 0 /* customHandlerClass */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler
         1: areturn
         2: .line 606
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 607
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.Class customHandlerClass
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0  customHandlerClass  Ljava/lang/Class<+Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;>;
            3    4     1                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;>;)Lcom/oracle/truffle/api/nodes/GraphPrintVisitor$GraphPrintHandler;
    MethodParameters:
                    Name  Flags
      customHandlerClass  

  private static java.util.LinkedHashMap<java.lang.String, com.oracle.truffle.api.nodes.Node> findNamedNodeChildren(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/LinkedHashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.Node node
         0: .line 612
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* nodes */
        start local 1 // java.util.LinkedHashMap nodes
         1: .line 613
            aload 0 /* node */
            invokestatic com.oracle.truffle.api.nodes.NodeClass.get:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/NodeClass;
            astore 2 /* nodeClass */
        start local 2 // com.oracle.truffle.api.nodes.NodeClass nodeClass
         2: .line 615
            aload 2 /* nodeClass */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getNodeFieldArray:()[Ljava/lang/Object;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 20
      StackMap locals: com.oracle.truffle.api.nodes.Node java.util.LinkedHashMap com.oracle.truffle.api.nodes.NodeClass top int int java.lang.Object[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* field */
        start local 3 // java.lang.Object field
         4: .line 616
            aload 2 /* nodeClass */
            aload 3 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.isChildField:(Ljava/lang/Object;)Z
            ifeq 9
         5: .line 617
            aload 2 /* nodeClass */
            aload 3 /* field */
            aload 0 /* node */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
         6: .line 618
            aload 7 /* value */
            ifnull 19
         7: .line 619
            aload 1 /* nodes */
            aload 2 /* nodeClass */
            aload 3 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldName:(Ljava/lang/Object;)Ljava/lang/String;
            aload 7 /* value */
            checkcast com.oracle.truffle.api.nodes.Node
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Object value
         8: .line 621
            goto 19
      StackMap locals: com.oracle.truffle.api.nodes.Node java.util.LinkedHashMap com.oracle.truffle.api.nodes.NodeClass java.lang.Object int int java.lang.Object[]
      StackMap stack:
         9: aload 2 /* nodeClass */
            aload 3 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.isChildrenField:(Ljava/lang/Object;)Z
            ifeq 19
        10: .line 622
            aload 2 /* nodeClass */
            aload 3 /* field */
            aload 0 /* node */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        11: .line 623
            aload 7 /* value */
            ifnull 19
        12: .line 624
            aload 7 /* value */
            checkcast java.lang.Object[]
            astore 8 /* children */
        start local 8 // java.lang.Object[] children
        13: .line 625
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        14: goto 18
        15: .line 626
      StackMap locals: java.lang.Object java.lang.Object[] int
      StackMap stack:
            aload 8 /* children */
            iload 9 /* i */
            aaload
            ifnull 17
        16: .line 627
            aload 1 /* nodes */
            new java.lang.StringBuilder
            dup
            aload 2 /* nodeClass */
            aload 3 /* field */
            invokevirtual com.oracle.truffle.api.nodes.NodeClass.getFieldName:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* children */
            iload 9 /* i */
            aaload
            checkcast com.oracle.truffle.api.nodes.Node
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 625
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            aload 8 /* children */
            arraylength
            if_icmplt 15
        end local 9 // int i
        end local 8 // java.lang.Object[] children
        end local 7 // java.lang.Object value
        end local 3 // java.lang.Object field
        19: .line 615
      StackMap locals: com.oracle.truffle.api.nodes.Node java.util.LinkedHashMap com.oracle.truffle.api.nodes.NodeClass top int int java.lang.Object[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        20: iload 4
            iload 5
            if_icmplt 3
        21: .line 634
            aload 1 /* nodes */
            areturn
        end local 2 // com.oracle.truffle.api.nodes.NodeClass nodeClass
        end local 1 // java.util.LinkedHashMap nodes
        end local 0 // com.oracle.truffle.api.nodes.Node node
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       node  Lcom/oracle/truffle/api/nodes/Node;
            1   22     1      nodes  Ljava/util/LinkedHashMap<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;>;
            2   22     2  nodeClass  Lcom/oracle/truffle/api/nodes/NodeClass;
            4   19     3      field  Ljava/lang/Object;
            6    8     7      value  Ljava/lang/Object;
           11   19     7      value  Ljava/lang/Object;
           13   19     8   children  [Ljava/lang/Object;
           14   19     9          i  I
    Signature: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/LinkedHashMap<Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;>;
    MethodParameters:
      Name  Flags
      node  

  private static java.lang.String safeToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 639
            aload 0 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
         1: areturn
         2: .line 640
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         3: .line 641
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* value */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "GraphPrintVisitor.java"
NestMembers:
  com.oracle.truffle.api.nodes.GraphPrintVisitor$CustomGraphPrintHandler  com.oracle.truffle.api.nodes.GraphPrintVisitor$DefaultGraphPrintHandler  com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement  com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintAdapter  com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler  com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl  com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement  com.oracle.truffle.api.nodes.GraphPrintVisitor$NullGraphPrintHandler  com.oracle.truffle.api.nodes.GraphPrintVisitor$XMLImpl
InnerClasses:
  public abstract CustomGraphPrintHandler = com.oracle.truffle.api.nodes.GraphPrintVisitor$CustomGraphPrintHandler of com.oracle.truffle.api.nodes.GraphPrintVisitor
  private final DefaultGraphPrintHandler = com.oracle.truffle.api.nodes.GraphPrintVisitor$DefaultGraphPrintHandler of com.oracle.truffle.api.nodes.GraphPrintVisitor
  private EdgeElement = com.oracle.truffle.api.nodes.GraphPrintVisitor$EdgeElement of com.oracle.truffle.api.nodes.GraphPrintVisitor
  public GraphPrintAdapter = com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintAdapter of com.oracle.truffle.api.nodes.GraphPrintVisitor
  public abstract GraphPrintHandler = com.oracle.truffle.api.nodes.GraphPrintVisitor$GraphPrintHandler of com.oracle.truffle.api.nodes.GraphPrintVisitor
  private abstract Impl = com.oracle.truffle.api.nodes.GraphPrintVisitor$Impl of com.oracle.truffle.api.nodes.GraphPrintVisitor
  private NodeElement = com.oracle.truffle.api.nodes.GraphPrintVisitor$NodeElement of com.oracle.truffle.api.nodes.GraphPrintVisitor
  public abstract NullGraphPrintHandler = com.oracle.truffle.api.nodes.GraphPrintVisitor$NullGraphPrintHandler of com.oracle.truffle.api.nodes.GraphPrintVisitor
  private XMLImpl = com.oracle.truffle.api.nodes.GraphPrintVisitor$XMLImpl of com.oracle.truffle.api.nodes.GraphPrintVisitor
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()