public class ch.qos.logback.core.util.InterruptUtil extends ch.qos.logback.core.spi.ContextAwareBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.core.util.InterruptUtil
  super_class: ch.qos.logback.core.spi.ContextAwareBase
{
  final boolean previouslyInterrupted;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  public void <init>(ch.qos.logback.core.Context);
    descriptor: (Lch/qos/logback/core/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.util.InterruptUtil this
        start local 1 // ch.qos.logback.core.Context context
         0: .line 33
            aload 0 /* this */
            invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
         1: .line 34
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual ch.qos.logback.core.util.InterruptUtil.setContext:(Lch/qos/logback/core/Context;)V
         2: .line 35
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            putfield ch.qos.logback.core.util.InterruptUtil.previouslyInterrupted:Z
         3: .line 36
            return
        end local 1 // ch.qos.logback.core.Context context
        end local 0 // ch.qos.logback.core.util.InterruptUtil this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lch/qos/logback/core/util/InterruptUtil;
            0    4     1  context  Lch/qos/logback/core/Context;
    MethodParameters:
         Name  Flags
      context  

  public void maskInterruptFlag();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.util.InterruptUtil this
         0: .line 39
            aload 0 /* this */
            getfield ch.qos.logback.core.util.InterruptUtil.previouslyInterrupted:Z
            ifeq 2
         1: .line 40
            invokestatic java.lang.Thread.interrupted:()Z
            pop
         2: .line 42
      StackMap locals:
      StackMap stack:
            return
        end local 0 // ch.qos.logback.core.util.InterruptUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lch/qos/logback/core/util/InterruptUtil;

  public void unmaskInterruptFlag();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.util.InterruptUtil this
         0: .line 45
            aload 0 /* this */
            getfield ch.qos.logback.core.util.InterruptUtil.previouslyInterrupted:Z
            ifeq 5
         1: .line 47
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         2: .line 48
            goto 5
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         3: astore 1 /* se */
        start local 1 // java.lang.SecurityException se
         4: .line 49
            aload 0 /* this */
            ldc "Failed to intrreupt current thread"
            aload 1 /* se */
            invokevirtual ch.qos.logback.core.util.InterruptUtil.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.SecurityException se
         5: .line 52
      StackMap locals:
      StackMap stack:
            return
        end local 0 // ch.qos.logback.core.util.InterruptUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lch/qos/logback/core/util/InterruptUtil;
            4    5     1    se  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
}
SourceFile: "InterruptUtil.java"