public class jdk.internal.jshell.debug.InternalDebugControl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.jshell.debug.InternalDebugControl
  super_class: java.lang.Object
{
  public static final int DBG_GEN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

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

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

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

  private static java.util.Map<jdk.jshell.JShell, java.lang.Integer> debugMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljdk/jshell/JShell;Ljava/lang/Integer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 77
            aconst_null
            putstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.debug.InternalDebugControl this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            return
        end local 0 // jdk.internal.jshell.debug.InternalDebugControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/jshell/debug/InternalDebugControl;

  public static void setDebugFlags(jdk.jshell.JShell, int);
    descriptor: (Ljdk/jshell/JShell;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.jshell.JShell state
        start local 1 // int flags
         0: .line 87
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            ifnonnull 2
         1: .line 88
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
         2: .line 90
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            aload 0 /* state */
            iload 1 /* flags */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 91
            return
        end local 1 // int flags
        end local 0 // jdk.jshell.JShell state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  state  Ljdk/jshell/JShell;
            0    4     1  flags  I
    MethodParameters:
       Name  Flags
      state  
      flags  

  public static void release(jdk.jshell.JShell);
    descriptor: (Ljdk/jshell/JShell;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jshell.JShell state
         0: .line 99
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            ifnull 2
         1: .line 100
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            aload 0 /* state */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jshell.JShell state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  state  Ljdk/jshell/JShell;
    MethodParameters:
       Name  Flags
      state  

  public static boolean isDebugEnabled(jdk.jshell.JShell, int);
    descriptor: (Ljdk/jshell/JShell;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jshell.JShell state
        start local 1 // int flag
         0: .line 112
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            ifnonnull 2
         1: .line 113
            iconst_0
            ireturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.jshell.debug.InternalDebugControl.debugMap:Ljava/util/Map;
            aload 0 /* state */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* flags */
        start local 2 // java.lang.Integer flags
         3: .line 116
            aload 2 /* flags */
            ifnonnull 5
         4: .line 117
            iconst_0
            ireturn
         5: .line 119
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* flags */
            invokevirtual java.lang.Integer.intValue:()I
            iload 1 /* flag */
            iand
            ifeq 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // java.lang.Integer flags
        end local 1 // int flag
        end local 0 // jdk.jshell.JShell state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  state  Ljdk/jshell/JShell;
            0    7     1   flag  I
            3    7     2  flags  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      state  
      flag   

  public static void debug(jdk.jshell.JShell, java.io.PrintStream, int, java.lang.String, java.lang.Object[]);
    descriptor: (Ljdk/jshell/JShell;Ljava/io/PrintStream;ILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // jdk.jshell.JShell state
        start local 1 // java.io.PrintStream err
        start local 2 // int flags
        start local 3 // java.lang.String format
        start local 4 // java.lang.Object[] args
         0: .line 132
            aload 0 /* state */
            iload 2 /* flags */
            invokestatic jdk.internal.jshell.debug.InternalDebugControl.isDebugEnabled:(Ljdk/jshell/JShell;I)Z
            ifeq 2
         1: .line 133
            aload 1 /* err */
            aload 3 /* format */
            aload 4 /* args */
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         2: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object[] args
        end local 3 // java.lang.String format
        end local 2 // int flags
        end local 1 // java.io.PrintStream err
        end local 0 // jdk.jshell.JShell state
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   state  Ljdk/jshell/JShell;
            0    3     1     err  Ljava/io/PrintStream;
            0    3     2   flags  I
            0    3     3  format  Ljava/lang/String;
            0    3     4    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      state   
      err     
      flags   
      format  
      args    

  public static void debug(jdk.jshell.JShell, java.io.PrintStream, java.lang.Throwable, java.lang.String);
    descriptor: (Ljdk/jshell/JShell;Ljava/io/PrintStream;Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jdk.jshell.JShell state
        start local 1 // java.io.PrintStream err
        start local 2 // java.lang.Throwable ex
        start local 3 // java.lang.String where
         0: .line 146
            aload 0 /* state */
            iconst_m1
            invokestatic jdk.internal.jshell.debug.InternalDebugControl.isDebugEnabled:(Ljdk/jshell/JShell;I)Z
            ifeq 3
         1: .line 147
            aload 1 /* err */
            ldc "Fatal error: %s: %s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* where */
            aastore
            dup
            iconst_1
            aload 2 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         2: .line 148
            aload 2 /* ex */
            aload 1 /* err */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
         3: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String where
        end local 2 // java.lang.Throwable ex
        end local 1 // java.io.PrintStream err
        end local 0 // jdk.jshell.JShell state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  state  Ljdk/jshell/JShell;
            0    4     1    err  Ljava/io/PrintStream;
            0    4     2     ex  Ljava/lang/Throwable;
            0    4     3  where  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      state  
      err    
      ex     
      where  
}
SourceFile: "InternalDebugControl.java"