public class ch.qos.logback.core.util.StatusListenerConfigHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.core.util.StatusListenerConfigHelper
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.util.StatusListenerConfigHelper this
         0: .line 23
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // ch.qos.logback.core.util.StatusListenerConfigHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/util/StatusListenerConfigHelper;

  public static void installIfAsked(ch.qos.logback.core.Context);
    descriptor: (Lch/qos/logback/core/Context;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.Context context
         0: .line 26
            ldc "logback.statusListenerClass"
            invokestatic ch.qos.logback.core.util.OptionHelper.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* slClass */
        start local 1 // java.lang.String slClass
         1: .line 27
            aload 1 /* slClass */
            invokestatic ch.qos.logback.core.util.OptionHelper.isEmpty:(Ljava/lang/String;)Z
            ifne 3
         2: .line 28
            aload 0 /* context */
            aload 1 /* slClass */
            invokestatic ch.qos.logback.core.util.StatusListenerConfigHelper.addStatusListener:(Lch/qos/logback/core/Context;Ljava/lang/String;)V
         3: .line 30
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String slClass
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lch/qos/logback/core/Context;
            1    4     1  slClass  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  

  private static void addStatusListener(ch.qos.logback.core.Context, java.lang.String);
    descriptor: (Lch/qos/logback/core/Context;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.Context context
        start local 1 // java.lang.String listenerClassName
         0: .line 33
            aconst_null
            astore 2 /* listener */
        start local 2 // ch.qos.logback.core.status.StatusListener listener
         1: .line 34
            ldc "SYSOUT"
            aload 1 /* listenerClassName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 35
            new ch.qos.logback.core.status.OnConsoleStatusListener
            dup
            invokespecial ch.qos.logback.core.status.OnConsoleStatusListener.<init>:()V
            astore 2 /* listener */
         3: .line 36
            goto 5
         4: .line 37
      StackMap locals: ch.qos.logback.core.status.StatusListener
      StackMap stack:
            aload 0 /* context */
            aload 1 /* listenerClassName */
            invokestatic ch.qos.logback.core.util.StatusListenerConfigHelper.createListenerPerClassName:(Lch/qos/logback/core/Context;Ljava/lang/String;)Lch/qos/logback/core/status/StatusListener;
            astore 2 /* listener */
         5: .line 39
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 2 /* listener */
            invokestatic ch.qos.logback.core.util.StatusListenerConfigHelper.initAndAddListener:(Lch/qos/logback/core/Context;Lch/qos/logback/core/status/StatusListener;)V
         6: .line 40
            return
        end local 2 // ch.qos.logback.core.status.StatusListener listener
        end local 1 // java.lang.String listenerClassName
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0            context  Lch/qos/logback/core/Context;
            0    7     1  listenerClassName  Ljava/lang/String;
            1    7     2           listener  Lch/qos/logback/core/status/StatusListener;
    MethodParameters:
                   Name  Flags
      context            
      listenerClassName  

  private static void initAndAddListener(ch.qos.logback.core.Context, ch.qos.logback.core.status.StatusListener);
    descriptor: (Lch/qos/logback/core/Context;Lch/qos/logback/core/status/StatusListener;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.Context context
        start local 1 // ch.qos.logback.core.status.StatusListener listener
         0: .line 43
            aload 1 /* listener */
            ifnull 6
         1: .line 44
            aload 1 /* listener */
            instanceof ch.qos.logback.core.spi.ContextAware
            ifeq 3
         2: .line 45
            aload 1 /* listener */
            checkcast ch.qos.logback.core.spi.ContextAware
            aload 0 /* context */
            invokeinterface ch.qos.logback.core.spi.ContextAware.setContext:(Lch/qos/logback/core/Context;)V
         3: .line 47
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokeinterface ch.qos.logback.core.Context.getStatusManager:()Lch/qos/logback/core/status/StatusManager;
            aload 1 /* listener */
            invokeinterface ch.qos.logback.core.status.StatusManager.add:(Lch/qos/logback/core/status/StatusListener;)Z
            istore 2 /* effectivelyAdded */
        start local 2 // boolean effectivelyAdded
         4: .line 48
            iload 2 /* effectivelyAdded */
            ifeq 6
            aload 1 /* listener */
            instanceof ch.qos.logback.core.spi.LifeCycle
            ifeq 6
         5: .line 49
            aload 1 /* listener */
            checkcast ch.qos.logback.core.spi.LifeCycle
            invokeinterface ch.qos.logback.core.spi.LifeCycle.start:()V
        end local 2 // boolean effectivelyAdded
         6: .line 52
      StackMap locals:
      StackMap stack:
            return
        end local 1 // ch.qos.logback.core.status.StatusListener listener
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0           context  Lch/qos/logback/core/Context;
            0    7     1          listener  Lch/qos/logback/core/status/StatusListener;
            4    6     2  effectivelyAdded  Z
    MethodParameters:
          Name  Flags
      context   
      listener  

  private static ch.qos.logback.core.status.StatusListener createListenerPerClassName(ch.qos.logback.core.Context, java.lang.String);
    descriptor: (Lch/qos/logback/core/Context;Ljava/lang/String;)Lch/qos/logback/core/status/StatusListener;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.Context context
        start local 1 // java.lang.String listenerClass
         0: .line 56
            aload 1 /* listenerClass */
            ldc Lch/qos/logback/core/status/StatusListener;
            aload 0 /* context */
            invokestatic ch.qos.logback.core.util.OptionHelper.instantiateByClassName:(Ljava/lang/String;Ljava/lang/Class;Lch/qos/logback/core/Context;)Ljava/lang/Object;
            checkcast ch.qos.logback.core.status.StatusListener
         1: areturn
         2: .line 57
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 59
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         4: .line 60
            aconst_null
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String listenerClass
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0        context  Lch/qos/logback/core/Context;
            0    5     1  listenerClass  Ljava/lang/String;
            3    5     2              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      context        
      listenerClass  

  public static void addOnConsoleListenerInstance(ch.qos.logback.core.Context, ch.qos.logback.core.status.OnConsoleStatusListener);
    descriptor: (Lch/qos/logback/core/Context;Lch/qos/logback/core/status/OnConsoleStatusListener;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // ch.qos.logback.core.Context context
        start local 1 // ch.qos.logback.core.status.OnConsoleStatusListener onConsoleStatusListener
         0: .line 72
            aload 1 /* onConsoleStatusListener */
            aload 0 /* context */
            invokevirtual ch.qos.logback.core.status.OnConsoleStatusListener.setContext:(Lch/qos/logback/core/Context;)V
         1: .line 73
            aload 0 /* context */
            invokeinterface ch.qos.logback.core.Context.getStatusManager:()Lch/qos/logback/core/status/StatusManager;
            aload 1 /* onConsoleStatusListener */
            invokeinterface ch.qos.logback.core.status.StatusManager.add:(Lch/qos/logback/core/status/StatusListener;)Z
            istore 2 /* effectivelyAdded */
        start local 2 // boolean effectivelyAdded
         2: .line 74
            iload 2 /* effectivelyAdded */
            ifeq 4
         3: .line 75
            aload 1 /* onConsoleStatusListener */
            invokevirtual ch.qos.logback.core.status.OnConsoleStatusListener.start:()V
         4: .line 77
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean effectivelyAdded
        end local 1 // ch.qos.logback.core.status.OnConsoleStatusListener onConsoleStatusListener
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                  context  Lch/qos/logback/core/Context;
            0    5     1  onConsoleStatusListener  Lch/qos/logback/core/status/OnConsoleStatusListener;
            2    5     2         effectivelyAdded  Z
    MethodParameters:
                         Name  Flags
      context                  
      onConsoleStatusListener  
}
SourceFile: "StatusListenerConfigHelper.java"