public class org.graalvm.compiler.printer.BciBlockMappingDumpHandler implements org.graalvm.compiler.debug.DebugDumpHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  super_class: java.lang.Object
{
  private static final org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingElements ELEMENTS;
    descriptor: Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingElements;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingTypes TYPES;
    descriptor: Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingTypes;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingStructure structure;
    descriptor: Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingStructure;
    flags: (0x0002) ACC_PRIVATE

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

  private static final org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockEdges NO_EDGES;
    descriptor: Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockEdges;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 55
            new org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingElements
            dup
            invokespecial org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingElements.<init>:()V
            putstatic org.graalvm.compiler.printer.BciBlockMappingDumpHandler.ELEMENTS:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingElements;
         1: .line 56
            new org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingTypes
            dup
            invokespecial org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingTypes.<init>:()V
            putstatic org.graalvm.compiler.printer.BciBlockMappingDumpHandler.TYPES:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingTypes;
         2: .line 104
            new org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockEdges
            dup
            aconst_null
            invokespecial org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockEdges.<init>:(Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;)V
            putstatic org.graalvm.compiler.printer.BciBlockMappingDumpHandler.NO_EDGES:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockEdges;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.printer.BciBlockMappingDumpHandler this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.printer.BciBlockMappingDumpHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler;

  public void dump(org.graalvm.compiler.debug.DebugContext, java.lang.Object, java.lang.String, java.lang.Object[]);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.printer.BciBlockMappingDumpHandler this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // java.lang.Object object
        start local 3 // java.lang.String format
        start local 4 // java.lang.Object[] arguments
         0: .line 62
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 5 /* options */
        start local 5 // org.graalvm.compiler.options.OptionValues options
         1: .line 63
            aload 2 /* object */
            instanceof org.graalvm.compiler.java.BciBlockMapping
            ifeq 14
            getstatic org.graalvm.compiler.debug.DebugOptions.PrintGraph:Lorg/graalvm/compiler/options/EnumOptionKey;
            aload 5 /* options */
            invokevirtual org.graalvm.compiler.options.EnumOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            getstatic org.graalvm.compiler.debug.DebugOptions$PrintGraphTarget.Disable:Lorg/graalvm/compiler/debug/DebugOptions$PrintGraphTarget;
            if_acmpeq 14
         2: .line 65
            aload 0 /* this */
            getfield org.graalvm.compiler.printer.BciBlockMappingDumpHandler.structure:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingStructure;
            ifnonnull 4
         3: .line 66
            aload 0 /* this */
            new org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingStructure
            dup
            invokespecial org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingStructure.<init>:()V
            putfield org.graalvm.compiler.printer.BciBlockMappingDumpHandler.structure:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingStructure;
         4: .line 68
      StackMap locals: org.graalvm.compiler.options.OptionValues
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.printer.BciBlockMappingDumpHandler.nextId:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.printer.BciBlockMappingDumpHandler.nextId:I
            istore 6 /* id */
        start local 6 // int id
         5: .line 69
            aload 0 /* this */
            getfield org.graalvm.compiler.printer.BciBlockMappingDumpHandler.structure:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingStructure;
            invokestatic org.graalvm.graphio.GraphOutput.newBuilder:(Lorg/graalvm/graphio/GraphStructure;)Lorg/graalvm/graphio/GraphOutput$Builder;
            getstatic org.graalvm.compiler.printer.BciBlockMappingDumpHandler.ELEMENTS:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingElements;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.elements:(Lorg/graalvm/graphio/GraphElements;)Lorg/graalvm/graphio/GraphOutput$Builder;
            getstatic org.graalvm.compiler.printer.BciBlockMappingDumpHandler.TYPES:Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler$BlockMappingTypes;
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.types:(Lorg/graalvm/graphio/GraphTypes;)Lorg/graalvm/graphio/GraphOutput$Builder;
            bipush 7
            iconst_0
            invokevirtual org.graalvm.graphio.GraphOutput$Builder.protocolVersion:(II)Lorg/graalvm/graphio/GraphOutput$Builder;
            astore 7 /* builder */
        start local 7 // org.graalvm.graphio.GraphOutput$Builder builder
         6: .line 70
            aload 1 /* debug */
            aload 7 /* builder */
            invokevirtual org.graalvm.compiler.debug.DebugContext.buildOutput:(Lorg/graalvm/graphio/GraphOutput$Builder;)Lorg/graalvm/graphio/GraphOutput;
            astore 8 /* output */
        start local 8 // org.graalvm.graphio.GraphOutput output
         7: .line 71
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* properties */
        start local 9 // java.util.Map properties
         8: .line 72
            aload 9 /* properties */
            ldc "hasJsrBytecodes"
            aload 2 /* object */
            checkcast org.graalvm.compiler.java.BciBlockMapping
            getfield org.graalvm.compiler.java.BciBlockMapping.hasJsrBytecodes:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 74
            aload 8 /* output */
            aload 2 /* object */
            checkcast org.graalvm.compiler.java.BciBlockMapping
            aload 9 /* properties */
            iload 6 /* id */
            aload 3 /* format */
            aload 4 /* arguments */
            invokevirtual org.graalvm.graphio.GraphOutput.print:(Ljava/lang/Object;Ljava/util/Map;ILjava/lang/String;[Ljava/lang/Object;)V
        10: .line 75
            aload 8 /* output */
            invokevirtual org.graalvm.graphio.GraphOutput.close:()V
        end local 9 // java.util.Map properties
        end local 8 // org.graalvm.graphio.GraphOutput output
        end local 7 // org.graalvm.graphio.GraphOutput$Builder builder
        end local 6 // int id
        11: .line 76
            goto 14
      StackMap locals:
      StackMap stack: java.io.IOException
        12: astore 6 /* e */
        start local 6 // java.io.IOException e
        13: .line 77
            new java.lang.RuntimeException
            dup
            ldc "Failed to dump block mapping"
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
        14: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // java.lang.Object[] arguments
        end local 3 // java.lang.String format
        end local 2 // java.lang.Object object
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.printer.BciBlockMappingDumpHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/graalvm/compiler/printer/BciBlockMappingDumpHandler;
            0   15     1       debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   15     2      object  Ljava/lang/Object;
            0   15     3      format  Ljava/lang/String;
            0   15     4   arguments  [Ljava/lang/Object;
            1   15     5     options  Lorg/graalvm/compiler/options/OptionValues;
            5   11     6          id  I
            6   11     7     builder  Lorg/graalvm/graphio/GraphOutput$Builder<Lorg/graalvm/compiler/java/BciBlockMapping;Lorg/graalvm/compiler/java/BciBlockMapping$BciBlock;Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
            7   11     8      output  Lorg/graalvm/graphio/GraphOutput<Lorg/graalvm/compiler/java/BciBlockMapping;Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
            8   11     9  properties  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
           13   14     6           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    11      12  Class java.io.IOException
    MethodParameters:
           Name  Flags
      debug      
      object     
      format     
      arguments  
}
SourceFile: "BciBlockMappingDumpHandler.java"
NestMembers:
  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BciBlockClass  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockEdges  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingElements  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingStructure  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingTypes  org.graalvm.compiler.printer.BciBlockMappingDumpHandler$EdgeType
InnerClasses:
  public final PrintGraphTarget = org.graalvm.compiler.debug.DebugOptions$PrintGraphTarget of org.graalvm.compiler.debug.DebugOptions
  public BciBlock = org.graalvm.compiler.java.BciBlockMapping$BciBlock of org.graalvm.compiler.java.BciBlockMapping
  BciBlockClass = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BciBlockClass of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  BlockEdges = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockEdges of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  BlockMappingElements = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingElements of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  BlockMappingStructure = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingStructure of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  BlockMappingTypes = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$BlockMappingTypes of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  final EdgeType = org.graalvm.compiler.printer.BciBlockMappingDumpHandler$EdgeType of org.graalvm.compiler.printer.BciBlockMappingDumpHandler
  public final Builder = org.graalvm.graphio.GraphOutput$Builder of org.graalvm.graphio.GraphOutput