public class org.aspectj.bridge.context.CompilationAndWeavingContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.bridge.context.CompilationAndWeavingContext
  super_class: java.lang.Object
{
  private static int nextTokenId;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static java.lang.ThreadLocal<java.util.Stack<org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry>> contextMap;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;>;

  private static java.util.Stack<org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry> contextStack;
    descriptor: Ljava/util/Stack;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;

  private static java.util.Map<java.lang.Integer, org.aspectj.bridge.context.ContextFormatter> formatterMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lorg/aspectj/bridge/context/ContextFormatter;>;

  private static org.aspectj.bridge.context.ContextFormatter defaultFormatter;
    descriptor: Lorg/aspectj/bridge/context/ContextFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean multiThreaded;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 30
            iconst_1
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.nextTokenId:I
         1: .line 73
            bipush 33
            anewarray java.lang.String
            dup
            iconst_0
            ldc "batch building"
            aastore
            dup
            iconst_1
            ldc "incrementally building"
            aastore
            dup
            iconst_2
         2: .line 74
            ldc "processing compilation unit"
            aastore
            dup
            iconst_3
            ldc "resolving types defined in compilation unit"
            aastore
            dup
            iconst_4
         3: .line 75
            ldc "analysing types defined in compilation unit"
            aastore
            dup
            iconst_5
            ldc "generating unwoven code for type defined in compilation unit"
            aastore
            dup
            bipush 6
         4: .line 76
            ldc "completing type bindings"
            aastore
            dup
            bipush 7
            ldc "processing declare parents"
            aastore
            dup
            bipush 8
            ldc "checking and setting imports"
            aastore
            dup
            bipush 9
            ldc "connecting type hierarchy"
            aastore
            dup
            bipush 10
         5: .line 77
            ldc "building fields and methods"
            aastore
            dup
            bipush 11
            ldc "collecting itds and declares"
            aastore
            dup
            bipush 12
            ldc "processing declare annotations"
            aastore
            dup
            bipush 13
         6: .line 78
            ldc "weaving intertype declarations"
            aastore
            dup
            bipush 14
            ldc "resolving pointcut declarations"
            aastore
            dup
            bipush 15
            ldc "adding declare warning and errors"
            aastore
            dup
            bipush 16
         7: .line 79
            ldc "validating @AspectJ annotations"
            aastore
            dup
            bipush 17
            ldc "creating accessors for inlining"
            aastore
            dup
            bipush 18
            ldc "adding @AspectJ annotations"
            aastore
            dup
            bipush 19
         8: .line 80
            ldc "fixing super calls in ITDs in interface context"
            aastore
            dup
            bipush 20
            ldc "fixing super calls in ITDs"
            aastore
            dup
            bipush 21
         9: .line 81
            ldc "optimizing thisJoinPoint calls"
            aastore
            dup
            bipush 22
        10: .line 85
            ldc "weaving"
            aastore
            dup
            bipush 23
            ldc "processing reweavable state"
            aastore
            dup
            bipush 24
            ldc "processing type mungers"
            aastore
            dup
            bipush 25
            ldc "weaving aspects"
            aastore
            dup
            bipush 26
            ldc "weaving classes"
            aastore
            dup
            bipush 27
        11: .line 86
            ldc "weaving type"
            aastore
            dup
            bipush 28
            ldc "matching shadow"
            aastore
            dup
            bipush 29
            ldc "implementing on shadow"
            aastore
            dup
            bipush 30
            ldc "matching pointcut"
            aastore
            dup
            bipush 31
            ldc "type munging with"
            aastore
            dup
            bipush 32
        12: .line 87
            ldc "type munging for @AspectJ aspectOf"
            aastore
        13: .line 73
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.PHASE_NAMES:[Ljava/lang/String;
        14: .line 90
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
        15: .line 93
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextStack:Ljava/util/Stack;
        16: .line 96
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.formatterMap:Ljava/util/Map;
        17: .line 98
            new org.aspectj.bridge.context.CompilationAndWeavingContext$DefaultFormatter
            dup
            invokespecial org.aspectj.bridge.context.CompilationAndWeavingContext$DefaultFormatter.<init>:()V
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.defaultFormatter:Lorg/aspectj/bridge/context/ContextFormatter;
        18: .line 100
            iconst_1
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.multiThreaded:Z
            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 // org.aspectj.bridge.context.CompilationAndWeavingContext this
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            return
        end local 0 // org.aspectj.bridge.context.CompilationAndWeavingContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/bridge/context/CompilationAndWeavingContext;

  public static void reset();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 109
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.multiThreaded:Z
            ifne 6
         1: .line 110
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
         2: .line 111
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextStack:Ljava/util/Stack;
            invokevirtual java.util.Stack.clear:()V
         3: .line 112
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.formatterMap:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 113
            iconst_1
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.nextTokenId:I
         5: .line 114
            goto 7
         6: .line 115
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
         7: .line 119
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setMultiThreaded(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean mt
         0: .line 122
            iload 0 /* mt */
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.multiThreaded:Z
         1: .line 123
            return
        end local 0 // boolean mt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    mt  Z
    MethodParameters:
      Name  Flags
      mt    

  public static void registerFormatter(int, org.aspectj.bridge.context.ContextFormatter);
    descriptor: (ILorg/aspectj/bridge/context/ContextFormatter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int phaseId
        start local 1 // org.aspectj.bridge.context.ContextFormatter aFormatter
         0: .line 126
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.formatterMap:Ljava/util/Map;
            new java.lang.Integer
            dup
            iload 0 /* phaseId */
            invokespecial java.lang.Integer.<init>:(I)V
            aload 1 /* aFormatter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 127
            return
        end local 1 // org.aspectj.bridge.context.ContextFormatter aFormatter
        end local 0 // int phaseId
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     phaseId  I
            0    2     1  aFormatter  Lorg/aspectj/bridge/context/ContextFormatter;
    MethodParameters:
            Name  Flags
      phaseId     
      aFormatter  

  public static java.lang.String getCurrentContext();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=0
         0: .line 133
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.getContextStack:()Ljava/util/Stack;
            astore 0 /* contextStack */
        start local 0 // java.util.Stack contextStack
         1: .line 134
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            astore 1 /* explanationStack */
        start local 1 // java.util.Stack explanationStack
         2: .line 135
            aload 0 /* contextStack */
            invokevirtual java.util.Stack.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Stack java.util.Stack top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry
            astore 2 /* entry */
        start local 2 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
         4: .line 136
            aload 2 /* entry */
            invokevirtual org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry.getData:()Ljava/lang/Object;
            astore 4 /* data */
        start local 4 // java.lang.Object data
         5: .line 137
            aload 4 /* data */
            ifnull 7
         6: .line 138
            aload 1 /* explanationStack */
            aload 2 /* entry */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.getFormatter:(Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;)Lorg/aspectj/bridge/context/ContextFormatter;
            aload 2 /* entry */
            getfield org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry.phaseId:I
            aload 4 /* data */
            invokeinterface org.aspectj.bridge.context.ContextFormatter.formatEntry:(ILjava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Object data
        end local 2 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
         7: .line 135
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 141
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuffer sb
         9: .line 142
            goto 13
        10: .line 143
      StackMap locals: java.util.Stack java.util.Stack java.lang.StringBuffer
      StackMap stack:
            aload 2 /* sb */
            ldc "when "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 144
            aload 2 /* sb */
            aload 1 /* explanationStack */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 145
            aload 2 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 142
      StackMap locals:
      StackMap stack:
            aload 1 /* explanationStack */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifeq 10
        14: .line 147
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer sb
        end local 1 // java.util.Stack explanationStack
        end local 0 // java.util.Stack contextStack
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            1   15     0      contextStack  Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;
            2   15     1  explanationStack  Ljava/util/Stack<Ljava/lang/String;>;
            4    7     2             entry  Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;
            5    7     4              data  Ljava/lang/Object;
            9   15     2                sb  Ljava/lang/StringBuffer;

  public static org.aspectj.bridge.context.ContextToken enteringPhase(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // int phaseId
        start local 1 // java.lang.Object data
         0: .line 151
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.getContextStack:()Ljava/util/Stack;
            astore 2 /* contextStack */
        start local 2 // java.util.Stack contextStack
         1: .line 152
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.nextToken:()Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextTokenImpl;
            astore 3 /* nextToken */
        start local 3 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl nextToken
         2: .line 153
            aload 2 /* contextStack */
            new org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry
            dup
            aload 3 /* nextToken */
            iload 0 /* phaseId */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* data */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokespecial org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry.<init>:(Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextTokenImpl;ILjava/lang/ref/WeakReference;)V
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 154
            aload 3 /* nextToken */
            areturn
        end local 3 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl nextToken
        end local 2 // java.util.Stack contextStack
        end local 1 // java.lang.Object data
        end local 0 // int phaseId
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       phaseId  I
            0    4     1          data  Ljava/lang/Object;
            1    4     2  contextStack  Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;
            2    4     3     nextToken  Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextTokenImpl;
    MethodParameters:
         Name  Flags
      phaseId  
      data     

  public static void leavingPhase(org.aspectj.bridge.context.ContextToken);
    descriptor: (Lorg/aspectj/bridge/context/ContextToken;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.aspectj.bridge.context.ContextToken aToken
         0: .line 161
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.getContextStack:()Ljava/util/Stack;
            astore 1 /* contextStack */
        start local 1 // java.util.Stack contextStack
         1: .line 162
            goto 5
         2: .line 163
      StackMap locals: java.util.Stack
      StackMap stack:
            aload 1 /* contextStack */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            checkcast org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry
            astore 2 /* entry */
        start local 2 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
         3: .line 164
            aload 2 /* entry */
            getfield org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry.contextToken:Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextTokenImpl;
            aload 0 /* aToken */
            if_acmpne 5
         4: .line 165
            goto 6
        end local 2 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
         5: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* contextStack */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifeq 2
         6: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Stack contextStack
        end local 0 // org.aspectj.bridge.context.ContextToken aToken
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0        aToken  Lorg/aspectj/bridge/context/ContextToken;
            1    7     1  contextStack  Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;
            3    5     2         entry  Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;
    MethodParameters:
        Name  Flags
      aToken  

  public static void resetForThread();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 174
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.multiThreaded:Z
            ifne 2
         1: .line 175
            return
         2: .line 177
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
         3: .line 178
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Stack<org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry> getContextStack();
    descriptor: ()Ljava/util/Stack;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 181
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.multiThreaded:Z
            ifne 2
         1: .line 182
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextStack:Ljava/util/Stack;
            areturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Stack
            astore 0 /* contextStack */
        start local 0 // java.util.Stack contextStack
         3: .line 185
            aload 0 /* contextStack */
            ifnonnull 6
         4: .line 186
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            astore 0 /* contextStack */
         5: .line 187
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.contextMap:Ljava/lang/ThreadLocal;
            aload 0 /* contextStack */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         6: .line 189
      StackMap locals: java.util.Stack
      StackMap stack:
            aload 0 /* contextStack */
            areturn
        end local 0 // java.util.Stack contextStack
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            3    7     0  contextStack  Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;
    Signature: ()Ljava/util/Stack<Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;>;

  private static org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl nextToken();
    descriptor: ()Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextTokenImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 194
            new org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl
            dup
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.nextTokenId:I
            dup
            iconst_1
            iadd
            putstatic org.aspectj.bridge.context.CompilationAndWeavingContext.nextTokenId:I
            invokespecial org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl.<init>:(I)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.aspectj.bridge.context.ContextFormatter getFormatter(org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry);
    descriptor: (Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;)Lorg/aspectj/bridge/context/ContextFormatter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
         0: .line 198
            new java.lang.Integer
            dup
            aload 0 /* entry */
            getfield org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry.phaseId:I
            invokespecial java.lang.Integer.<init>:(I)V
            astore 1 /* key */
        start local 1 // java.lang.Integer key
         1: .line 199
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.formatterMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 200
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.formatterMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.aspectj.bridge.context.ContextFormatter
            areturn
         3: .line 202
      StackMap locals: java.lang.Integer
      StackMap stack:
            getstatic org.aspectj.bridge.context.CompilationAndWeavingContext.defaultFormatter:Lorg/aspectj/bridge/context/ContextFormatter;
            areturn
        end local 1 // java.lang.Integer key
        end local 0 // org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  entry  Lorg/aspectj/bridge/context/CompilationAndWeavingContext$ContextStackEntry;
            1    4     1    key  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      entry  
}
SourceFile: "CompilationAndWeavingContext.java"
NestMembers:
  org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry  org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl  org.aspectj.bridge.context.CompilationAndWeavingContext$DefaultFormatter
InnerClasses:
  private ContextStackEntry = org.aspectj.bridge.context.CompilationAndWeavingContext$ContextStackEntry of org.aspectj.bridge.context.CompilationAndWeavingContext
  private ContextTokenImpl = org.aspectj.bridge.context.CompilationAndWeavingContext$ContextTokenImpl of org.aspectj.bridge.context.CompilationAndWeavingContext
  private DefaultFormatter = org.aspectj.bridge.context.CompilationAndWeavingContext$DefaultFormatter of org.aspectj.bridge.context.CompilationAndWeavingContext