public class ch.qos.logback.classic.spi.CallerData
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.classic.spi.CallerData
  super_class: java.lang.Object
{
  public static final java.lang.String NA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "?"

  private static final java.lang.String LOG4J_CATEGORY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.log4j.Category"

  private static final java.lang.String SLF4J_BOUNDARY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.slf4j.Logger"

  public static final int LINE_NA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final java.lang.String CALLER_DATA_NA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.StackTraceElement[] EMPTY_CALLER_DATA_ARRAY;
    descriptor: [Ljava/lang/StackTraceElement;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 44
            new java.lang.StringBuilder
            dup
            ldc "?#?:?"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic ch.qos.logback.core.CoreConstants.LINE_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic ch.qos.logback.classic.spi.CallerData.CALLER_DATA_NA:Ljava/lang/String;
         1: .line 49
            iconst_0
            anewarray java.lang.StackTraceElement
            putstatic ch.qos.logback.classic.spi.CallerData.EMPTY_CALLER_DATA_ARRAY:[Ljava/lang/StackTraceElement;
            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 // ch.qos.logback.classic.spi.CallerData this
         0: .line 26
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // ch.qos.logback.classic.spi.CallerData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/classic/spi/CallerData;

  public static java.lang.StackTraceElement[] extract(java.lang.Throwable, java.lang.String, int, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;ILjava/util/List;)[Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // java.lang.Throwable t
        start local 1 // java.lang.String fqnOfInvokingClass
        start local 2 // int maxDepth
        start local 3 // java.util.List frameworkPackageList
         0: .line 56
            aload 0 /* t */
            ifnonnull 2
         1: .line 57
            aconst_null
            areturn
         2: .line 60
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 4 /* steArray */
        start local 4 // java.lang.StackTraceElement[] steArray
         3: .line 63
            iconst_m1
            istore 6 /* found */
        start local 6 // int found
         4: .line 64
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 12
         6: .line 65
      StackMap locals: java.lang.Throwable java.lang.String int java.util.List java.lang.StackTraceElement[] top int int
      StackMap stack:
            aload 4 /* steArray */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            aload 1 /* fqnOfInvokingClass */
            aload 3 /* frameworkPackageList */
            invokestatic ch.qos.logback.classic.spi.CallerData.isInFrameworkSpace:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Z
            ifeq 9
         7: .line 67
            iload 7 /* i */
            iconst_1
            iadd
            istore 6 /* found */
         8: .line 68
            goto 11
         9: .line 69
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            iconst_m1
            if_icmpeq 11
        10: .line 70
            goto 13
        11: .line 64
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            aload 4 /* steArray */
            arraylength
            if_icmplt 6
        end local 7 // int i
        13: .line 76
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            iconst_m1
            if_icmpne 15
        14: .line 77
            getstatic ch.qos.logback.classic.spi.CallerData.EMPTY_CALLER_DATA_ARRAY:[Ljava/lang/StackTraceElement;
            areturn
        15: .line 80
      StackMap locals:
      StackMap stack:
            aload 4 /* steArray */
            arraylength
            iload 6 /* found */
            isub
            istore 7 /* availableDepth */
        start local 7 // int availableDepth
        16: .line 81
            iload 2 /* maxDepth */
            iload 7 /* availableDepth */
            if_icmpge 17
            iload 2 /* maxDepth */
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iload 7 /* availableDepth */
      StackMap locals:
      StackMap stack: int
        18: istore 8 /* desiredDepth */
        start local 8 // int desiredDepth
        19: .line 83
            iload 8 /* desiredDepth */
            anewarray java.lang.StackTraceElement
            astore 5 /* callerDataArray */
        start local 5 // java.lang.StackTraceElement[] callerDataArray
        20: .line 84
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        21: goto 24
        22: .line 85
      StackMap locals: java.lang.Throwable java.lang.String int java.util.List java.lang.StackTraceElement[] java.lang.StackTraceElement[] int int int int
      StackMap stack:
            aload 5 /* callerDataArray */
            iload 9 /* i */
            aload 4 /* steArray */
            iload 6 /* found */
            iload 9 /* i */
            iadd
            aaload
            aastore
        23: .line 84
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 9 /* i */
            iload 8 /* desiredDepth */
            if_icmplt 22
        end local 9 // int i
        25: .line 87
            aload 5 /* callerDataArray */
            areturn
        end local 8 // int desiredDepth
        end local 7 // int availableDepth
        end local 6 // int found
        end local 5 // java.lang.StackTraceElement[] callerDataArray
        end local 4 // java.lang.StackTraceElement[] steArray
        end local 3 // java.util.List frameworkPackageList
        end local 2 // int maxDepth
        end local 1 // java.lang.String fqnOfInvokingClass
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   26     0                     t  Ljava/lang/Throwable;
            0   26     1    fqnOfInvokingClass  Ljava/lang/String;
            0   26     2              maxDepth  I
            0   26     3  frameworkPackageList  Ljava/util/List<Ljava/lang/String;>;
            3   26     4              steArray  [Ljava/lang/StackTraceElement;
           20   26     5       callerDataArray  [Ljava/lang/StackTraceElement;
            4   26     6                 found  I
            5   13     7                     i  I
           16   26     7        availableDepth  I
           19   26     8          desiredDepth  I
           21   25     9                     i  I
    Signature: (Ljava/lang/Throwable;Ljava/lang/String;ILjava/util/List<Ljava/lang/String;>;)[Ljava/lang/StackTraceElement;
    MethodParameters:
                      Name  Flags
      t                     
      fqnOfInvokingClass    
      maxDepth              final
      frameworkPackageList  

  static boolean isInFrameworkSpace(java.lang.String, java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String currentClass
        start local 1 // java.lang.String fqnOfInvokingClass
        start local 2 // java.util.List frameworkPackageList
         0: .line 93
            aload 0 /* currentClass */
            aload 1 /* fqnOfInvokingClass */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 0 /* currentClass */
            ldc "org.apache.log4j.Category"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 0 /* currentClass */
            ldc "org.slf4j.Logger"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 94
            aload 0 /* currentClass */
            aload 2 /* frameworkPackageList */
            invokestatic ch.qos.logback.classic.spi.CallerData.isInFrameworkSpaceList:(Ljava/lang/String;Ljava/util/List;)Z
            ifeq 3
         2: .line 95
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.util.List frameworkPackageList
        end local 1 // java.lang.String fqnOfInvokingClass
        end local 0 // java.lang.String currentClass
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0          currentClass  Ljava/lang/String;
            0    4     1    fqnOfInvokingClass  Ljava/lang/String;
            0    4     2  frameworkPackageList  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Z
    MethodParameters:
                      Name  Flags
      currentClass          
      fqnOfInvokingClass    
      frameworkPackageList  

  private static boolean isInFrameworkSpaceList(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.String currentClass
        start local 1 // java.util.List frameworkPackageList
         0: .line 105
            aload 1 /* frameworkPackageList */
            ifnonnull 2
         1: .line 106
            iconst_0
            ireturn
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* frameworkPackageList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         4: .line 109
            aload 0 /* currentClass */
            aload 2 /* s */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 110
            iconst_1
            ireturn
        end local 2 // java.lang.String s
         6: .line 108
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 112
            iconst_0
            ireturn
        end local 1 // java.util.List frameworkPackageList
        end local 0 // java.lang.String currentClass
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0          currentClass  Ljava/lang/String;
            0    8     1  frameworkPackageList  Ljava/util/List<Ljava/lang/String;>;
            4    6     2                     s  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Z
    MethodParameters:
                      Name  Flags
      currentClass          
      frameworkPackageList  

  public static java.lang.StackTraceElement naInstance();
    descriptor: ()Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 122
            new java.lang.StackTraceElement
            dup
            ldc "?"
            ldc "?"
            ldc "?"
            iconst_m1
            invokespecial java.lang.StackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "CallerData.java"