public class org.aspectj.weaver.bcel.BcelWeaver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.bcel.BcelWeaver
  super_class: java.lang.Object
{
  public static final java.lang.String CLOSURE_CLASS_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$Ajc"

  public static final java.lang.String SYNTHETIC_CLASS_POSTFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "$ajc"

  private static org.aspectj.weaver.tools.Trace trace;
    descriptor: Lorg/aspectj/weaver/tools/Trace;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final transient org.aspectj.weaver.bcel.BcelWorld world;
    descriptor: Lorg/aspectj/weaver/bcel/BcelWorld;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final org.aspectj.weaver.CrosscuttingMembersSet xcutSet;
    descriptor: Lorg/aspectj/weaver/CrosscuttingMembersSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean inReweavableMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private transient java.util.List<org.aspectj.weaver.bcel.UnwovenClassFile> addedClasses;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;

  private transient java.util.List<java.lang.String> deletedTypenames;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private transient java.util.List<org.aspectj.weaver.ShadowMunger> shadowMungerList;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;

  private transient java.util.List<org.aspectj.weaver.ConcreteTypeMunger> typeMungerList;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  private transient java.util.List<org.aspectj.weaver.ConcreteTypeMunger> lateTypeMungerList;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  private transient java.util.List<org.aspectj.weaver.patterns.DeclareParents> declareParentsList;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/aspectj/weaver/patterns/DeclareParents;>;

  private java.util.jar.Manifest manifest;
    descriptor: Ljava/util/jar/Manifest;
    flags: (0x0002) ACC_PRIVATE

  private boolean needToReweaveWorld;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isBatchWeave;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.zip.ZipOutputStream zipOutputStream;
    descriptor: Ljava/util/zip/ZipOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.CustomMungerFactory customMungerFactory;
    descriptor: Lorg/aspectj/weaver/CustomMungerFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<org.aspectj.asm.IProgramElement> candidatesForRemoval;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/asm/IProgramElement;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 109
            invokestatic org.aspectj.weaver.tools.TraceFactory.getTraceFactory:()Lorg/aspectj/weaver/tools/TraceFactory;
            ldc Lorg/aspectj/weaver/bcel/BcelWeaver;
            invokevirtual org.aspectj.weaver.tools.TraceFactory.getTrace:(Ljava/lang/Class;)Lorg/aspectj/weaver/tools/Trace;
            putstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.aspectj.weaver.bcel.BcelWorld);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelWorld;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.BcelWorld world
         0: .line 134
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.bcel.BcelWeaver.inReweavableMode:Z
         2: .line 116
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.aspectj.weaver.bcel.BcelWeaver.addedClasses:Ljava/util/List;
         3: .line 117
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.aspectj.weaver.bcel.BcelWeaver.deletedTypenames:Ljava/util/List;
         4: .line 120
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
         5: .line 121
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.typeMungerList:Ljava/util/List;
         6: .line 122
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.lateTypeMungerList:Ljava/util/List;
         7: .line 123
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.declareParentsList:Ljava/util/List;
         8: .line 125
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
         9: .line 126
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
        10: .line 128
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelWeaver.isBatchWeave:Z
        11: .line 1010
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
        12: .line 135
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 14
        13: .line 136
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "<init>"
            aload 0 /* this */
            aload 1 /* world */
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 138
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.BcelWorld
      StackMap stack:
            aload 0 /* this */
            aload 1 /* world */
            putfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
        15: .line 139
            aload 0 /* this */
            aload 1 /* world */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getCrosscuttingMembersSet:()Lorg/aspectj/weaver/CrosscuttingMembersSet;
            putfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
        16: .line 140
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 18
        17: .line 141
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "<init>"
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
        18: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.bcel.BcelWorld world
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   19     1  world  Lorg/aspectj/weaver/bcel/BcelWorld;
    MethodParameters:
       Name  Flags
      world  

  public org.aspectj.weaver.ResolvedType addLibraryAspect(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String aspectName
         0: .line 152
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 2
         1: .line 153
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "addLibraryAspect"
            aload 0 /* this */
            aload 1 /* aspectName */
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* aspectName */
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 2 /* unresolvedT */
        start local 2 // org.aspectj.weaver.UnresolvedType unresolvedT
         3: .line 158
            aload 2 /* unresolvedT */
            iconst_1
            invokevirtual org.aspectj.weaver.UnresolvedType.setNeedsModifiableDelegate:(Z)V
         4: .line 159
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 2 /* unresolvedT */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Lorg/aspectj/weaver/UnresolvedType;Z)Lorg/aspectj/weaver/ResolvedType;
            astore 3 /* type */
        start local 3 // org.aspectj.weaver.ResolvedType type
         5: .line 160
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 19
         6: .line 162
            aload 1 /* aspectName */
            astore 4 /* fixedName */
        start local 4 // java.lang.String fixedName
         7: .line 163
            aload 4 /* fixedName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* hasDot */
        start local 5 // int hasDot
         8: .line 164
            goto 18
         9: .line 166
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.lang.String org.aspectj.weaver.UnresolvedType org.aspectj.weaver.ResolvedType java.lang.String int
      StackMap stack:
            aload 4 /* fixedName */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 6 /* fixedNameChars */
        start local 6 // char[] fixedNameChars
        10: .line 167
            aload 6 /* fixedNameChars */
            iload 5 /* hasDot */
            bipush 36
            castore
        11: .line 168
            new java.lang.String
            dup
            aload 6 /* fixedNameChars */
            invokespecial java.lang.String.<init>:([C)V
            astore 4 /* fixedName */
        12: .line 169
            aload 4 /* fixedName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* hasDot */
        13: .line 170
            aload 4 /* fixedName */
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 7 /* ut */
        start local 7 // org.aspectj.weaver.UnresolvedType ut
        14: .line 171
            aload 7 /* ut */
            iconst_1
            invokevirtual org.aspectj.weaver.UnresolvedType.setNeedsModifiableDelegate:(Z)V
        15: .line 172
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 7 /* ut */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Lorg/aspectj/weaver/UnresolvedType;Z)Lorg/aspectj/weaver/ResolvedType;
            astore 3 /* type */
        16: .line 173
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifne 18
        17: .line 174
            goto 19
        end local 7 // org.aspectj.weaver.UnresolvedType ut
        end local 6 // char[] fixedNameChars
        18: .line 164
      StackMap locals:
      StackMap stack:
            iload 5 /* hasDot */
            ifgt 9
        end local 5 // int hasDot
        end local 4 // java.lang.String fixedName
        19: .line 180
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 34
        20: .line 182
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getWeaverState:()Lorg/aspectj/weaver/WeaverStateInfo;
            astore 4 /* wsi */
        start local 4 // org.aspectj.weaver.WeaverStateInfo wsi
        21: .line 183
            aload 4 /* wsi */
            ifnull 28
            aload 4 /* wsi */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.isReweavable:()Z
            ifeq 28
        22: .line 184
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getClassType:(Ljava/lang/String;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 5 /* classType */
        start local 5 // org.aspectj.weaver.bcel.BcelObjectType classType
        23: .line 185
            aload 5 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            astore 6 /* wovenJavaClass */
        start local 6 // org.aspectj.apache.bcel.classfile.JavaClass wovenJavaClass
        24: .line 186
            aload 4 /* wsi */
            aload 6 /* wovenJavaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getBytes:()[B
            invokevirtual org.aspectj.weaver.WeaverStateInfo.getUnwovenClassFileData:([B)[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        25: .line 187
            aload 6 /* wovenJavaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getFileName:()Ljava/lang/String;
            aload 7 /* bytes */
            invokestatic org.aspectj.weaver.bcel.Utility.makeJavaClass:(Ljava/lang/String;[B)Lorg/aspectj/apache/bcel/classfile/JavaClass;
            astore 8 /* unwovenJavaClass */
        start local 8 // org.aspectj.apache.bcel.classfile.JavaClass unwovenJavaClass
        26: .line 188
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 8 /* unwovenJavaClass */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.storeClass:(Lorg/aspectj/apache/bcel/classfile/JavaClass;)V
        27: .line 189
            aload 5 /* classType */
            aload 8 /* unwovenJavaClass */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.setJavaClass:(Lorg/aspectj/apache/bcel/classfile/JavaClass;Z)V
        end local 8 // org.aspectj.apache.bcel.classfile.JavaClass unwovenJavaClass
        end local 7 // byte[] bytes
        end local 6 // org.aspectj.apache.bcel.classfile.JavaClass wovenJavaClass
        end local 5 // org.aspectj.weaver.bcel.BcelObjectType classType
        28: .line 200
      StackMap locals: org.aspectj.weaver.WeaverStateInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect:(Lorg/aspectj/weaver/ResolvedType;)Z
            pop
        29: .line 201
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 31
        30: .line 202
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "addLibraryAspect"
            aload 3 /* type */
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;Ljava/lang/Object;)V
        31: .line 204
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 33
        32: .line 214
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            pop
        33: .line 216
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            areturn
        end local 4 // org.aspectj.weaver.WeaverStateInfo wsi
        34: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 38
        35: .line 220
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "The specified aspect '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* aspectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' cannot be found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            iconst_1
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 4 /* message */
        start local 4 // org.aspectj.bridge.IMessage message
        36: .line 221
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 4 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 4 // org.aspectj.bridge.IMessage message
        37: .line 222
            goto 40
        38: .line 223
      StackMap locals:
      StackMap stack:
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot register '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* aspectName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' because the type found with that name is not an aspect"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            iconst_1
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 4 /* message */
        start local 4 // org.aspectj.bridge.IMessage message
        39: .line 224
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 4 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 4 // org.aspectj.bridge.IMessage message
        40: .line 226
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.aspectj.weaver.ResolvedType type
        end local 2 // org.aspectj.weaver.UnresolvedType unresolvedT
        end local 1 // java.lang.String aspectName
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0              this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   41     1        aspectName  Ljava/lang/String;
            3   41     2       unresolvedT  Lorg/aspectj/weaver/UnresolvedType;
            5   41     3              type  Lorg/aspectj/weaver/ResolvedType;
            7   19     4         fixedName  Ljava/lang/String;
            8   19     5            hasDot  I
           10   18     6    fixedNameChars  [C
           14   18     7                ut  Lorg/aspectj/weaver/UnresolvedType;
           21   34     4               wsi  Lorg/aspectj/weaver/WeaverStateInfo;
           23   28     5         classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
           24   28     6    wovenJavaClass  Lorg/aspectj/apache/bcel/classfile/JavaClass;
           25   28     7             bytes  [B
           26   28     8  unwovenJavaClass  Lorg/aspectj/apache/bcel/classfile/JavaClass;
           36   37     4           message  Lorg/aspectj/bridge/IMessage;
           39   40     4           message  Lorg/aspectj/bridge/IMessage;
    MethodParameters:
            Name  Flags
      aspectName  

  public void addLibraryJarFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File inFile
         0: .line 235
            aconst_null
            astore 2 /* addedAspects */
        start local 2 // java.util.List addedAspects
         1: .line 236
            aload 1 /* inFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 4
         2: .line 237
            aload 0 /* this */
            aload 1 /* inFile */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromDirectory:(Ljava/io/File;)Ljava/util/List;
            astore 2 /* addedAspects */
         3: .line 238
            goto 5
         4: .line 239
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* inFile */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addAspectsFromJarFile:(Ljava/io/File;)Ljava/util/List;
            astore 2 /* addedAspects */
         5: .line 241
      StackMap locals:
      StackMap stack:
            aload 2 /* addedAspects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedType
            astore 3 /* addedAspect */
        start local 3 // org.aspectj.weaver.ResolvedType addedAspect
         7: .line 242
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 3 /* addedAspect */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect:(Lorg/aspectj/weaver/ResolvedType;)Z
            pop
        end local 3 // org.aspectj.weaver.ResolvedType addedAspect
         8: .line 241
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 244
            return
        end local 2 // java.util.List addedAspects
        end local 1 // java.io.File inFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   10     1        inFile  Ljava/io/File;
            1   10     2  addedAspects  Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
            7    8     3   addedAspect  Lorg/aspectj/weaver/ResolvedType;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      inFile  

  private java.util.List<org.aspectj.weaver.ResolvedType> addAspectsFromJarFile(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File inFile
         0: .line 247
            new java.util.zip.ZipInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 1 /* inFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* inStream */
        start local 2 // java.util.zip.ZipInputStream inStream
         1: .line 248
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* addedAspects */
        start local 3 // java.util.List addedAspects
         2: .line 251
      StackMap locals: java.util.zip.ZipInputStream java.util.List
      StackMap stack:
            aload 2 /* inStream */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            astore 4 /* entry */
        start local 4 // java.util.zip.ZipEntry entry
         3: .line 252
            aload 4 /* entry */
            ifnonnull 5
         4: .line 253
            goto 21
         5: .line 256
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 4 /* entry */
            invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
            ifne 2
            aload 4 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 7
         6: .line 257
            goto 2
         7: .line 261
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            pop2
         8: .line 262
            new org.aspectj.apache.bcel.classfile.ClassParser
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* inStream */
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aload 4 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokespecial org.aspectj.apache.bcel.classfile.ClassParser.<init>:(Ljava/io/ByteArrayInputStream;Ljava/lang/String;)V
            astore 5 /* parser */
        start local 5 // org.aspectj.apache.bcel.classfile.ClassParser parser
         9: .line 263
            aload 5 /* parser */
            invokevirtual org.aspectj.apache.bcel.classfile.ClassParser.parse:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            astore 6 /* jc */
        start local 6 // org.aspectj.apache.bcel.classfile.JavaClass jc
        10: .line 264
            aload 2 /* inStream */
            invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
        11: .line 266
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 6 /* jc */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType:(Lorg/aspectj/apache/bcel/classfile/JavaClass;Z)Lorg/aspectj/weaver/bcel/BcelObjectType;
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            astore 7 /* type */
        start local 7 // org.aspectj.weaver.ResolvedType type
        12: .line 267
            aload 7 /* type */
            aload 1 /* inFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ResolvedType.setBinaryPath:(Ljava/lang/String;)V
        13: .line 268
            aload 7 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 16
        14: .line 269
            aload 3 /* addedAspects */
            aload 7 /* type */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 270
            goto 2
        16: .line 271
      StackMap locals: org.aspectj.apache.bcel.classfile.ClassParser org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 7 /* type */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:(Lorg/aspectj/weaver/ResolvedType;)V
        end local 7 // org.aspectj.weaver.ResolvedType type
        end local 6 // org.aspectj.apache.bcel.classfile.JavaClass jc
        end local 5 // org.aspectj.apache.bcel.classfile.ClassParser parser
        end local 4 // java.util.zip.ZipEntry entry
        17: .line 250
            goto 2
        18: .line 275
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.util.zip.ZipInputStream java.util.List
      StackMap stack: java.lang.Throwable
            astore 8
        19: .line 276
            aload 2 /* inStream */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        20: .line 277
            aload 8
            athrow
        21: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* inStream */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        22: .line 278
            aload 3 /* addedAspects */
            areturn
        end local 3 // java.util.List addedAspects
        end local 2 // java.util.zip.ZipInputStream inStream
        end local 1 // java.io.File inFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   23     1        inFile  Ljava/io/File;
            1   23     2      inStream  Ljava/util/zip/ZipInputStream;
            2   23     3  addedAspects  Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
            3   17     4         entry  Ljava/util/zip/ZipEntry;
            9   17     5        parser  Lorg/aspectj/apache/bcel/classfile/ClassParser;
           10   17     6            jc  Lorg/aspectj/apache/bcel/classfile/JavaClass;
           12   17     7          type  Lorg/aspectj/weaver/ResolvedType;
      Exception table:
        from    to  target  type
           2    18      18  any
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    Signature: (Ljava/io/File;)Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
    MethodParameters:
        Name  Flags
      inFile  

  private java.util.List<org.aspectj.weaver.ResolvedType> addAspectsFromDirectory(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File directory
         0: .line 290
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* addedAspects */
        start local 2 // java.util.List addedAspects
         1: .line 291
            aload 1 /* directory */
            new org.aspectj.weaver.bcel.BcelWeaver$1
            dup
            aload 0 /* this */
            invokespecial org.aspectj.weaver.bcel.BcelWeaver$1.<init>:(Lorg/aspectj/weaver/bcel/BcelWeaver;)V
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/io/FileFilter;)[Ljava/io/File;
            astore 3 /* classFiles */
        start local 3 // java.io.File[] classFiles
         2: .line 296
            aload 3 /* classFiles */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.util.List java.io.File[] top int int java.io.File[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* classFile */
        start local 4 // java.io.File classFile
         4: .line 297
            new java.io.FileInputStream
            dup
            aload 4 /* classFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 8 /* fis */
        start local 8 // java.io.FileInputStream fis
         5: .line 298
            aload 8 /* fis */
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            astore 9 /* classBytes */
        start local 9 // byte[] classBytes
         6: .line 299
            aload 0 /* this */
            aload 9 /* classBytes */
            aload 4 /* classFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 1 /* directory */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.isAspect:([BLjava/lang/String;Ljava/io/File;)Lorg/aspectj/weaver/ResolvedType;
            astore 10 /* aspectType */
        start local 10 // org.aspectj.weaver.ResolvedType aspectType
         7: .line 300
            aload 10 /* aspectType */
            ifnull 9
         8: .line 301
            aload 2 /* addedAspects */
            aload 10 /* aspectType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 303
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.util.List java.io.File[] java.io.File int int java.io.File[] java.io.FileInputStream byte[] org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 8 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 10 // org.aspectj.weaver.ResolvedType aspectType
        end local 9 // byte[] classBytes
        end local 8 // java.io.FileInputStream fis
        end local 4 // java.io.File classFile
        10: .line 296
            iinc 5 1
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.util.List java.io.File[] top int int java.io.File[]
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 3
        12: .line 305
            aload 2 /* addedAspects */
            areturn
        end local 3 // java.io.File[] classFiles
        end local 2 // java.util.List addedAspects
        end local 1 // java.io.File directory
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   13     1     directory  Ljava/io/File;
            1   13     2  addedAspects  Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
            2   13     3    classFiles  [Ljava/io/File;
            4   10     4     classFile  Ljava/io/File;
            5   10     8           fis  Ljava/io/FileInputStream;
            6   10     9    classBytes  [B
            7   10    10    aspectType  Lorg/aspectj/weaver/ResolvedType;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    Signature: (Ljava/io/File;)Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
    MethodParameters:
           Name  Flags
      directory  

  private org.aspectj.weaver.ResolvedType isAspect(byte[], java.lang.String, java.io.File);
    descriptor: ([BLjava/lang/String;Ljava/io/File;)Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // byte[] classbytes
        start local 2 // java.lang.String name
        start local 3 // java.io.File dir
         0: .line 318
            new org.aspectj.apache.bcel.classfile.ClassParser
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* classbytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aload 2 /* name */
            invokespecial org.aspectj.apache.bcel.classfile.ClassParser.<init>:(Ljava/io/ByteArrayInputStream;Ljava/lang/String;)V
            astore 4 /* parser */
        start local 4 // org.aspectj.apache.bcel.classfile.ClassParser parser
         1: .line 319
            aload 4 /* parser */
            invokevirtual org.aspectj.apache.bcel.classfile.ClassParser.parse:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            astore 5 /* jc */
        start local 5 // org.aspectj.apache.bcel.classfile.JavaClass jc
         2: .line 320
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 5 /* jc */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType:(Lorg/aspectj/apache/bcel/classfile/JavaClass;Z)Lorg/aspectj/weaver/bcel/BcelObjectType;
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            astore 6 /* type */
        start local 6 // org.aspectj.weaver.ResolvedType type
         3: .line 321
            aload 6 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            bipush 46
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 7 /* typeName */
        start local 7 // java.lang.String typeName
         4: .line 322
            aload 2 /* name */
            new java.lang.StringBuilder
            dup
            aload 7 /* typeName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 8 /* end */
        start local 8 // int end
         5: .line 323
            aconst_null
            astore 9 /* binaryPath */
        start local 9 // java.lang.String binaryPath
         6: .line 327
            iload 8 /* end */
            iconst_m1
            if_icmpne 9
         7: .line 328
            aload 3 /* dir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 9 /* binaryPath */
         8: .line 329
            goto 10
         9: .line 330
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver byte[] java.lang.String java.io.File org.aspectj.apache.bcel.classfile.ClassParser org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ResolvedType java.lang.String int java.lang.String
      StackMap stack:
            aload 2 /* name */
            iconst_0
            iload 8 /* end */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* binaryPath */
        10: .line 332
      StackMap locals:
      StackMap stack:
            aload 6 /* type */
            aload 9 /* binaryPath */
            invokevirtual org.aspectj.weaver.ResolvedType.setBinaryPath:(Ljava/lang/String;)V
        11: .line 333
            aload 6 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 13
        12: .line 334
            aload 6 /* type */
            areturn
        13: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 6 /* type */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:(Lorg/aspectj/weaver/ResolvedType;)V
        14: .line 340
            aconst_null
            areturn
        end local 9 // java.lang.String binaryPath
        end local 8 // int end
        end local 7 // java.lang.String typeName
        end local 6 // org.aspectj.weaver.ResolvedType type
        end local 5 // org.aspectj.apache.bcel.classfile.JavaClass jc
        end local 4 // org.aspectj.apache.bcel.classfile.ClassParser parser
        end local 3 // java.io.File dir
        end local 2 // java.lang.String name
        end local 1 // byte[] classbytes
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   15     1  classbytes  [B
            0   15     2        name  Ljava/lang/String;
            0   15     3         dir  Ljava/io/File;
            1   15     4      parser  Lorg/aspectj/apache/bcel/classfile/ClassParser;
            2   15     5          jc  Lorg/aspectj/apache/bcel/classfile/JavaClass;
            3   15     6        type  Lorg/aspectj/weaver/ResolvedType;
            4   15     7    typeName  Ljava/lang/String;
            5   15     8         end  I
            6   15     9  binaryPath  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      classbytes  
      name        
      dir         

  public java.util.List<org.aspectj.weaver.bcel.UnwovenClassFile> addDirectoryContents(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File inFile
        start local 2 // java.io.File outDir
         0: .line 354
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* addedClassFiles */
        start local 3 // java.util.List addedClassFiles
         1: .line 357
            aload 1 /* inFile */
            new org.aspectj.weaver.bcel.BcelWeaver$2
            dup
            aload 0 /* this */
            invokespecial org.aspectj.weaver.bcel.BcelWeaver$2.<init>:(Lorg/aspectj/weaver/bcel/BcelWeaver;)V
            invokestatic org.aspectj.util.FileUtil.listFiles:(Ljava/io/File;Ljava/io/FileFilter;)[Ljava/io/File;
            astore 4 /* files */
        start local 4 // java.io.File[] files
         2: .line 365
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 366
      StackMap locals: java.util.List java.io.File[] int
      StackMap stack:
            aload 3 /* addedClassFiles */
            aload 0 /* this */
            aload 4 /* files */
            iload 5 /* i */
            aaload
            aload 1 /* inFile */
            aload 2 /* outDir */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addClassFile:(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 365
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 4 /* files */
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 369
            aload 3 /* addedClassFiles */
            areturn
        end local 4 // java.io.File[] files
        end local 3 // java.util.List addedClassFiles
        end local 2 // java.io.File outDir
        end local 1 // java.io.File inFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    8     1           inFile  Ljava/io/File;
            0    8     2           outDir  Ljava/io/File;
            1    8     3  addedClassFiles  Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
            2    8     4            files  [Ljava/io/File;
            3    7     5                i  I
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/io/File;)Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
    MethodParameters:
        Name  Flags
      inFile  
      outDir  

  public java.util.List<org.aspectj.weaver.bcel.UnwovenClassFile> addJarFile(java.io.File, java.io.File, boolean);
    descriptor: (Ljava/io/File;Ljava/io/File;Z)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=18, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File inFile
        start local 2 // java.io.File outDir
        start local 3 // boolean canBeDirectory
         0: .line 377
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* addedClassFiles */
        start local 4 // java.util.List addedClassFiles
         1: .line 378
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
         2: .line 379
            aconst_null
            astore 5 /* inJar */
        start local 5 // java.util.jar.JarFile inJar
         3: .line 383
            aload 1 /* inFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 6
            iload 3 /* canBeDirectory */
            ifeq 6
         4: .line 384
            aload 4 /* addedClassFiles */
            aload 0 /* this */
            aload 1 /* inFile */
            aload 2 /* outDir */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addDirectoryContents:(Ljava/io/File;Ljava/io/File;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 385
            goto 70
         6: .line 387
      StackMap locals: java.util.List java.util.jar.JarFile
      StackMap stack:
            new java.util.jar.JarFile
            dup
            aload 1 /* inFile */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
            astore 5 /* inJar */
         7: .line 389
            aload 0 /* this */
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addManifest:(Ljava/util/jar/Manifest;)V
         8: .line 390
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 6 /* entries */
        start local 6 // java.util.Enumeration entries
         9: .line 392
            goto 24
        10: .line 393
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.jar.JarEntry
            astore 7 /* entry */
        start local 7 // java.util.jar.JarEntry entry
        11: .line 394
            aload 5 /* inJar */
            aload 7 /* entry */
            invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 8 /* inStream */
        start local 8 // java.io.InputStream inStream
        12: .line 396
            aload 8 /* inStream */
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            astore 9 /* bytes */
        start local 9 // byte[] bytes
        13: .line 397
            aload 7 /* entry */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        14: .line 400
            new org.aspectj.weaver.bcel.UnwovenClassFile
            dup
            new java.io.File
            dup
            aload 2 /* outDir */
            aload 10 /* filename */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 9 /* bytes */
            invokespecial org.aspectj.weaver.bcel.UnwovenClassFile.<init>:(Ljava/lang/String;[B)V
            astore 11 /* classFile */
        start local 11 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        15: .line 402
            aload 10 /* filename */
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 23
        16: .line 403
            aload 0 /* this */
            aload 11 /* classFile */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addClassFile:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Z)Lorg/aspectj/weaver/ReferenceType;
            astore 12 /* type */
        start local 12 // org.aspectj.weaver.ReferenceType type
        17: .line 404
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 13 /* sb */
        start local 13 // java.lang.StringBuffer sb
        18: .line 405
            aload 13 /* sb */
            aload 1 /* inFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 406
            aload 13 /* sb */
            ldc "!"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        20: .line 407
            aload 13 /* sb */
            aload 7 /* entry */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 408
            aload 12 /* type */
            aload 13 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ReferenceType.setBinaryPath:(Ljava/lang/String;)V
        22: .line 409
            aload 4 /* addedClassFiles */
            aload 11 /* classFile */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.StringBuffer sb
        end local 12 // org.aspectj.weaver.ReferenceType type
        23: .line 417
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File int java.util.List java.util.jar.JarFile java.util.Enumeration java.util.jar.JarEntry java.io.InputStream byte[] java.lang.String org.aspectj.weaver.bcel.UnwovenClassFile
      StackMap stack:
            aload 8 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 11 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 10 // java.lang.String filename
        end local 9 // byte[] bytes
        end local 8 // java.io.InputStream inStream
        end local 7 // java.util.jar.JarEntry entry
        24: .line 392
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File int java.util.List java.util.jar.JarFile java.util.Enumeration
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 6 // java.util.Enumeration entries
        25: .line 419
            goto 29
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File int java.util.List java.util.jar.JarFile
      StackMap stack: java.lang.Throwable
        26: astore 14
        27: .line 420
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        28: .line 421
            aload 14
            athrow
        29: .line 420
      StackMap locals:
      StackMap stack:
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        30: .line 422
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        31: .line 424
            goto 70
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
        32: pop
        33: .line 425
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", ignoring"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
        34: .line 426
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_0
        35: .line 425
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 6 /* message */
        start local 6 // org.aspectj.bridge.IMessage message
        36: .line 427
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 6 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 6 // org.aspectj.bridge.IMessage message
        37: .line 433
            aload 5 /* inJar */
            ifnull 78
        38: .line 435
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        39: .line 436
            goto 78
      StackMap locals:
      StackMap stack: java.io.IOException
        40: astore 16 /* ex */
        start local 16 // java.io.IOException ex
        41: .line 437
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not close input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 438
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_1
        43: .line 437
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 17 /* message */
        start local 17 // org.aspectj.bridge.IMessage message
        44: .line 439
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 17 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 17 // org.aspectj.bridge.IMessage message
        end local 16 // java.io.IOException ex
        45: goto 78
        46: .line 428
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* ex */
        start local 6 // java.io.IOException ex
        47: .line 429
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not read input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 430
            new org.aspectj.bridge.SourceLocation
            dup
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_1
        49: .line 429
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 7 /* message */
        start local 7 // org.aspectj.bridge.IMessage message
        50: .line 431
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 7 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 7 // org.aspectj.bridge.IMessage message
        end local 6 // java.io.IOException ex
        51: .line 433
            aload 5 /* inJar */
            ifnull 78
        52: .line 435
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        53: .line 436
            goto 78
      StackMap locals:
      StackMap stack: java.io.IOException
        54: astore 16 /* ex */
        start local 16 // java.io.IOException ex
        55: .line 437
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not close input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        56: .line 438
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_1
        57: .line 437
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 17 /* message */
        start local 17 // org.aspectj.bridge.IMessage message
        58: .line 439
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 17 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 17 // org.aspectj.bridge.IMessage message
        end local 16 // java.io.IOException ex
        59: goto 78
        60: .line 432
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        61: .line 433
            aload 5 /* inJar */
            ifnull 69
        62: .line 435
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        63: .line 436
            goto 69
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File int java.util.List java.util.jar.JarFile top top top top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        64: astore 16 /* ex */
        start local 16 // java.io.IOException ex
        65: .line 437
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not close input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 438
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_1
        67: .line 437
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 17 /* message */
        start local 17 // org.aspectj.bridge.IMessage message
        68: .line 439
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 17 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 17 // org.aspectj.bridge.IMessage message
        end local 16 // java.io.IOException ex
        69: .line 442
      StackMap locals:
      StackMap stack:
            aload 15
            athrow
        70: .line 433
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File int java.util.List java.util.jar.JarFile
      StackMap stack:
            aload 5 /* inJar */
            ifnull 78
        71: .line 435
            aload 5 /* inJar */
            invokevirtual java.util.jar.JarFile.close:()V
        72: .line 436
            goto 78
      StackMap locals:
      StackMap stack: java.io.IOException
        73: astore 16 /* ex */
        start local 16 // java.io.IOException ex
        74: .line 437
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not close input jar file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* inFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        75: .line 438
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
            aload 1 /* inFile */
            iconst_0
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
            iconst_1
        76: .line 437
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            astore 17 /* message */
        start local 17 // org.aspectj.bridge.IMessage message
        77: .line 439
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            aload 17 /* message */
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 17 // org.aspectj.bridge.IMessage message
        end local 16 // java.io.IOException ex
        78: .line 444
      StackMap locals:
      StackMap stack:
            aload 4 /* addedClassFiles */
            areturn
        end local 5 // java.util.jar.JarFile inJar
        end local 4 // java.util.List addedClassFiles
        end local 3 // boolean canBeDirectory
        end local 2 // java.io.File outDir
        end local 1 // java.io.File inFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   79     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   79     1           inFile  Ljava/io/File;
            0   79     2           outDir  Ljava/io/File;
            0   79     3   canBeDirectory  Z
            1   79     4  addedClassFiles  Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
            3   79     5            inJar  Ljava/util/jar/JarFile;
            9   25     6          entries  Ljava/util/Enumeration;
           11   24     7            entry  Ljava/util/jar/JarEntry;
           12   24     8         inStream  Ljava/io/InputStream;
           13   24     9            bytes  [B
           14   24    10         filename  Ljava/lang/String;
           15   24    11        classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           17   23    12             type  Lorg/aspectj/weaver/ReferenceType;
           18   23    13               sb  Ljava/lang/StringBuffer;
           36   37     6          message  Lorg/aspectj/bridge/IMessage;
           47   51     6               ex  Ljava/io/IOException;
           50   51     7          message  Lorg/aspectj/bridge/IMessage;
           41   45    16               ex  Ljava/io/IOException;
           55   59    16               ex  Ljava/io/IOException;
           65   69    16               ex  Ljava/io/IOException;
           74   78    16               ex  Ljava/io/IOException;
           44   45    17          message  Lorg/aspectj/bridge/IMessage;
           58   59    17          message  Lorg/aspectj/bridge/IMessage;
           68   69    17          message  Lorg/aspectj/bridge/IMessage;
           77   78    17          message  Lorg/aspectj/bridge/IMessage;
      Exception table:
        from    to  target  type
           7    26      26  any
           3    31      32  Class java.io.FileNotFoundException
          38    39      40  Class java.io.IOException
           3    31      46  Class java.io.IOException
          52    53      54  Class java.io.IOException
           3    37      60  any
          46    51      60  any
          62    63      64  Class java.io.IOException
          71    72      73  Class java.io.IOException
    Signature: (Ljava/io/File;Ljava/io/File;Z)Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
    MethodParameters:
                Name  Flags
      inFile          
      outDir          
      canBeDirectory  

  public boolean needToReweaveWorld();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 448
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
            ireturn
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  public org.aspectj.weaver.ReferenceType addClassFile(org.aspectj.weaver.bcel.UnwovenClassFile, boolean);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Z)Lorg/aspectj/weaver/ReferenceType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // boolean fromInpath
         0: .line 455
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.addedClasses:Ljava/util/List;
            aload 1 /* classFile */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 456
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType:(Lorg/aspectj/apache/bcel/classfile/JavaClass;Z)Lorg/aspectj/weaver/bcel/BcelObjectType;
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            astore 3 /* type */
        start local 3 // org.aspectj.weaver.ReferenceType type
         2: .line 457
            iload 2 /* fromInpath */
            ifeq 4
         3: .line 458
            aload 3 /* type */
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getFilename:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ReferenceType.setBinaryPath:(Ljava/lang/String;)V
         4: .line 460
      StackMap locals: org.aspectj.weaver.ReferenceType
      StackMap stack:
            aload 3 /* type */
            areturn
        end local 3 // org.aspectj.weaver.ReferenceType type
        end local 2 // boolean fromInpath
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    5     1   classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0    5     2  fromInpath  Z
            2    5     3        type  Lorg/aspectj/weaver/ReferenceType;
    MethodParameters:
            Name  Flags
      classFile   
      fromInpath  

  public org.aspectj.weaver.bcel.UnwovenClassFile addClassFile(java.io.File, java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;Ljava/io/File;)Lorg/aspectj/weaver/bcel/UnwovenClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File classFile
        start local 2 // java.io.File inPathDir
        start local 3 // java.io.File outDir
         0: .line 464
            new java.io.FileInputStream
            dup
            aload 1 /* classFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 4 /* fis */
        start local 4 // java.io.FileInputStream fis
         1: .line 465
            aload 4 /* fis */
            invokestatic org.aspectj.util.FileUtil.readAsByteArray:(Ljava/io/InputStream;)[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         2: .line 471
            aload 1 /* classFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 2 /* inPathDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* filename */
        start local 6 // java.lang.String filename
         3: .line 472
            new org.aspectj.weaver.bcel.UnwovenClassFile
            dup
            new java.io.File
            dup
            aload 3 /* outDir */
            aload 6 /* filename */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 5 /* bytes */
            invokespecial org.aspectj.weaver.bcel.UnwovenClassFile.<init>:(Ljava/lang/String;[B)V
            astore 7 /* ucf */
        start local 7 // org.aspectj.weaver.bcel.UnwovenClassFile ucf
         4: .line 473
            aload 6 /* filename */
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 11
         5: .line 476
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuffer sb
         6: .line 477
            aload 8 /* sb */
            aload 2 /* inPathDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 478
            aload 8 /* sb */
            ldc "!"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 479
            aload 8 /* sb */
            aload 6 /* filename */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 480
            aload 0 /* this */
            aload 7 /* ucf */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addClassFile:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Z)Lorg/aspectj/weaver/ReferenceType;
            astore 9 /* type */
        start local 9 // org.aspectj.weaver.ReferenceType type
        10: .line 481
            aload 9 /* type */
            aload 8 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ReferenceType.setBinaryPath:(Ljava/lang/String;)V
        end local 9 // org.aspectj.weaver.ReferenceType type
        end local 8 // java.lang.StringBuffer sb
        11: .line 483
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.io.File java.io.File java.io.File java.io.FileInputStream byte[] java.lang.String org.aspectj.weaver.bcel.UnwovenClassFile
      StackMap stack:
            aload 4 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        12: .line 484
            aload 7 /* ucf */
            areturn
        end local 7 // org.aspectj.weaver.bcel.UnwovenClassFile ucf
        end local 6 // java.lang.String filename
        end local 5 // byte[] bytes
        end local 4 // java.io.FileInputStream fis
        end local 3 // java.io.File outDir
        end local 2 // java.io.File inPathDir
        end local 1 // java.io.File classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   13     1  classFile  Ljava/io/File;
            0   13     2  inPathDir  Ljava/io/File;
            0   13     3     outDir  Ljava/io/File;
            1   13     4        fis  Ljava/io/FileInputStream;
            2   13     5      bytes  [B
            3   13     6   filename  Ljava/lang/String;
            4   13     7        ucf  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            6   11     8         sb  Ljava/lang/StringBuffer;
           10   11     9       type  Lorg/aspectj/weaver/ReferenceType;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      inPathDir  
      outDir     

  public void deleteClassFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String typename
         0: .line 488
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.deletedTypenames:Ljava/util/List;
            aload 1 /* typename */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 489
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 1 /* typename */
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.deleteSourceObjectType:(Lorg/aspectj/weaver/UnresolvedType;)V
         2: .line 490
            return
        end local 1 // java.lang.String typename
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    3     1  typename  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      typename  

  public void setIsBatchWeave(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // boolean b
         0: .line 495
            aload 0 /* this */
            iload 1 /* b */
            putfield org.aspectj.weaver.bcel.BcelWeaver.isBatchWeave:Z
         1: .line 496
            return
        end local 1 // boolean b
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public void prepareForWeave();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 499
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 2
         1: .line 500
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "prepareForWeave"
            aload 0 /* this */
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.hasChangedSinceLastReset:()Z
            putfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
         3: .line 505
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.addedClasses:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         4: goto 10
         5: .line 506
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 2 /* jc */
        start local 2 // org.aspectj.weaver.bcel.UnwovenClassFile jc
         6: .line 507
            aload 2 /* jc */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         7: .line 508
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 3 /* name */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* type */
        start local 4 // org.aspectj.weaver.ResolvedType type
         8: .line 513
            aload 4 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 10
         9: .line 514
            aload 0 /* this */
            dup
            getfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 4 /* type */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect:(Lorg/aspectj/weaver/ResolvedType;)Z
            ior
            putfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
        end local 4 // org.aspectj.weaver.ResolvedType type
        end local 3 // java.lang.String name
        end local 2 // org.aspectj.weaver.bcel.UnwovenClassFile jc
        10: .line 505
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 1 // java.util.Iterator i
        11: .line 518
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.deletedTypenames:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
        12: goto 16
        13: .line 519
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* name */
        start local 2 // java.lang.String name
        14: .line 520
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 2 /* name */
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.deleteAspect:(Lorg/aspectj/weaver/UnresolvedType;)Z
            ifeq 16
        15: .line 521
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelWeaver.needToReweaveWorld:Z
        end local 2 // java.lang.String name
        16: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 1 // java.util.Iterator i
        17: .line 525
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getShadowMungers:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
        18: .line 527
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.rewritePointcuts:(Ljava/util/List;)V
        19: .line 533
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getTypeMungers:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelWeaver.typeMungerList:Ljava/util/List;
        20: .line 534
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getLateTypeMungers:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelWeaver.lateTypeMungerList:Ljava/util/List;
        21: .line 535
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getDeclareParents:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelWeaver.declareParentsList:Ljava/util/List;
        22: .line 537
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addCustomMungers:()V
        23: .line 554
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
            new org.aspectj.weaver.bcel.BcelWeaver$3
            dup
            aload 0 /* this */
            invokespecial org.aspectj.weaver.bcel.BcelWeaver$3.<init>:(Lorg/aspectj/weaver/bcel/BcelWeaver;)V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        24: .line 567
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.inReweavableMode:Z
            ifeq 26
        25: .line 568
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.INFO:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "reweavableMode"
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        26: .line 571
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 28
        27: .line 572
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "prepareForWeave"
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
        28: .line 574
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            4   11     1     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
            6   10     2    jc  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            7   10     3  name  Ljava/lang/String;
            8   10     4  type  Lorg/aspectj/weaver/ResolvedType;
           12   17     1     i  Ljava/util/Iterator<Ljava/lang/String;>;
           14   16     2  name  Ljava/lang/String;

  private void addCustomMungers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 577
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.customMungerFactory:Lorg/aspectj/weaver/CustomMungerFactory;
            ifnull 14
         1: .line 578
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.addedClasses:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1 /* i */
        start local 1 // java.util.Iterator i
         2: goto 13
         3: .line 579
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 2 /* jc */
        start local 2 // org.aspectj.weaver.bcel.UnwovenClassFile jc
         4: .line 580
            aload 2 /* jc */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 581
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 3 /* name */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* type */
        start local 4 // org.aspectj.weaver.ResolvedType type
         6: .line 582
            aload 4 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 13
         7: .line 583
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.customMungerFactory:Lorg/aspectj/weaver/CustomMungerFactory;
            aload 4 /* type */
            invokeinterface org.aspectj.weaver.CustomMungerFactory.createCustomShadowMungers:(Lorg/aspectj/weaver/ResolvedType;)Ljava/util/Collection;
            astore 5 /* shadowMungers */
        start local 5 // java.util.Collection shadowMungers
         8: .line 584
            aload 5 /* shadowMungers */
            ifnull 10
         9: .line 585
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
            aload 5 /* shadowMungers */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 587
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.Iterator org.aspectj.weaver.bcel.UnwovenClassFile java.lang.String org.aspectj.weaver.ResolvedType java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.customMungerFactory:Lorg/aspectj/weaver/CustomMungerFactory;
            aload 4 /* type */
            invokeinterface org.aspectj.weaver.CustomMungerFactory.createCustomTypeMungers:(Lorg/aspectj/weaver/ResolvedType;)Ljava/util/Collection;
            astore 6 /* typeMungers */
        start local 6 // java.util.Collection typeMungers
        11: .line 588
            aload 6 /* typeMungers */
            ifnull 13
        12: .line 589
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.typeMungerList:Ljava/util/List;
            aload 6 /* typeMungers */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.util.Collection typeMungers
        end local 5 // java.util.Collection shadowMungers
        end local 4 // org.aspectj.weaver.ResolvedType type
        end local 3 // java.lang.String name
        end local 2 // org.aspectj.weaver.bcel.UnwovenClassFile jc
        13: .line 578
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.Iterator
      StackMap stack:
            aload 1 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // java.util.Iterator i
        14: .line 594
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            2   14     1              i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
            4   13     2             jc  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            5   13     3           name  Ljava/lang/String;
            6   13     4           type  Lorg/aspectj/weaver/ResolvedType;
            8   13     5  shadowMungers  Ljava/util/Collection<Lorg/aspectj/weaver/ShadowMunger;>;
           11   13     6    typeMungers  Ljava/util/Collection<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  public void setCustomMungerFactory(org.aspectj.weaver.CustomMungerFactory);
    descriptor: (Lorg/aspectj/weaver/CustomMungerFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.CustomMungerFactory factory
         0: .line 597
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.aspectj.weaver.bcel.BcelWeaver.customMungerFactory:Lorg/aspectj/weaver/CustomMungerFactory;
         1: .line 598
            return
        end local 1 // org.aspectj.weaver.CustomMungerFactory factory
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1  factory  Lorg/aspectj/weaver/CustomMungerFactory;
    MethodParameters:
         Name  Flags
      factory  

  private void rewritePointcuts(java.util.List<org.aspectj.weaver.ShadowMunger>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.util.List shadowMungers
         0: .line 607
            new org.aspectj.weaver.patterns.PointcutRewriter
            dup
            invokespecial org.aspectj.weaver.patterns.PointcutRewriter.<init>:()V
            astore 2 /* rewriter */
        start local 2 // org.aspectj.weaver.patterns.PointcutRewriter rewriter
         1: .line 608
            aload 1 /* shadowMungers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 23
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.patterns.PointcutRewriter top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 3 /* munger */
        start local 3 // org.aspectj.weaver.ShadowMunger munger
         3: .line 609
            aload 3 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 5 /* p */
        start local 5 // org.aspectj.weaver.patterns.Pointcut p
         4: .line 610
            aload 2 /* rewriter */
            aload 5 /* p */
            invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.rewrite:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 6 /* newP */
        start local 6 // org.aspectj.weaver.patterns.Pointcut newP
         5: .line 614
            aload 3 /* munger */
            instanceof org.aspectj.weaver.Advice
            ifeq 21
         6: .line 615
            aload 3 /* munger */
            checkcast org.aspectj.weaver.Advice
            astore 7 /* advice */
        start local 7 // org.aspectj.weaver.Advice advice
         7: .line 616
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            ifnull 21
         8: .line 624
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifeq 10
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            ifnull 10
            aload 7 /* advice */
         9: .line 625
            invokevirtual org.aspectj.weaver.Advice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifne 11
        10: .line 626
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.patterns.PointcutRewriter org.aspectj.weaver.ShadowMunger java.util.Iterator org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.Advice
      StackMap stack:
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.isAnnotationStyle:()Z
            ifeq 17
        11: .line 627
      StackMap locals:
      StackMap stack:
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getBaseParameterCount:()I
            istore 8 /* numFormals */
        start local 8 // int numFormals
        12: .line 628
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            istore 10 /* numArgs */
        start local 10 // int numArgs
        13: .line 629
            iload 8 /* numFormals */
            ifle 21
        14: .line 630
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokeinterface org.aspectj.weaver.Member.getParameterNames:(Lorg/aspectj/weaver/World;)[Ljava/lang/String;
            astore 9 /* names */
        start local 9 // java.lang.String[] names
        15: .line 631
            aload 0 /* this */
            aload 6 /* newP */
            aload 5 /* p */
            iload 10 /* numArgs */
            aload 9 /* names */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateBindings:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;)V
        end local 10 // int numArgs
        end local 9 // java.lang.String[] names
        16: .line 633
            goto 21
        end local 8 // int numFormals
        17: .line 634
      StackMap locals:
      StackMap stack:
            aload 7 /* advice */
            invokevirtual org.aspectj.weaver.Advice.getBaseParameterCount:()I
            istore 8 /* numFormals */
        start local 8 // int numFormals
        18: .line 635
            iload 8 /* numFormals */
            ifle 21
        19: .line 636
            aload 7 /* advice */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.Advice.getBaseParameterNames:(Lorg/aspectj/weaver/World;)[Ljava/lang/String;
            astore 9 /* names */
        start local 9 // java.lang.String[] names
        20: .line 637
            aload 0 /* this */
            aload 6 /* newP */
            aload 5 /* p */
            iload 8 /* numFormals */
            aload 9 /* names */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateBindings:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;)V
        end local 9 // java.lang.String[] names
        end local 8 // int numFormals
        end local 7 // org.aspectj.weaver.Advice advice
        21: .line 642
      StackMap locals:
      StackMap stack:
            aload 6 /* newP */
            aload 5 /* p */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
        22: .line 643
            aload 3 /* munger */
            aload 6 /* newP */
            invokevirtual org.aspectj.weaver.ShadowMunger.setPointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 6 // org.aspectj.weaver.patterns.Pointcut newP
        end local 5 // org.aspectj.weaver.patterns.Pointcut p
        end local 3 // org.aspectj.weaver.ShadowMunger munger
        23: .line 608
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.patterns.PointcutRewriter top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        24: .line 649
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* pcMap */
        start local 3 // java.util.Map pcMap
        25: .line 650
            aload 1 /* shadowMungers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 31
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.patterns.PointcutRewriter java.util.Map top java.util.Iterator
      StackMap stack:
        26: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 4 /* munger */
        start local 4 // org.aspectj.weaver.ShadowMunger munger
        27: .line 651
            aload 4 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 6 /* p */
        start local 6 // org.aspectj.weaver.patterns.Pointcut p
        28: .line 652
            aload 0 /* this */
            aload 6 /* p */
            aload 3 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 7 /* newP */
        start local 7 // org.aspectj.weaver.patterns.Pointcut newP
        29: .line 653
            aload 7 /* newP */
            aload 6 /* p */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
        30: .line 654
            aload 4 /* munger */
            aload 7 /* newP */
            invokevirtual org.aspectj.weaver.ShadowMunger.setPointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 7 // org.aspectj.weaver.patterns.Pointcut newP
        end local 6 // org.aspectj.weaver.patterns.Pointcut p
        end local 4 // org.aspectj.weaver.ShadowMunger munger
        31: .line 650
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        32: .line 656
            return
        end local 3 // java.util.Map pcMap
        end local 2 // org.aspectj.weaver.patterns.PointcutRewriter rewriter
        end local 1 // java.util.List shadowMungers
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0           this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   33     1  shadowMungers  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
            1   33     2       rewriter  Lorg/aspectj/weaver/patterns/PointcutRewriter;
            3   23     3         munger  Lorg/aspectj/weaver/ShadowMunger;
            4   23     5              p  Lorg/aspectj/weaver/patterns/Pointcut;
            5   23     6           newP  Lorg/aspectj/weaver/patterns/Pointcut;
            7   21     7         advice  Lorg/aspectj/weaver/Advice;
           12   17     8     numFormals  I
           18   21     8     numFormals  I
           15   16     9          names  [Ljava/lang/String;
           20   21     9          names  [Ljava/lang/String;
           13   16    10        numArgs  I
           25   33     3          pcMap  Ljava/util/Map<Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;>;
           27   31     4         munger  Lorg/aspectj/weaver/ShadowMunger;
           28   31     6              p  Lorg/aspectj/weaver/patterns/Pointcut;
           29   31     7           newP  Lorg/aspectj/weaver/patterns/Pointcut;
    Signature: (Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;)V
    MethodParameters:
               Name  Flags
      shadowMungers  

  private org.aspectj.weaver.patterns.Pointcut shareEntriesFromMap(org.aspectj.weaver.patterns.Pointcut, java.util.Map<org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.Pointcut>);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut p
        start local 2 // java.util.Map pcMap
         0: .line 660
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.NameBindingPointcut
            ifeq 2
         1: .line 661
            aload 1 /* p */
            areturn
         2: .line 663
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.IfPointcut
            ifeq 4
         3: .line 664
            aload 1 /* p */
            areturn
         4: .line 666
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.ConcreteCflowPointcut
            ifeq 6
         5: .line 667
            aload 1 /* p */
            areturn
         6: .line 669
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.AndPointcut
            ifeq 11
         7: .line 670
            aload 1 /* p */
            checkcast org.aspectj.weaver.patterns.AndPointcut
            astore 3 /* apc */
        start local 3 // org.aspectj.weaver.patterns.AndPointcut apc
         8: .line 671
            aload 0 /* this */
            aload 3 /* apc */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* left */
        start local 4 // org.aspectj.weaver.patterns.Pointcut left
         9: .line 672
            aload 0 /* this */
            aload 3 /* apc */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 5 /* right */
        start local 5 // org.aspectj.weaver.patterns.Pointcut right
        10: .line 673
            new org.aspectj.weaver.patterns.AndPointcut
            dup
            aload 4 /* left */
            aload 5 /* right */
            invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
            areturn
        end local 5 // org.aspectj.weaver.patterns.Pointcut right
        end local 4 // org.aspectj.weaver.patterns.Pointcut left
        end local 3 // org.aspectj.weaver.patterns.AndPointcut apc
        11: .line 674
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 16
        12: .line 675
            aload 1 /* p */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            astore 3 /* opc */
        start local 3 // org.aspectj.weaver.patterns.OrPointcut opc
        13: .line 676
            aload 0 /* this */
            aload 3 /* opc */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* left */
        start local 4 // org.aspectj.weaver.patterns.Pointcut left
        14: .line 677
            aload 0 /* this */
            aload 3 /* opc */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 5 /* right */
        start local 5 // org.aspectj.weaver.patterns.Pointcut right
        15: .line 678
            new org.aspectj.weaver.patterns.OrPointcut
            dup
            aload 4 /* left */
            aload 5 /* right */
            invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
            areturn
        end local 5 // org.aspectj.weaver.patterns.Pointcut right
        end local 4 // org.aspectj.weaver.patterns.Pointcut left
        end local 3 // org.aspectj.weaver.patterns.OrPointcut opc
        16: .line 679
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof org.aspectj.weaver.patterns.NotPointcut
            ifeq 20
        17: .line 680
            aload 1 /* p */
            checkcast org.aspectj.weaver.patterns.NotPointcut
            astore 3 /* npc */
        start local 3 // org.aspectj.weaver.patterns.NotPointcut npc
        18: .line 681
            aload 0 /* this */
            aload 3 /* npc */
            invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* pcMap */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.shareEntriesFromMap:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* not */
        start local 4 // org.aspectj.weaver.patterns.Pointcut not
        19: .line 682
            new org.aspectj.weaver.patterns.NotPointcut
            dup
            aload 4 /* not */
            invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;)V
            areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut not
        end local 3 // org.aspectj.weaver.patterns.NotPointcut npc
        20: .line 685
      StackMap locals:
      StackMap stack:
            aload 2 /* pcMap */
            aload 1 /* p */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 686
            aload 2 /* pcMap */
            aload 1 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.Pointcut
            areturn
        22: .line 688
      StackMap locals:
      StackMap stack:
            aload 2 /* pcMap */
            aload 1 /* p */
            aload 1 /* p */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 689
            aload 1 /* p */
            areturn
        end local 2 // java.util.Map pcMap
        end local 1 // org.aspectj.weaver.patterns.Pointcut p
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   24     1      p  Lorg/aspectj/weaver/patterns/Pointcut;
            0   24     2  pcMap  Ljava/util/Map<Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;>;
            8   11     3    apc  Lorg/aspectj/weaver/patterns/AndPointcut;
            9   11     4   left  Lorg/aspectj/weaver/patterns/Pointcut;
           10   11     5  right  Lorg/aspectj/weaver/patterns/Pointcut;
           13   16     3    opc  Lorg/aspectj/weaver/patterns/OrPointcut;
           14   16     4   left  Lorg/aspectj/weaver/patterns/Pointcut;
           15   16     5  right  Lorg/aspectj/weaver/patterns/Pointcut;
           18   20     3    npc  Lorg/aspectj/weaver/patterns/NotPointcut;
           19   20     4    not  Lorg/aspectj/weaver/patterns/Pointcut;
    Signature: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Map<Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;>;)Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
       Name  Flags
      p      
      pcMap  

  private void validateBindings(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.Pointcut, int, java.lang.String[]);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut dnfPointcut
        start local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        start local 3 // int numFormals
        start local 4 // java.lang.String[] names
         0: .line 702
            iload 3 /* numFormals */
            ifne 2
         1: .line 703
            return
         2: .line 705
      StackMap locals:
      StackMap stack:
            aload 1 /* dnfPointcut */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
            if_icmpne 4
         3: .line 706
            return
         4: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* dnfPointcut */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 10
         5: .line 709
            aload 1 /* dnfPointcut */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            astore 5 /* orBasedDNFPointcut */
        start local 5 // org.aspectj.weaver.patterns.OrPointcut orBasedDNFPointcut
         6: .line 710
            iload 3 /* numFormals */
            anewarray org.aspectj.weaver.patterns.Pointcut
            astore 6 /* leftBindings */
        start local 6 // org.aspectj.weaver.patterns.Pointcut[] leftBindings
         7: .line 711
            iload 3 /* numFormals */
            anewarray org.aspectj.weaver.patterns.Pointcut
            astore 7 /* rightBindings */
        start local 7 // org.aspectj.weaver.patterns.Pointcut[] rightBindings
         8: .line 712
            aload 0 /* this */
            aload 5 /* orBasedDNFPointcut */
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 6 /* leftBindings */
            aload 7 /* rightBindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateOrBranch:(Lorg/aspectj/weaver/patterns/OrPointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 7 // org.aspectj.weaver.patterns.Pointcut[] rightBindings
        end local 6 // org.aspectj.weaver.patterns.Pointcut[] leftBindings
        end local 5 // org.aspectj.weaver.patterns.OrPointcut orBasedDNFPointcut
         9: .line 713
            goto 12
        10: .line 714
      StackMap locals:
      StackMap stack:
            iload 3 /* numFormals */
            anewarray org.aspectj.weaver.patterns.Pointcut
            astore 5 /* bindings */
        start local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
        11: .line 715
            aload 0 /* this */
            aload 1 /* dnfPointcut */
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 5 /* bindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranch:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
        12: .line 717
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String[] names
        end local 3 // int numFormals
        end local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 1 // org.aspectj.weaver.patterns.Pointcut dnfPointcut
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   13     1         dnfPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   13     2        userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   13     3          numFormals  I
            0   13     4               names  [Ljava/lang/String;
            6    9     5  orBasedDNFPointcut  Lorg/aspectj/weaver/patterns/OrPointcut;
            7    9     6        leftBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
            8    9     7       rightBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
           11   12     5            bindings  [Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
              Name  Flags
      dnfPointcut   
      userPointcut  
      numFormals    
      names         

  private void validateOrBranch(org.aspectj.weaver.patterns.OrPointcut, org.aspectj.weaver.patterns.Pointcut, int, java.lang.String[], org.aspectj.weaver.patterns.Pointcut[], org.aspectj.weaver.patterns.Pointcut[]);
    descriptor: (Lorg/aspectj/weaver/patterns/OrPointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=7
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.OrPointcut pc
        start local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        start local 3 // int numFormals
        start local 4 // java.lang.String[] names
        start local 5 // org.aspectj.weaver.patterns.Pointcut[] leftBindings
        start local 6 // org.aspectj.weaver.patterns.Pointcut[] rightBindings
         0: .line 721
            aload 1 /* pc */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 7 /* left */
        start local 7 // org.aspectj.weaver.patterns.Pointcut left
         1: .line 722
            aload 1 /* pc */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 8 /* right */
        start local 8 // org.aspectj.weaver.patterns.Pointcut right
         2: .line 723
            aload 7 /* left */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 6
         3: .line 724
            iload 3 /* numFormals */
            anewarray org.aspectj.weaver.patterns.Pointcut
            astore 9 /* newRightBindings */
        start local 9 // org.aspectj.weaver.patterns.Pointcut[] newRightBindings
         4: .line 725
            aload 0 /* this */
            aload 7 /* left */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 5 /* leftBindings */
            aload 9 /* newRightBindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateOrBranch:(Lorg/aspectj/weaver/patterns/OrPointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 9 // org.aspectj.weaver.patterns.Pointcut[] newRightBindings
         5: .line 726
            goto 8
         6: .line 727
      StackMap locals: org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 7 /* left */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
            if_icmpeq 8
         7: .line 728
            aload 0 /* this */
            aload 7 /* left */
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 5 /* leftBindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranch:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
         8: .line 731
      StackMap locals:
      StackMap stack:
            aload 8 /* right */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 12
         9: .line 732
            iload 3 /* numFormals */
            anewarray org.aspectj.weaver.patterns.Pointcut
            astore 9 /* newLeftBindings */
        start local 9 // org.aspectj.weaver.patterns.Pointcut[] newLeftBindings
        10: .line 733
            aload 0 /* this */
            aload 8 /* right */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 9 /* newLeftBindings */
            aload 6 /* rightBindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateOrBranch:(Lorg/aspectj/weaver/patterns/OrPointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 9 // org.aspectj.weaver.patterns.Pointcut[] newLeftBindings
        11: .line 734
            goto 14
        12: .line 735
      StackMap locals:
      StackMap stack:
            aload 8 /* right */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
            if_icmpeq 14
        13: .line 736
            aload 0 /* this */
            aload 8 /* right */
            aload 2 /* userPointcut */
            iload 3 /* numFormals */
            aload 4 /* names */
            aload 6 /* rightBindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranch:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        14: .line 739
      StackMap locals:
      StackMap stack:
            aload 7 /* left */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            aload 8 /* right */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            iand
            istore 9 /* kindsInCommon */
        start local 9 // int kindsInCommon
        15: .line 740
            iload 9 /* kindsInCommon */
            getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
            if_icmpeq 29
            aload 0 /* this */
            aload 7 /* left */
            aload 8 /* right */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.couldEverMatchSameJoinPoints:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 29
        16: .line 743
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* ambiguousNames */
        start local 10 // java.util.List ambiguousNames
        17: .line 744
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        18: goto 26
        19: .line 745
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 5 /* leftBindings */
            iload 11 /* i */
            aaload
            ifnonnull 23
        20: .line 746
            aload 6 /* rightBindings */
            iload 11 /* i */
            aaload
            ifnull 25
        21: .line 747
            aload 10 /* ambiguousNames */
            aload 4 /* names */
            iload 11 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 749
            goto 25
      StackMap locals:
      StackMap stack:
        23: aload 5 /* leftBindings */
            iload 11 /* i */
            aaload
            aload 6 /* rightBindings */
            iload 11 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 750
            aload 10 /* ambiguousNames */
            aload 4 /* names */
            iload 11 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 744
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 11 /* i */
            iload 3 /* numFormals */
            if_icmplt 19
        end local 11 // int i
        27: .line 753
            aload 10 /* ambiguousNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 29
        28: .line 754
            aload 0 /* this */
            aload 2 /* userPointcut */
            aload 10 /* ambiguousNames */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseAmbiguityInDisjunctionError:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/List;)V
        end local 10 // java.util.List ambiguousNames
        29: .line 757
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int kindsInCommon
        end local 8 // org.aspectj.weaver.patterns.Pointcut right
        end local 7 // org.aspectj.weaver.patterns.Pointcut left
        end local 6 // org.aspectj.weaver.patterns.Pointcut[] rightBindings
        end local 5 // org.aspectj.weaver.patterns.Pointcut[] leftBindings
        end local 4 // java.lang.String[] names
        end local 3 // int numFormals
        end local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 1 // org.aspectj.weaver.patterns.OrPointcut pc
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0              this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   30     1                pc  Lorg/aspectj/weaver/patterns/OrPointcut;
            0   30     2      userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   30     3        numFormals  I
            0   30     4             names  [Ljava/lang/String;
            0   30     5      leftBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
            0   30     6     rightBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
            1   30     7              left  Lorg/aspectj/weaver/patterns/Pointcut;
            2   30     8             right  Lorg/aspectj/weaver/patterns/Pointcut;
            4    5     9  newRightBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
           10   11     9   newLeftBindings  [Lorg/aspectj/weaver/patterns/Pointcut;
           15   30     9     kindsInCommon  I
           17   29    10    ambiguousNames  Ljava/util/List<Ljava/lang/String;>;
           18   27    11                 i  I
    MethodParameters:
               Name  Flags
      pc             
      userPointcut   
      numFormals     
      names          
      leftBindings   
      rightBindings  

  private void validateSingleBranch(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.Pointcut, int, java.lang.String[], org.aspectj.weaver.patterns.Pointcut[]);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;I[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut pc
        start local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        start local 3 // int numFormals
        start local 4 // java.lang.String[] names
        start local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
         0: .line 763
            iload 3 /* numFormals */
            newarray 4
            astore 6 /* foundFormals */
        start local 6 // boolean[] foundFormals
         1: .line 764
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         2: goto 5
         3: .line 765
      StackMap locals: boolean[] int
      StackMap stack:
            aload 6 /* foundFormals */
            iload 7 /* i */
            iconst_0
            bastore
         4: .line 764
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 7 /* i */
            aload 6 /* foundFormals */
            arraylength
            if_icmplt 3
        end local 7 // int i
         6: .line 767
            aload 0 /* this */
            aload 1 /* pc */
            aload 2 /* userPointcut */
            aload 6 /* foundFormals */
            aload 4 /* names */
            aload 5 /* bindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranchRecursion:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;[Z[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
         7: .line 768
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 21
         9: .line 769
      StackMap locals:
      StackMap stack:
            aload 6 /* foundFormals */
            iload 7 /* i */
            baload
            ifne 20
        10: .line 770
            iconst_0
            istore 8 /* ignore */
        start local 8 // boolean ignore
        11: .line 773
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        12: goto 17
        13: .line 774
      StackMap locals: int int
      StackMap stack:
            aload 4 /* names */
            iload 7 /* i */
            aaload
            ifnull 16
            aload 4 /* names */
            iload 7 /* i */
            aaload
            aload 2 /* userPointcut */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            iload 9 /* j */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 775
            iconst_1
            istore 8 /* ignore */
        15: .line 776
            goto 18
        16: .line 773
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* j */
            aload 2 /* userPointcut */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            arraylength
            if_icmplt 13
        end local 9 // int j
        18: .line 779
      StackMap locals:
      StackMap stack:
            iload 8 /* ignore */
            ifne 20
        19: .line 780
            aload 0 /* this */
            aload 4 /* names */
            iload 7 /* i */
            aaload
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseUnboundFormalError:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 8 // boolean ignore
        20: .line 768
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            aload 6 /* foundFormals */
            arraylength
            if_icmplt 9
        end local 7 // int i
        22: .line 784
            return
        end local 6 // boolean[] foundFormals
        end local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
        end local 4 // java.lang.String[] names
        end local 3 // int numFormals
        end local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 1 // org.aspectj.weaver.patterns.Pointcut pc
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   23     1            pc  Lorg/aspectj/weaver/patterns/Pointcut;
            0   23     2  userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   23     3    numFormals  I
            0   23     4         names  [Ljava/lang/String;
            0   23     5      bindings  [Lorg/aspectj/weaver/patterns/Pointcut;
            1   23     6  foundFormals  [Z
            2    6     7             i  I
            8   22     7             i  I
           11   20     8        ignore  Z
           12   18     9             j  I
    MethodParameters:
              Name  Flags
      pc            
      userPointcut  
      numFormals    
      names         
      bindings      

  private void validateSingleBranchRecursion(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.Pointcut, boolean[], java.lang.String[], org.aspectj.weaver.patterns.Pointcut[]);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;[Z[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut pc
        start local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        start local 3 // boolean[] foundFormals
        start local 4 // java.lang.String[] names
        start local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
         0: .line 789
            aload 1 /* pc */
            instanceof org.aspectj.weaver.patterns.NotPointcut
            ifeq 7
         1: .line 791
            aload 1 /* pc */
            checkcast org.aspectj.weaver.patterns.NotPointcut
            astore 6 /* not */
        start local 6 // org.aspectj.weaver.patterns.NotPointcut not
         2: .line 792
            aload 6 /* not */
            invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            instanceof org.aspectj.weaver.patterns.NameBindingPointcut
            ifeq 46
         3: .line 793
            aload 6 /* not */
            invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            checkcast org.aspectj.weaver.patterns.NameBindingPointcut
            astore 7 /* nnbp */
        start local 7 // org.aspectj.weaver.patterns.NameBindingPointcut nnbp
         4: .line 794
            aload 7 /* nnbp */
            invokevirtual org.aspectj.weaver.patterns.NameBindingPointcut.getBindingAnnotationTypePatterns:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 46
            aload 7 /* nnbp */
            invokevirtual org.aspectj.weaver.patterns.NameBindingPointcut.getBindingTypePatterns:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 46
         5: .line 795
            aload 0 /* this */
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseNegationBindingError:(Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 7 // org.aspectj.weaver.patterns.NameBindingPointcut nnbp
        end local 6 // org.aspectj.weaver.patterns.NotPointcut not
         6: .line 798
            goto 46
      StackMap locals:
      StackMap stack:
         7: aload 1 /* pc */
            instanceof org.aspectj.weaver.patterns.AndPointcut
            ifeq 12
         8: .line 799
            aload 1 /* pc */
            checkcast org.aspectj.weaver.patterns.AndPointcut
            astore 6 /* and */
        start local 6 // org.aspectj.weaver.patterns.AndPointcut and
         9: .line 800
            aload 0 /* this */
            aload 6 /* and */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* userPointcut */
            aload 3 /* foundFormals */
            aload 4 /* names */
            aload 5 /* bindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranchRecursion:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;[Z[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        10: .line 801
            aload 0 /* this */
            aload 6 /* and */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* userPointcut */
            aload 3 /* foundFormals */
            aload 4 /* names */
            aload 5 /* bindings */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.validateSingleBranchRecursion:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;[Z[Ljava/lang/String;[Lorg/aspectj/weaver/patterns/Pointcut;)V
        end local 6 // org.aspectj.weaver.patterns.AndPointcut and
        11: .line 802
            goto 46
      StackMap locals:
      StackMap stack:
        12: aload 1 /* pc */
            instanceof org.aspectj.weaver.patterns.NameBindingPointcut
            ifeq 34
        13: .line 803
            aload 1 /* pc */
            checkcast org.aspectj.weaver.patterns.NameBindingPointcut
            invokevirtual org.aspectj.weaver.patterns.NameBindingPointcut.getBindingTypePatterns:()Ljava/util/List;
            astore 6 /* bindingTypePatterns */
        start local 6 // java.util.List bindingTypePatterns
        14: .line 804
            aload 6 /* bindingTypePatterns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.BindingTypePattern
            astore 7 /* bindingTypePattern */
        start local 7 // org.aspectj.weaver.patterns.BindingTypePattern bindingTypePattern
        16: .line 805
            aload 7 /* bindingTypePattern */
            invokevirtual org.aspectj.weaver.patterns.BindingTypePattern.getFormalIndex:()I
            istore 9 /* index */
        start local 9 // int index
        17: .line 806
            aload 5 /* bindings */
            iload 9 /* index */
            aload 1 /* pc */
            aastore
        18: .line 807
            aload 3 /* foundFormals */
            iload 9 /* index */
            baload
            ifeq 21
        19: .line 808
            aload 0 /* this */
            aload 4 /* names */
            iload 9 /* index */
            aaload
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseAmbiguousBindingError:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
        20: .line 809
            goto 22
        21: .line 810
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List org.aspectj.weaver.patterns.BindingTypePattern java.util.Iterator int
      StackMap stack:
            aload 3 /* foundFormals */
            iload 9 /* index */
            iconst_1
            bastore
        end local 9 // int index
        end local 7 // org.aspectj.weaver.patterns.BindingTypePattern bindingTypePattern
        22: .line 804
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        23: .line 813
            aload 1 /* pc */
            checkcast org.aspectj.weaver.patterns.NameBindingPointcut
            invokevirtual org.aspectj.weaver.patterns.NameBindingPointcut.getBindingAnnotationTypePatterns:()Ljava/util/List;
            astore 7 /* bindingAnnotationTypePatterns */
        start local 7 // java.util.List bindingAnnotationTypePatterns
        24: .line 814
            aload 7 /* bindingAnnotationTypePatterns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 32
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        25: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.BindingPattern
            astore 8 /* bindingAnnotationTypePattern */
        start local 8 // org.aspectj.weaver.patterns.BindingPattern bindingAnnotationTypePattern
        26: .line 815
            aload 8 /* bindingAnnotationTypePattern */
            invokeinterface org.aspectj.weaver.patterns.BindingPattern.getFormalIndex:()I
            istore 10 /* index */
        start local 10 // int index
        27: .line 816
            aload 5 /* bindings */
            iload 10 /* index */
            aload 1 /* pc */
            aastore
        28: .line 817
            aload 3 /* foundFormals */
            iload 10 /* index */
            baload
            ifeq 31
        29: .line 818
            aload 0 /* this */
            aload 4 /* names */
            iload 10 /* index */
            aaload
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseAmbiguousBindingError:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
        30: .line 819
            goto 32
        31: .line 820
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List java.util.List org.aspectj.weaver.patterns.BindingPattern java.util.Iterator int
      StackMap stack:
            aload 3 /* foundFormals */
            iload 10 /* index */
            iconst_1
            bastore
        end local 10 // int index
        end local 8 // org.aspectj.weaver.patterns.BindingPattern bindingAnnotationTypePattern
        32: .line 814
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[] java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 7 // java.util.List bindingAnnotationTypePatterns
        end local 6 // java.util.List bindingTypePatterns
        33: .line 823
            goto 46
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut boolean[] java.lang.String[] org.aspectj.weaver.patterns.Pointcut[]
      StackMap stack:
        34: aload 1 /* pc */
            instanceof org.aspectj.weaver.patterns.ConcreteCflowPointcut
            ifeq 46
        35: .line 824
            aload 1 /* pc */
            checkcast org.aspectj.weaver.patterns.ConcreteCflowPointcut
            astore 6 /* cfp */
        start local 6 // org.aspectj.weaver.patterns.ConcreteCflowPointcut cfp
        36: .line 825
            aload 6 /* cfp */
            invokevirtual org.aspectj.weaver.patterns.ConcreteCflowPointcut.getUsedFormalSlots:()[I
            astore 7 /* slots */
        start local 7 // int[] slots
        37: .line 826
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        38: goto 45
        39: .line 827
      StackMap locals: org.aspectj.weaver.patterns.ConcreteCflowPointcut int[] int
      StackMap stack:
            aload 5 /* bindings */
            aload 7 /* slots */
            iload 8 /* i */
            iaload
            aload 6 /* cfp */
            aastore
        40: .line 828
            aload 3 /* foundFormals */
            aload 7 /* slots */
            iload 8 /* i */
            iaload
            baload
            ifeq 43
        41: .line 829
            aload 0 /* this */
            aload 4 /* names */
            aload 7 /* slots */
            iload 8 /* i */
            iaload
            aaload
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.raiseAmbiguousBindingError:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
        42: .line 830
            goto 44
        43: .line 831
      StackMap locals:
      StackMap stack:
            aload 3 /* foundFormals */
            aload 7 /* slots */
            iload 8 /* i */
            iaload
            iconst_1
            bastore
        44: .line 826
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 8 /* i */
            aload 7 /* slots */
            arraylength
            if_icmplt 39
        end local 8 // int i
        end local 7 // int[] slots
        end local 6 // org.aspectj.weaver.patterns.ConcreteCflowPointcut cfp
        46: .line 835
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.aspectj.weaver.patterns.Pointcut[] bindings
        end local 4 // java.lang.String[] names
        end local 3 // boolean[] foundFormals
        end local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 1 // org.aspectj.weaver.patterns.Pointcut pc
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   47     0                           this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   47     1                             pc  Lorg/aspectj/weaver/patterns/Pointcut;
            0   47     2                   userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   47     3                   foundFormals  [Z
            0   47     4                          names  [Ljava/lang/String;
            0   47     5                       bindings  [Lorg/aspectj/weaver/patterns/Pointcut;
            2    6     6                            not  Lorg/aspectj/weaver/patterns/NotPointcut;
            4    6     7                           nnbp  Lorg/aspectj/weaver/patterns/NameBindingPointcut;
            9   11     6                            and  Lorg/aspectj/weaver/patterns/AndPointcut;
           14   33     6            bindingTypePatterns  Ljava/util/List<Lorg/aspectj/weaver/patterns/BindingTypePattern;>;
           16   22     7             bindingTypePattern  Lorg/aspectj/weaver/patterns/BindingTypePattern;
           17   22     9                          index  I
           24   33     7  bindingAnnotationTypePatterns  Ljava/util/List<Lorg/aspectj/weaver/patterns/BindingPattern;>;
           26   32     8   bindingAnnotationTypePattern  Lorg/aspectj/weaver/patterns/BindingPattern;
           27   32    10                          index  I
           36   46     6                            cfp  Lorg/aspectj/weaver/patterns/ConcreteCflowPointcut;
           37   46     7                          slots  [I
           38   46     8                              i  I
    MethodParameters:
              Name  Flags
      pc            
      userPointcut  
      foundFormals  
      names         
      bindings      

  private boolean couldEverMatchSameJoinPoints(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut left
        start local 2 // org.aspectj.weaver.patterns.Pointcut right
         0: .line 844
            aload 1 /* left */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 7
         1: .line 845
            aload 1 /* left */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            astore 3 /* leftOrPointcut */
        start local 3 // org.aspectj.weaver.patterns.OrPointcut leftOrPointcut
         2: .line 846
            aload 0 /* this */
            aload 3 /* leftOrPointcut */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* right */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.couldEverMatchSameJoinPoints:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 4
         3: .line 847
            iconst_1
            ireturn
         4: .line 849
      StackMap locals: org.aspectj.weaver.patterns.OrPointcut
      StackMap stack:
            aload 0 /* this */
            aload 3 /* leftOrPointcut */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* right */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.couldEverMatchSameJoinPoints:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 6
         5: .line 850
            iconst_1
            ireturn
         6: .line 852
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.aspectj.weaver.patterns.OrPointcut leftOrPointcut
         7: .line 855
      StackMap locals:
      StackMap stack:
            aload 2 /* right */
            instanceof org.aspectj.weaver.patterns.OrPointcut
            ifeq 14
         8: .line 856
            aload 2 /* right */
            checkcast org.aspectj.weaver.patterns.OrPointcut
            astore 3 /* rightOrPointcut */
        start local 3 // org.aspectj.weaver.patterns.OrPointcut rightOrPointcut
         9: .line 857
            aload 0 /* this */
            aload 1 /* left */
            aload 3 /* rightOrPointcut */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.couldEverMatchSameJoinPoints:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 11
        10: .line 858
            iconst_1
            ireturn
        11: .line 860
      StackMap locals: org.aspectj.weaver.patterns.OrPointcut
      StackMap stack:
            aload 0 /* this */
            aload 1 /* left */
            aload 3 /* rightOrPointcut */
            invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.couldEverMatchSameJoinPoints:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 13
        12: .line 861
            iconst_1
            ireturn
        13: .line 863
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.aspectj.weaver.patterns.OrPointcut rightOrPointcut
        14: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* left */
            ldc Lorg/aspectj/weaver/patterns/WithinPointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            checkcast org.aspectj.weaver.patterns.WithinPointcut
            astore 3 /* leftWithin */
        start local 3 // org.aspectj.weaver.patterns.WithinPointcut leftWithin
        15: .line 868
            aload 0 /* this */
            aload 2 /* right */
            ldc Lorg/aspectj/weaver/patterns/WithinPointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            checkcast org.aspectj.weaver.patterns.WithinPointcut
            astore 4 /* rightWithin */
        start local 4 // org.aspectj.weaver.patterns.WithinPointcut rightWithin
        16: .line 869
            aload 3 /* leftWithin */
            ifnull 19
            aload 4 /* rightWithin */
            ifnull 19
        17: .line 870
            aload 3 /* leftWithin */
            aload 4 /* rightWithin */
            invokevirtual org.aspectj.weaver.patterns.WithinPointcut.couldEverMatchSameJoinPointsAs:(Lorg/aspectj/weaver/patterns/WithinPointcut;)Z
            ifne 19
        18: .line 871
            iconst_0
            ireturn
        19: .line 875
      StackMap locals: org.aspectj.weaver.patterns.WithinPointcut org.aspectj.weaver.patterns.WithinPointcut
      StackMap stack:
            aload 0 /* this */
            aload 1 /* left */
            ldc Lorg/aspectj/weaver/patterns/KindedPointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            checkcast org.aspectj.weaver.patterns.KindedPointcut
            astore 5 /* leftKind */
        start local 5 // org.aspectj.weaver.patterns.KindedPointcut leftKind
        20: .line 876
            aload 0 /* this */
            aload 2 /* right */
            ldc Lorg/aspectj/weaver/patterns/KindedPointcut;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            checkcast org.aspectj.weaver.patterns.KindedPointcut
            astore 6 /* rightKind */
        start local 6 // org.aspectj.weaver.patterns.KindedPointcut rightKind
        21: .line 877
            aload 5 /* leftKind */
            ifnull 24
            aload 6 /* rightKind */
            ifnull 24
        22: .line 878
            aload 5 /* leftKind */
            aload 6 /* rightKind */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.couldEverMatchSameJoinPointsAs:(Lorg/aspectj/weaver/patterns/KindedPointcut;)Z
            ifne 24
        23: .line 879
            iconst_0
            ireturn
        24: .line 882
      StackMap locals: org.aspectj.weaver.patterns.KindedPointcut org.aspectj.weaver.patterns.KindedPointcut
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // org.aspectj.weaver.patterns.KindedPointcut rightKind
        end local 5 // org.aspectj.weaver.patterns.KindedPointcut leftKind
        end local 4 // org.aspectj.weaver.patterns.WithinPointcut rightWithin
        end local 3 // org.aspectj.weaver.patterns.WithinPointcut leftWithin
        end local 2 // org.aspectj.weaver.patterns.Pointcut right
        end local 1 // org.aspectj.weaver.patterns.Pointcut left
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   25     1             left  Lorg/aspectj/weaver/patterns/Pointcut;
            0   25     2            right  Lorg/aspectj/weaver/patterns/Pointcut;
            2    7     3   leftOrPointcut  Lorg/aspectj/weaver/patterns/OrPointcut;
            9   14     3  rightOrPointcut  Lorg/aspectj/weaver/patterns/OrPointcut;
           15   25     3       leftWithin  Lorg/aspectj/weaver/patterns/WithinPointcut;
           16   25     4      rightWithin  Lorg/aspectj/weaver/patterns/WithinPointcut;
           20   25     5         leftKind  Lorg/aspectj/weaver/patterns/KindedPointcut;
           21   25     6        rightKind  Lorg/aspectj/weaver/patterns/KindedPointcut;
    MethodParameters:
       Name  Flags
      left   
      right  

  private org.aspectj.weaver.patterns.Pointcut findFirstPointcutIn(org.aspectj.weaver.patterns.Pointcut, java.lang.Class);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut toSearch
        start local 2 // java.lang.Class toLookFor
         0: .line 886
            aload 1 /* toSearch */
            instanceof org.aspectj.weaver.patterns.NotPointcut
            ifeq 2
         1: .line 887
            aconst_null
            areturn
         2: .line 889
      StackMap locals:
      StackMap stack:
            aload 2 /* toLookFor */
            aload 1 /* toSearch */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 890
            aload 1 /* toSearch */
            areturn
         4: .line 892
      StackMap locals:
      StackMap stack:
            aload 1 /* toSearch */
            instanceof org.aspectj.weaver.patterns.AndPointcut
            ifeq 10
         5: .line 893
            aload 1 /* toSearch */
            checkcast org.aspectj.weaver.patterns.AndPointcut
            astore 3 /* apc */
        start local 3 // org.aspectj.weaver.patterns.AndPointcut apc
         6: .line 894
            aload 0 /* this */
            aload 3 /* apc */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* toLookFor */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* left */
        start local 4 // org.aspectj.weaver.patterns.Pointcut left
         7: .line 895
            aload 4 /* left */
            ifnull 9
         8: .line 896
            aload 4 /* left */
            areturn
         9: .line 898
      StackMap locals: org.aspectj.weaver.patterns.AndPointcut org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 0 /* this */
            aload 3 /* apc */
            invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* toLookFor */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.findFirstPointcutIn:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/Class;)Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut left
        end local 3 // org.aspectj.weaver.patterns.AndPointcut apc
        10: .line 900
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Class toLookFor
        end local 1 // org.aspectj.weaver.patterns.Pointcut toSearch
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   11     1   toSearch  Lorg/aspectj/weaver/patterns/Pointcut;
            0   11     2  toLookFor  Ljava/lang/Class;
            6   10     3        apc  Lorg/aspectj/weaver/patterns/AndPointcut;
            7   10     4       left  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
           Name  Flags
      toSearch   
      toLookFor  

  private void raiseNegationBindingError(org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut userPointcut
         0: .line 907
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "negationDoesntAllowBinding"
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* userPointcut */
         1: .line 908
            invokevirtual org.aspectj.weaver.patterns.Pointcut.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* userPointcut */
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(Lorg/aspectj/weaver/IHasPosition;)Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         2: .line 907
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
         3: .line 909
            return
        end local 1 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    4     1  userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
              Name  Flags
      userPointcut  

  private void raiseAmbiguousBindingError(java.lang.String, org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String name
        start local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
         0: .line 912
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "ambiguousBindingInPC"
            aload 1 /* name */
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* pointcut */
         1: .line 913
            invokevirtual org.aspectj.weaver.patterns.Pointcut.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            aload 2 /* pointcut */
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(Lorg/aspectj/weaver/IHasPosition;)Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         2: .line 912
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
         3: .line 914
            return
        end local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    4     1      name  Ljava/lang/String;
            0    4     2  pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
          Name  Flags
      name      
      pointcut  

  private void raiseAmbiguityInDisjunctionError(org.aspectj.weaver.patterns.Pointcut, java.util.List<java.lang.String>);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.Pointcut userPointcut
        start local 2 // java.util.List names
         0: .line 920
            new java.lang.StringBuffer
            dup
            aload 2 /* names */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* formalNames */
        start local 3 // java.lang.StringBuffer formalNames
         1: .line 921
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 922
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 3 /* formalNames */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 923
            aload 3 /* formalNames */
            aload 2 /* names */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 921
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 2 /* names */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 4 // int i
         7: .line 925
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "ambiguousBindingInOrPC"
            aload 3 /* formalNames */
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* userPointcut */
         8: .line 926
            invokevirtual org.aspectj.weaver.patterns.Pointcut.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* userPointcut */
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(Lorg/aspectj/weaver/IHasPosition;)Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         9: .line 925
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        10: .line 927
            return
        end local 3 // java.lang.StringBuffer formalNames
        end local 2 // java.util.List names
        end local 1 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   11     1  userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   11     2         names  Ljava/util/List<Ljava/lang/String;>;
            1   11     3   formalNames  Ljava/lang/StringBuffer;
            2    7     4             i  I
    Signature: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      userPointcut  
      names         

  private void raiseUnboundFormalError(java.lang.String, org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/patterns/Pointcut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String name
        start local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
         0: .line 934
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "unboundFormalInPC"
            aload 1 /* name */
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
         1: .line 935
            aload 2 /* userPointcut */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         2: .line 934
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
         3: .line 936
            return
        end local 2 // org.aspectj.weaver.patterns.Pointcut userPointcut
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    4     1          name  Ljava/lang/String;
            0    4     2  userPointcut  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
              Name  Flags
      name          
      userPointcut  

  public void addManifest(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.util.jar.Manifest newManifest
         0: .line 940
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
            ifnonnull 2
         1: .line 941
            aload 0 /* this */
            aload 1 /* newManifest */
            putfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
         2: .line 943
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.jar.Manifest newManifest
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    3     1  newManifest  Ljava/util/jar/Manifest;
    MethodParameters:
             Name  Flags
      newManifest  

  public java.util.jar.Manifest getManifest(boolean);
    descriptor: (Z)Ljava/util/jar/Manifest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // boolean shouldCreate
         0: .line 946
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
            ifnonnull 8
            iload 1 /* shouldCreate */
            ifeq 8
         1: .line 947
            ldc "1.0"
            astore 2 /* WEAVER_MANIFEST_VERSION */
        start local 2 // java.lang.String WEAVER_MANIFEST_VERSION
         2: .line 948
            new java.util.jar.Attributes$Name
            dup
            ldc "Created-By"
            invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
            astore 3 /* CREATED_BY */
        start local 3 // java.util.jar.Attributes$Name CREATED_BY
         3: .line 949
            ldc "AspectJ Compiler"
            astore 4 /* WEAVER_CREATED_BY */
        start local 4 // java.lang.String WEAVER_CREATED_BY
         4: .line 951
            aload 0 /* this */
            new java.util.jar.Manifest
            dup
            invokespecial java.util.jar.Manifest.<init>:()V
            putfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
         5: .line 953
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 5 /* attributes */
        start local 5 // java.util.jar.Attributes attributes
         6: .line 954
            aload 5 /* attributes */
            getstatic java.util.jar.Attributes$Name.MANIFEST_VERSION:Ljava/util/jar/Attributes$Name;
            aload 2 /* WEAVER_MANIFEST_VERSION */
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 955
            aload 5 /* attributes */
            aload 3 /* CREATED_BY */
            aload 4 /* WEAVER_CREATED_BY */
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.jar.Attributes attributes
        end local 4 // java.lang.String WEAVER_CREATED_BY
        end local 3 // java.util.jar.Attributes$Name CREATED_BY
        end local 2 // java.lang.String WEAVER_MANIFEST_VERSION
         8: .line 958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.manifest:Ljava/util/jar/Manifest;
            areturn
        end local 1 // boolean shouldCreate
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    9     0                     this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    9     1             shouldCreate  Z
            2    8     2  WEAVER_MANIFEST_VERSION  Ljava/lang/String;
            3    8     3               CREATED_BY  Ljava/util/jar/Attributes$Name;
            4    8     4        WEAVER_CREATED_BY  Ljava/lang/String;
            6    8     5               attributes  Ljava/util/jar/Attributes;
    MethodParameters:
              Name  Flags
      shouldCreate  

  public java.util.Collection<java.lang.String> weave(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.io.File file
         0: .line 965
            aload 1 /* file */
            invokestatic org.aspectj.util.FileUtil.makeOutputStream:(Ljava/io/File;)Ljava/io/BufferedOutputStream;
            astore 2 /* os */
        start local 2 // java.io.OutputStream os
         1: .line 966
            aload 0 /* this */
            new java.util.zip.ZipOutputStream
            dup
            aload 2 /* os */
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
            putfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
         2: .line 967
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.prepareForWeave:()V
         3: .line 968
            aload 0 /* this */
            new org.aspectj.weaver.bcel.BcelWeaver$4
            dup
            aload 0 /* this */
            invokespecial org.aspectj.weaver.bcel.BcelWeaver$4.<init>:(Lorg/aspectj/weaver/bcel/BcelWeaver;)V
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weave:(Lorg/aspectj/weaver/IClassFileProvider;)Ljava/util/Collection;
            astore 3 /* c */
        start local 3 // java.util.Collection c
         4: .line 1006
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            invokevirtual java.util.zip.ZipOutputStream.close:()V
         5: .line 1007
            aload 3 /* c */
            areturn
        end local 3 // java.util.Collection c
        end local 2 // java.io.OutputStream os
        end local 1 // java.io.File file
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    6     1  file  Ljava/io/File;
            1    6     2    os  Ljava/io/OutputStream;
            4    6     3     c  Ljava/util/Collection<Ljava/lang/String;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      file  

  public java.util.Collection<java.lang.String> weave(org.aspectj.weaver.IClassFileProvider);
    descriptor: (Lorg/aspectj/weaver/IClassFileProvider;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.IClassFileProvider input
         0: .line 1014
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 2
         1: .line 1015
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "weave"
            aload 0 /* this */
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1017
      StackMap locals:
      StackMap stack:
            bipush 22
            ldc ""
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 2 /* weaveToken */
        start local 2 // org.aspectj.bridge.context.ContextToken weaveToken
         3: .line 1018
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* wovenClassNames */
        start local 3 // java.util.Collection wovenClassNames
         4: .line 1019
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getRequestor:()Lorg/aspectj/weaver/IWeaveRequestor;
            astore 4 /* requestor */
        start local 4 // org.aspectj.weaver.IWeaveRequestor requestor
         5: .line 1021
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModel:()Lorg/aspectj/util/IStructureModel;
            ifnull 7
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isMinimalModel:()Z
            ifeq 7
         6: .line 1022
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
         7: .line 1024
      StackMap locals: org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModel:()Lorg/aspectj/util/IStructureModel;
            ifnull 14
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.isBatchWeave:Z
            ifne 14
         8: .line 1025
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModelAsAsmManager:()Lorg/aspectj/asm/AsmManager;
            astore 5 /* manager */
        start local 5 // org.aspectj.asm.AsmManager manager
         9: .line 1026
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
        10: goto 13
        11: .line 1027
      StackMap locals: org.aspectj.asm.AsmManager java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 7 /* classFile */
        start local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        12: .line 1030
            aload 5 /* manager */
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            invokevirtual org.aspectj.asm.AsmManager.removeRelationshipsTargettingThisType:(Ljava/lang/String;)V
        end local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        13: .line 1026
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 6 // java.util.Iterator i
        end local 5 // org.aspectj.asm.AsmManager manager
        14: .line 1036
      StackMap locals:
      StackMap stack:
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 5 /* i */
        start local 5 // java.util.Iterator i
        15: goto 22
        16: .line 1037
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 6 /* classFile */
        start local 6 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        17: .line 1038
            aload 6 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 22
        18: .line 1039
            aload 6 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 7 /* className */
        start local 7 // java.lang.String className
        19: .line 1040
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 7 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 8 /* theType */
        start local 8 // org.aspectj.weaver.ResolvedType theType
        20: .line 1041
            aload 8 /* theType */
            ifnull 22
        21: .line 1042
            aload 8 /* theType */
            invokevirtual org.aspectj.weaver.ResolvedType.ensureConsistent:()V
        end local 8 // org.aspectj.weaver.ResolvedType theType
        end local 7 // java.lang.String className
        end local 6 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        22: .line 1036
      StackMap locals:
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 5 // java.util.Iterator i
        23: .line 1048
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.isApplyAtAspectJMungersOnly:()Z
            ifeq 53
        24: .line 1050
            bipush 32
            ldc ""
        25: .line 1049
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 5 /* atAspectJMungersOnly */
        start local 5 // org.aspectj.bridge.context.ContextToken atAspectJMungersOnly
        26: .line 1051
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.weavingAspects:()V
        27: .line 1053
            bipush 25
            ldc ""
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            pop
        28: .line 1054
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
        29: goto 49
        30: .line 1055
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 7 /* classFile */
        start local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        31: .line 1056
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 49
        32: .line 1057
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 8 /* className */
        start local 8 // java.lang.String className
        33: .line 1058
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 8 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 9 /* theType */
        start local 9 // org.aspectj.weaver.ResolvedType theType
        34: .line 1059
            aload 9 /* theType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifeq 49
        35: .line 1060
            aload 9 /* theType */
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 10 /* classType */
        start local 10 // org.aspectj.weaver.bcel.BcelObjectType classType
        36: .line 1061
            aload 10 /* classType */
            ifnonnull 38
        37: .line 1062
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't find bcel delegate for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* theType */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 1064
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken java.util.Iterator org.aspectj.weaver.bcel.UnwovenClassFile java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.bcel.BcelObjectType
      StackMap stack:
            aload 10 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            astore 11 /* clazz */
        start local 11 // org.aspectj.weaver.bcel.LazyClassGen clazz
        39: .line 1065
            new org.aspectj.weaver.bcel.BcelPerClauseAspectAdder
            dup
            aload 9 /* theType */
            aload 9 /* theType */
            invokevirtual org.aspectj.weaver.ResolvedType.getPerClause:()Lorg/aspectj/weaver/patterns/PerClause;
            invokevirtual org.aspectj.weaver.patterns.PerClause.getKind:()Lorg/aspectj/weaver/patterns/PerClause$Kind;
            invokespecial org.aspectj.weaver.bcel.BcelPerClauseAspectAdder.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/patterns/PerClause$Kind;)V
            astore 12 /* selfMunger */
        start local 12 // org.aspectj.weaver.bcel.BcelPerClauseAspectAdder selfMunger
        40: .line 1066
            aload 12 /* selfMunger */
            aload 11 /* clazz */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelPerClauseAspectAdder.forceMunge:(Lorg/aspectj/weaver/bcel/LazyClassGen;Z)Z
            pop
        41: .line 1067
            aload 10 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.finishedWith:()V
        42: .line 1068
            aload 0 /* this */
            aload 11 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor:(Lorg/aspectj/weaver/bcel/LazyClassGen;)[Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            astore 13 /* newClasses */
        start local 13 // org.aspectj.weaver.bcel.UnwovenClassFile[] newClasses
        43: .line 1069
            iconst_0
            istore 14 /* news */
        start local 14 // int news
        44: goto 47
        45: .line 1070
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken java.util.Iterator org.aspectj.weaver.bcel.UnwovenClassFile java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.bcel.LazyClassGen org.aspectj.weaver.bcel.BcelPerClauseAspectAdder org.aspectj.weaver.bcel.UnwovenClassFile[] int
      StackMap stack:
            aload 4 /* requestor */
            aload 13 /* newClasses */
            iload 14 /* news */
            aaload
            invokeinterface org.aspectj.weaver.IWeaveRequestor.acceptResult:(Lorg/aspectj/weaver/IUnwovenClassFile;)V
        46: .line 1069
            iinc 14 /* news */ 1
      StackMap locals:
      StackMap stack:
        47: iload 14 /* news */
            aload 13 /* newClasses */
            arraylength
            if_icmplt 45
        end local 14 // int news
        48: .line 1072
            aload 3 /* wovenClassNames */
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.aspectj.weaver.bcel.UnwovenClassFile[] newClasses
        end local 12 // org.aspectj.weaver.bcel.BcelPerClauseAspectAdder selfMunger
        end local 11 // org.aspectj.weaver.bcel.LazyClassGen clazz
        end local 10 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 9 // org.aspectj.weaver.ResolvedType theType
        end local 8 // java.lang.String className
        end local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        49: .line 1054
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        end local 6 // java.util.Iterator i
        50: .line 1076
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.weaveCompleted:()V
        51: .line 1077
            aload 5 /* atAspectJMungersOnly */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        52: .line 1078
            aload 3 /* wovenClassNames */
            areturn
        end local 5 // org.aspectj.bridge.context.ContextToken atAspectJMungersOnly
        53: .line 1081
      StackMap locals:
      StackMap stack:
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.processingReweavableState:()V
        54: .line 1083
            bipush 23
            ldc ""
        55: .line 1082
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 5 /* reweaveToken */
        start local 5 // org.aspectj.bridge.context.ContextToken reweaveToken
        56: .line 1084
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.prepareToProcessReweavableState:()V
        57: .line 1086
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 6 /* i */
        start local 6 // java.util.Iterator i
        58: goto 68
        59: .line 1087
      StackMap locals: org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 7 /* classFile */
        start local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        60: .line 1088
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 68
        61: .line 1089
            aload 7 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 8 /* className */
        start local 8 // java.lang.String className
        62: .line 1090
            aload 0 /* this */
            aload 8 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getClassType:(Ljava/lang/String;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 9 /* classType */
        start local 9 // org.aspectj.weaver.bcel.BcelObjectType classType
        63: .line 1095
            aload 9 /* classType */
            ifnull 68
        64: .line 1097
            bipush 23
            aload 8 /* className */
        65: .line 1096
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 10 /* tok */
        start local 10 // org.aspectj.bridge.context.ContextToken tok
        66: .line 1098
            aload 0 /* this */
            aload 8 /* className */
            aload 9 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.processReweavableStateIfPresent:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/BcelObjectType;)V
        67: .line 1099
            aload 10 /* tok */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        end local 10 // org.aspectj.bridge.context.ContextToken tok
        end local 9 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 8 // java.lang.String className
        end local 7 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        68: .line 1086
      StackMap locals:
      StackMap stack:
            aload 6 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 59
        end local 6 // java.util.Iterator i
        69: .line 1104
            aload 5 /* reweaveToken */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        70: .line 1107
            bipush 24
            ldc ""
        71: .line 1106
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 6 /* typeMungingToken */
        start local 6 // org.aspectj.bridge.context.ContextToken typeMungingToken
        72: .line 1108
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.addingTypeMungers:()V
        73: .line 1118
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* typesToProcess */
        start local 7 // java.util.List typesToProcess
        74: .line 1119
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        75: goto 79
        76: .line 1120
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 9 /* clf */
        start local 9 // org.aspectj.weaver.bcel.UnwovenClassFile clf
        77: .line 1121
            aload 9 /* clf */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 79
        78: .line 1122
            aload 7 /* typesToProcess */
            aload 9 /* clf */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.aspectj.weaver.bcel.UnwovenClassFile clf
        79: .line 1119
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 76
        end local 8 // java.util.Iterator iter
        80: .line 1125
            goto 82
        81: .line 1126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* typesToProcess */
            aload 7 /* typesToProcess */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveParentsFor:(Ljava/util/List;Ljava/lang/String;Lorg/aspectj/weaver/ResolvedType;)V
        82: .line 1125
      StackMap locals:
      StackMap stack:
            aload 7 /* typesToProcess */
            invokeinterface java.util.List.size:()I
            ifgt 81
        83: .line 1129
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 8 /* i */
        start local 8 // java.util.Iterator i
        84: goto 89
        85: .line 1130
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 9 /* classFile */
        start local 9 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        86: .line 1131
            aload 9 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 89
        87: .line 1132
            aload 9 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 10 /* className */
        start local 10 // java.lang.String className
        88: .line 1133
            aload 0 /* this */
            aload 10 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.addNormalTypeMungers:(Ljava/lang/String;)V
        end local 10 // java.lang.String className
        end local 9 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        89: .line 1129
      StackMap locals:
      StackMap stack:
            aload 8 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 85
        end local 8 // java.util.Iterator i
        90: .line 1137
            aload 6 /* typeMungingToken */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        91: .line 1139
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.weavingAspects:()V
        92: .line 1140
            bipush 25
            ldc ""
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 8 /* aspectToken */
        start local 8 // org.aspectj.bridge.context.ContextToken aspectToken
        93: .line 1142
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 9 /* i */
        start local 9 // java.util.Iterator i
        94: goto 108
        95: .line 1143
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 9 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 10 /* classFile */
        start local 10 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        96: .line 1144
            aload 10 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 108
        97: .line 1145
            aload 10 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 11 /* className */
        start local 11 // java.lang.String className
        98: .line 1146
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 11 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 12 /* theType */
        start local 12 // org.aspectj.weaver.ResolvedType theType
        99: .line 1147
            aload 12 /* theType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 108
       100: .line 1148
            aload 12 /* theType */
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 13 /* classType */
        start local 13 // org.aspectj.weaver.bcel.BcelObjectType classType
       101: .line 1149
            aload 13 /* classType */
            ifnonnull 106
       102: .line 1158
            aload 12 /* theType */
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 14 /* theDelegate */
        start local 14 // org.aspectj.weaver.ReferenceTypeDelegate theDelegate
       103: .line 1159
            aload 14 /* theDelegate */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "EclipseSourceType"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 105
       104: .line 1160
            goto 108
       105: .line 1163
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken java.util.Iterator org.aspectj.weaver.bcel.UnwovenClassFile java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.ReferenceTypeDelegate
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't find bcel delegate for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* theType */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // org.aspectj.weaver.ReferenceTypeDelegate theDelegate
       106: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* classFile */
            aload 13 /* classType */
            aload 4 /* requestor */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Lorg/aspectj/weaver/IWeaveRequestor;)V
       107: .line 1166
            aload 3 /* wovenClassNames */
            aload 11 /* className */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 12 // org.aspectj.weaver.ResolvedType theType
        end local 11 // java.lang.String className
        end local 10 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
       108: .line 1142
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 9 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 95
        end local 9 // java.util.Iterator i
       109: .line 1171
            aload 8 /* aspectToken */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
       110: .line 1173
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.weavingClasses:()V
       111: .line 1174
            bipush 26
            ldc ""
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 9 /* classToken */
        start local 9 // org.aspectj.bridge.context.ContextToken classToken
       112: .line 1176
            aload 1 /* input */
            invokeinterface org.aspectj.weaver.IClassFileProvider.getClassFileIterator:()Ljava/util/Iterator;
            astore 10 /* i */
        start local 10 // java.util.Iterator i
       113: goto 127
       114: .line 1177
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 10 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile
            astore 11 /* classFile */
        start local 11 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
       115: .line 1178
            aload 11 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.shouldBeWoven:()Z
            ifeq 127
       116: .line 1179
            aload 11 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            astore 12 /* className */
        start local 12 // java.lang.String className
       117: .line 1180
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 12 /* className */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 13 /* theType */
        start local 13 // org.aspectj.weaver.ResolvedType theType
       118: .line 1181
            aload 13 /* theType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifne 127
       119: .line 1182
            aload 13 /* theType */
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 14 /* classType */
        start local 14 // org.aspectj.weaver.bcel.BcelObjectType classType
       120: .line 1183
            aload 14 /* classType */
            ifnonnull 125
       121: .line 1186
            aload 13 /* theType */
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 15 /* theDelegate */
        start local 15 // org.aspectj.weaver.ReferenceTypeDelegate theDelegate
       122: .line 1190
            aload 15 /* theDelegate */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "EclipseSourceType"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 124
       123: .line 1191
            goto 127
       124: .line 1194
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.Iterator org.aspectj.weaver.bcel.UnwovenClassFile java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.ReferenceTypeDelegate
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't find bcel delegate for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* theType */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // org.aspectj.weaver.ReferenceTypeDelegate theDelegate
       125: .line 1196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* classFile */
            aload 14 /* classType */
            aload 4 /* requestor */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Lorg/aspectj/weaver/IWeaveRequestor;)V
       126: .line 1197
            aload 3 /* wovenClassNames */
            aload 12 /* className */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 13 // org.aspectj.weaver.ResolvedType theType
        end local 12 // java.lang.String className
        end local 11 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
       127: .line 1176
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.IClassFileProvider org.aspectj.bridge.context.ContextToken java.util.Collection org.aspectj.weaver.IWeaveRequestor org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.List org.aspectj.bridge.context.ContextToken org.aspectj.bridge.context.ContextToken java.util.Iterator
      StackMap stack:
            aload 10 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 114
        end local 10 // java.util.Iterator i
       128: .line 1201
            aload 9 /* classToken */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
       129: .line 1203
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.addedClasses:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
       130: .line 1204
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.deletedTypenames:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
       131: .line 1206
            aload 4 /* requestor */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.weaveCompleted:()V
       132: .line 1207
            aload 2 /* weaveToken */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
       133: .line 1208
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 135
       134: .line 1209
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "weave"
            aload 3 /* wovenClassNames */
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;Ljava/lang/Object;)V
       135: .line 1211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModel:()Lorg/aspectj/util/IStructureModel;
            ifnull 137
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isMinimalModel:()Z
            ifeq 137
       136: .line 1212
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
       137: .line 1214
      StackMap locals:
      StackMap stack:
            aload 3 /* wovenClassNames */
            areturn
        end local 9 // org.aspectj.bridge.context.ContextToken classToken
        end local 8 // org.aspectj.bridge.context.ContextToken aspectToken
        end local 7 // java.util.List typesToProcess
        end local 6 // org.aspectj.bridge.context.ContextToken typeMungingToken
        end local 5 // org.aspectj.bridge.context.ContextToken reweaveToken
        end local 4 // org.aspectj.weaver.IWeaveRequestor requestor
        end local 3 // java.util.Collection wovenClassNames
        end local 2 // org.aspectj.bridge.context.ContextToken weaveToken
        end local 1 // org.aspectj.weaver.IClassFileProvider input
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  138     0                  this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0  138     1                 input  Lorg/aspectj/weaver/IClassFileProvider;
            3  138     2            weaveToken  Lorg/aspectj/bridge/context/ContextToken;
            4  138     3       wovenClassNames  Ljava/util/Collection<Ljava/lang/String;>;
            5  138     4             requestor  Lorg/aspectj/weaver/IWeaveRequestor;
            9   14     5               manager  Lorg/aspectj/asm/AsmManager;
           10   14     6                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           12   13     7             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           15   23     5                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           17   22     6             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           19   22     7             className  Ljava/lang/String;
           20   22     8               theType  Lorg/aspectj/weaver/ResolvedType;
           26   53     5  atAspectJMungersOnly  Lorg/aspectj/bridge/context/ContextToken;
           29   50     6                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           31   49     7             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           33   49     8             className  Ljava/lang/String;
           34   49     9               theType  Lorg/aspectj/weaver/ResolvedType;
           36   49    10             classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
           39   49    11                 clazz  Lorg/aspectj/weaver/bcel/LazyClassGen;
           40   49    12            selfMunger  Lorg/aspectj/weaver/bcel/BcelPerClauseAspectAdder;
           43   49    13            newClasses  [Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           44   48    14                  news  I
           56  138     5          reweaveToken  Lorg/aspectj/bridge/context/ContextToken;
           58   69     6                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           60   68     7             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           62   68     8             className  Ljava/lang/String;
           63   68     9             classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
           66   68    10                   tok  Lorg/aspectj/bridge/context/ContextToken;
           72  138     6      typeMungingToken  Lorg/aspectj/bridge/context/ContextToken;
           74  138     7        typesToProcess  Ljava/util/List<Ljava/lang/String;>;
           75   80     8                  iter  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           77   79     9                   clf  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           84   90     8                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           86   89     9             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           88   89    10             className  Ljava/lang/String;
           93  138     8           aspectToken  Lorg/aspectj/bridge/context/ContextToken;
           94  109     9                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
           96  108    10             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           98  108    11             className  Ljava/lang/String;
           99  108    12               theType  Lorg/aspectj/weaver/ResolvedType;
          101  108    13             classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
          103  106    14           theDelegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;
          112  138     9            classToken  Lorg/aspectj/bridge/context/ContextToken;
          113  128    10                     i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile;>;
          115  127    11             classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
          117  127    12             className  Ljava/lang/String;
          118  127    13               theType  Lorg/aspectj/weaver/ResolvedType;
          120  127    14             classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
          122  125    15           theDelegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/aspectj/weaver/IClassFileProvider;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      input  

  public void allWeavingComplete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 1218
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.warnOnUnmatchedAdvice:()V
         1: .line 1219
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  private void warnOnUnmatchedAdvice();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 1260
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isInJava5Mode:()Z
            ifeq 22
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.adviceDidNotMatch:Lorg/aspectj/weaver/Lint$Kind;
            invokevirtual org.aspectj.weaver.Lint$Kind.isEnabled:()Z
            ifeq 22
         1: .line 1261
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getCrosscuttingMembersSet:()Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getShadowMungers:()Ljava/util/List;
            astore 1 /* l */
        start local 1 // java.util.List l
         2: .line 1262
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* alreadyWarnedLocations */
        start local 2 // java.util.Set alreadyWarnedLocations
         3: .line 1264
            aload 1 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         4: goto 21
         5: .line 1265
      StackMap locals: java.util.List java.util.Set java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 4 /* element */
        start local 4 // org.aspectj.weaver.ShadowMunger element
         6: .line 1267
            aload 4 /* element */
            instanceof org.aspectj.weaver.bcel.BcelAdvice
            ifeq 21
         7: .line 1268
            aload 4 /* element */
            checkcast org.aspectj.weaver.bcel.BcelAdvice
            astore 5 /* ba */
        start local 5 // org.aspectj.weaver.bcel.BcelAdvice ba
         8: .line 1269
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.CflowEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpeq 21
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.CflowBelowEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 10
         9: .line 1270
            goto 21
        10: .line 1272
      StackMap locals: org.aspectj.weaver.ShadowMunger org.aspectj.weaver.bcel.BcelAdvice
      StackMap stack:
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasMatchedSomething:()Z
            ifne 21
        11: .line 1277
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            ifnull 21
        12: .line 1280
            new org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation
            dup
            aload 0 /* this */
            aload 5 /* ba */
            invokespecial org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation.<init>:(Lorg/aspectj/weaver/bcel/BcelWeaver;Lorg/aspectj/weaver/bcel/BcelAdvice;)V
            astore 6 /* loc */
        start local 6 // org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation loc
        13: .line 1281
            aload 2 /* alreadyWarnedLocations */
            aload 6 /* loc */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 1282
            goto 21
        15: .line 1284
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation
      StackMap stack:
            aload 2 /* alreadyWarnedLocations */
            aload 6 /* loc */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1287
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 18
        17: .line 1288
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            ldc "adviceDidNotMatch"
            invokestatic org.aspectj.weaver.bcel.Utility.isSuppressing:(Lorg/aspectj/weaver/Member;Ljava/lang/String;)Z
            ifne 21
        18: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.adviceDidNotMatch:Lorg/aspectj/weaver/Lint$Kind;
            aload 5 /* ba */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.toString:()Ljava/lang/String;
            new org.aspectj.bridge.SourceLocation
            dup
        19: .line 1290
            aload 4 /* element */
            invokevirtual org.aspectj.weaver.ShadowMunger.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokeinterface org.aspectj.bridge.ISourceLocation.getSourceFile:()Ljava/io/File;
            aload 4 /* element */
            invokevirtual org.aspectj.weaver.ShadowMunger.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokeinterface org.aspectj.bridge.ISourceLocation.getLine:()I
            invokespecial org.aspectj.bridge.SourceLocation.<init>:(Ljava/io/File;I)V
        20: .line 1289
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
        end local 6 // org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation loc
        end local 5 // org.aspectj.weaver.bcel.BcelAdvice ba
        end local 4 // org.aspectj.weaver.ShadowMunger element
        21: .line 1264
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // java.util.Iterator iter
        end local 2 // java.util.Set alreadyWarnedLocations
        end local 1 // java.util.List l
        22: .line 1297
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   23     0                    this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            2   22     1                       l  Ljava/util/List;
            3   22     2  alreadyWarnedLocations  Ljava/util/Set<Lorg/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation;>;
            4   22     3                    iter  Ljava/util/Iterator;
            6   21     4                 element  Lorg/aspectj/weaver/ShadowMunger;
            8   21     5                      ba  Lorg/aspectj/weaver/bcel/BcelAdvice;
           13   21     6                     loc  Lorg/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation;

  private void weaveParentsFor(java.util.List<java.lang.String>, java.lang.String, org.aspectj.weaver.ResolvedType);
    descriptor: (Ljava/util/List;Ljava/lang/String;Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.util.List typesForWeaving
        start local 2 // java.lang.String typeToWeave
        start local 3 // org.aspectj.weaver.ResolvedType resolvedTypeToWeave
         0: .line 1309
            aload 3 /* resolvedTypeToWeave */
            ifnonnull 2
         1: .line 1311
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 2 /* typeToWeave */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 3 /* resolvedTypeToWeave */
         2: .line 1313
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* superclassType */
        start local 4 // org.aspectj.weaver.ResolvedType superclassType
         3: .line 1314
            aload 4 /* superclassType */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
         4: aload 4 /* superclassType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 5 /* superclassTypename */
        start local 5 // java.lang.String superclassTypename
         6: .line 1319
            aload 4 /* superclassType */
            ifnull 9
            aload 4 /* superclassType */
            invokevirtual org.aspectj.weaver.ResolvedType.isTypeHierarchyComplete:()Z
            ifne 9
            aload 4 /* superclassType */
            invokevirtual org.aspectj.weaver.ResolvedType.isExposedToWeaver:()Z
            ifeq 9
         7: .line 1320
            aload 1 /* typesForWeaving */
            aload 5 /* superclassTypename */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1321
            aload 0 /* this */
            aload 1 /* typesForWeaving */
            aload 5 /* superclassTypename */
            aload 4 /* superclassType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveParentsFor:(Ljava/util/List;Ljava/lang/String;Lorg/aspectj/weaver/ResolvedType;)V
         9: .line 1324
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.ResolvedType.getDeclaredInterfaces:()[Lorg/aspectj/weaver/ResolvedType;
            astore 6 /* interfaceTypes */
        start local 6 // org.aspectj.weaver.ResolvedType[] interfaceTypes
        10: .line 1325
            aload 6 /* interfaceTypes */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 17
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType java.lang.String org.aspectj.weaver.ResolvedType[] top int int org.aspectj.weaver.ResolvedType[]
      StackMap stack:
        11: aload 10
            iload 8
            aaload
            astore 7 /* resolvedSuperInterface */
        start local 7 // org.aspectj.weaver.ResolvedType resolvedSuperInterface
        12: .line 1326
            aload 7 /* resolvedSuperInterface */
            invokevirtual org.aspectj.weaver.ResolvedType.isTypeHierarchyComplete:()Z
            ifne 16
        13: .line 1327
            aload 7 /* resolvedSuperInterface */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            astore 11 /* interfaceTypename */
        start local 11 // java.lang.String interfaceTypename
        14: .line 1328
            aload 7 /* resolvedSuperInterface */
            invokevirtual org.aspectj.weaver.ResolvedType.isExposedToWeaver:()Z
            ifeq 16
        15: .line 1329
            aload 0 /* this */
            aload 1 /* typesForWeaving */
            aload 11 /* interfaceTypename */
            aload 7 /* resolvedSuperInterface */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveParentsFor:(Ljava/util/List;Ljava/lang/String;Lorg/aspectj/weaver/ResolvedType;)V
        end local 11 // java.lang.String interfaceTypename
        end local 7 // org.aspectj.weaver.ResolvedType resolvedSuperInterface
        16: .line 1325
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        17: iload 8
            iload 9
            if_icmplt 11
        18: .line 1333
            bipush 7
        19: .line 1334
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
        20: .line 1333
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 7 /* tok */
        start local 7 // org.aspectj.bridge.context.ContextToken tok
        21: .line 1337
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.ResolvedType.isTypeHierarchyComplete:()Z
            ifne 23
        22: .line 1338
            aload 0 /* this */
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveParentTypeMungers:(Lorg/aspectj/weaver/ResolvedType;)V
        23: .line 1340
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List java.lang.String org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType java.lang.String org.aspectj.weaver.ResolvedType[] org.aspectj.bridge.context.ContextToken
      StackMap stack:
            aload 7 /* tok */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        24: .line 1341
            aload 1 /* typesForWeaving */
            aload 2 /* typeToWeave */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        25: .line 1342
            aload 3 /* resolvedTypeToWeave */
            invokevirtual org.aspectj.weaver.ResolvedType.tagAsTypeHierarchyComplete:()V
        26: .line 1343
            return
        end local 7 // org.aspectj.bridge.context.ContextToken tok
        end local 6 // org.aspectj.weaver.ResolvedType[] interfaceTypes
        end local 5 // java.lang.String superclassTypename
        end local 4 // org.aspectj.weaver.ResolvedType superclassType
        end local 3 // org.aspectj.weaver.ResolvedType resolvedTypeToWeave
        end local 2 // java.lang.String typeToWeave
        end local 1 // java.util.List typesForWeaving
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   27     0                    this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   27     1         typesForWeaving  Ljava/util/List<Ljava/lang/String;>;
            0   27     2             typeToWeave  Ljava/lang/String;
            0   27     3     resolvedTypeToWeave  Lorg/aspectj/weaver/ResolvedType;
            3   27     4          superclassType  Lorg/aspectj/weaver/ResolvedType;
            6   27     5      superclassTypename  Ljava/lang/String;
           10   27     6          interfaceTypes  [Lorg/aspectj/weaver/ResolvedType;
           12   16     7  resolvedSuperInterface  Lorg/aspectj/weaver/ResolvedType;
           14   16    11       interfaceTypename  Ljava/lang/String;
           21   27     7                     tok  Lorg/aspectj/bridge/context/ContextToken;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;Lorg/aspectj/weaver/ResolvedType;)V
    MethodParameters:
                     Name  Flags
      typesForWeaving      
      typeToWeave          
      resolvedTypeToWeave  

  public void prepareToProcessReweavableState();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 1346
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  public void processReweavableStateIfPresent(java.lang.String, org.aspectj.weaver.bcel.BcelObjectType);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/BcelObjectType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String className
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
         0: .line 1351
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getWeaverState:()Lorg/aspectj/weaver/WeaverStateInfo;
            astore 3 /* wsi */
        start local 3 // org.aspectj.weaver.WeaverStateInfo wsi
         1: .line 1353
            aload 3 /* wsi */
            ifnull 51
            aload 3 /* wsi */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.isReweavable:()Z
            ifeq 51
         2: .line 1355
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.INFO:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "processingReweavable"
            aload 1 /* className */
            aload 2 /* classType */
         3: .line 1356
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokeinterface org.aspectj.bridge.ISourceLocation.getSourceFile:()Ljava/io/File;
         4: .line 1355
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
         5: .line 1356
            aconst_null
            aconst_null
         6: .line 1355
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
         7: .line 1357
            aload 3 /* wsi */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.getAspectsAffectingType:()Ljava/util/Set;
            astore 4 /* aspectsPreviouslyInWorld */
        start local 4 // java.util.Set aspectsPreviouslyInWorld
         8: .line 1360
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* alreadyConfirmedReweavableState */
        start local 5 // java.util.Set alreadyConfirmedReweavableState
         9: .line 1361
            aload 4 /* aspectsPreviouslyInWorld */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 36
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.lang.String org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.WeaverStateInfo java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* requiredTypeSignature */
        start local 6 // java.lang.String requiredTypeSignature
        11: .line 1364
            aload 5 /* alreadyConfirmedReweavableState */
            aload 6 /* requiredTypeSignature */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 36
        12: .line 1365
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 6 /* requiredTypeSignature */
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Lorg/aspectj/weaver/UnresolvedType;Z)Lorg/aspectj/weaver/ResolvedType;
            astore 8 /* rtx */
        start local 8 // org.aspectj.weaver.ResolvedType rtx
        13: .line 1366
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.lang.String org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.WeaverStateInfo java.util.Set java.util.Set java.lang.String java.util.Iterator org.aspectj.weaver.ResolvedType
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* exists */
        start local 9 // boolean exists
        16: .line 1367
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isOverWeaving:()Z
            ifne 36
        17: .line 1368
            iload 9 /* exists */
            ifne 22
        18: .line 1369
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.missingAspectForReweaving:Lorg/aspectj/weaver/Lint$Kind;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* className */
            aastore
        19: .line 1370
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
        20: .line 1369
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:([Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;[Lorg/aspectj/bridge/ISourceLocation;)V
        21: .line 1373
            goto 36
        22: .line 1379
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.containsAspect:(Lorg/aspectj/weaver/UnresolvedType;)Z
            ifne 29
        23: .line 1380
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
        24: .line 1381
            ldc "reweavableAspectNotRegistered"
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 1 /* className */
        25: .line 1380
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        26: .line 1381
            aconst_null
            aconst_null
        27: .line 1380
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        28: .line 1382
            goto 35
      StackMap locals:
      StackMap stack:
        29: aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            getstatic org.aspectj.bridge.IMessage.INFO:Lorg/aspectj/bridge/IMessage$Kind;
            invokeinterface org.aspectj.bridge.IMessageHandler.isIgnoring:(Lorg/aspectj/bridge/IMessage$Kind;)Z
            ifne 35
        30: .line 1383
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            getstatic org.aspectj.bridge.IMessage.INFO:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "verifiedReweavableType"
        31: .line 1384
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 8 /* rtx */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokeinterface org.aspectj.bridge.ISourceLocation.getSourceFile:()Ljava/io/File;
        32: .line 1383
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        33: .line 1384
            aconst_null
            aconst_null
        34: .line 1383
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        35: .line 1386
      StackMap locals:
      StackMap stack:
            aload 5 /* alreadyConfirmedReweavableState */
            aload 6 /* requiredTypeSignature */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // boolean exists
        end local 8 // org.aspectj.weaver.ResolvedType rtx
        end local 6 // java.lang.String requiredTypeSignature
        36: .line 1361
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.lang.String org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.WeaverStateInfo java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        37: .line 1395
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isOverWeaving:()Z
            ifne 51
        38: .line 1396
            aload 3 /* wsi */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.getUnwovenClassFileData:()[B
            astore 6 /* ucfd */
        start local 6 // byte[] ucfd
        39: .line 1397
            aload 6 /* ucfd */
            arraylength
            ifne 47
        40: .line 1399
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
        41: .line 1401
            ldc "mustKeepOverweavingOnceStart"
        42: .line 1402
            aload 1 /* className */
        43: .line 1401
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
        44: .line 1400
            invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;)Lorg/aspectj/bridge/IMessage;
        45: .line 1399
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        46: .line 1405
            goto 51
        47: .line 1406
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.lang.String org.aspectj.weaver.bcel.BcelObjectType org.aspectj.weaver.WeaverStateInfo java.util.Set java.util.Set byte[]
      StackMap stack:
            aload 3 /* wsi */
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getBytes:()[B
            invokevirtual org.aspectj.weaver.WeaverStateInfo.getUnwovenClassFileData:([B)[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        48: .line 1407
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getFileName:()Ljava/lang/String;
            aload 7 /* bytes */
            invokestatic org.aspectj.weaver.bcel.Utility.makeJavaClass:(Ljava/lang/String;[B)Lorg/aspectj/apache/bcel/classfile/JavaClass;
            astore 8 /* newJavaClass */
        start local 8 // org.aspectj.apache.bcel.classfile.JavaClass newJavaClass
        49: .line 1408
            aload 2 /* classType */
            aload 8 /* newJavaClass */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.setJavaClass:(Lorg/aspectj/apache/bcel/classfile/JavaClass;Z)V
        50: .line 1409
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.ensureConsistent:()V
        end local 8 // org.aspectj.apache.bcel.classfile.JavaClass newJavaClass
        end local 7 // byte[] bytes
        end local 6 // byte[] ucfd
        end local 5 // java.util.Set alreadyConfirmedReweavableState
        end local 4 // java.util.Set aspectsPreviouslyInWorld
        51: .line 1415
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.aspectj.weaver.WeaverStateInfo wsi
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // java.lang.String className
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   52     0                             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   52     1                        className  Ljava/lang/String;
            0   52     2                        classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
            1   52     3                              wsi  Lorg/aspectj/weaver/WeaverStateInfo;
            8   51     4         aspectsPreviouslyInWorld  Ljava/util/Set<Ljava/lang/String;>;
            9   51     5  alreadyConfirmedReweavableState  Ljava/util/Set<Ljava/lang/String;>;
           11   36     6            requiredTypeSignature  Ljava/lang/String;
           13   36     8                              rtx  Lorg/aspectj/weaver/ResolvedType;
           16   36     9                           exists  Z
           39   51     6                             ucfd  [B
           48   51     7                            bytes  [B
           49   51     8                     newJavaClass  Lorg/aspectj/apache/bcel/classfile/JavaClass;
    MethodParameters:
           Name  Flags
      className  
      classType  

  private void weaveAndNotify(org.aspectj.weaver.bcel.UnwovenClassFile, org.aspectj.weaver.bcel.BcelObjectType, org.aspectj.weaver.IWeaveRequestor);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Lorg/aspectj/weaver/IWeaveRequestor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        start local 3 // org.aspectj.weaver.IWeaveRequestor requestor
         0: .line 1418
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "weaveAndNotify"
            aload 0 /* this */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* classFile */
            aastore
            dup
            iconst_1
            aload 2 /* classType */
            aastore
            dup
            iconst_2
            aload 3 /* requestor */
            aastore
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
         1: .line 1420
            bipush 27
            aload 2 /* classType */
         2: .line 1421
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getName:()Ljava/lang/String;
         3: .line 1420
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 4 /* tok */
        start local 4 // org.aspectj.bridge.context.ContextToken tok
         4: .line 1422
            aload 0 /* this */
            aload 1 /* classFile */
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;)Lorg/aspectj/weaver/bcel/LazyClassGen;
            astore 5 /* clazz */
        start local 5 // org.aspectj.weaver.bcel.LazyClassGen clazz
         5: .line 1423
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.finishedWith:()V
         6: .line 1425
            aload 5 /* clazz */
            ifnull 16
         7: .line 1426
            aload 0 /* this */
            aload 5 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor:(Lorg/aspectj/weaver/bcel/LazyClassGen;)[Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            astore 6 /* newClasses */
        start local 6 // org.aspectj.weaver.bcel.UnwovenClassFile[] newClasses
         8: .line 1431
            aload 6 /* newClasses */
            iconst_0
            aaload
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1432
            aload 6 /* newClasses */
            iconst_0
            aaload
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getClassNameAsChars:()[C
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.setClassNameAsChars:([C)V
        10: .line 1434
      StackMap locals: org.aspectj.bridge.context.ContextToken org.aspectj.weaver.bcel.LazyClassGen org.aspectj.weaver.bcel.UnwovenClassFile[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 14
        12: .line 1435
      StackMap locals: int
      StackMap stack:
            aload 3 /* requestor */
            aload 6 /* newClasses */
            iload 7 /* i */
            aaload
            invokeinterface org.aspectj.weaver.IWeaveRequestor.acceptResult:(Lorg/aspectj/weaver/IUnwovenClassFile;)V
        13: .line 1434
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            aload 6 /* newClasses */
            arraylength
            if_icmplt 12
        end local 7 // int i
        end local 6 // org.aspectj.weaver.bcel.UnwovenClassFile[] newClasses
        15: .line 1437
            goto 17
        16: .line 1438
      StackMap locals:
      StackMap stack:
            aload 3 /* requestor */
            aload 1 /* classFile */
            invokeinterface org.aspectj.weaver.IWeaveRequestor.acceptResult:(Lorg/aspectj/weaver/IUnwovenClassFile;)V
        17: .line 1440
      StackMap locals:
      StackMap stack:
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.weavingCompleted:()V
        18: .line 1441
            aload 4 /* tok */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        19: .line 1443
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "weaveAndNotify"
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
        20: .line 1444
            return
        end local 5 // org.aspectj.weaver.bcel.LazyClassGen clazz
        end local 4 // org.aspectj.bridge.context.ContextToken tok
        end local 3 // org.aspectj.weaver.IWeaveRequestor requestor
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   21     1   classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0   21     2   classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
            0   21     3   requestor  Lorg/aspectj/weaver/IWeaveRequestor;
            4   21     4         tok  Lorg/aspectj/bridge/context/ContextToken;
            5   21     5       clazz  Lorg/aspectj/weaver/bcel/LazyClassGen;
            8   15     6  newClasses  [Lorg/aspectj/weaver/bcel/UnwovenClassFile;
           11   15     7           i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      classType  
      requestor  

  public org.aspectj.weaver.bcel.BcelObjectType getClassType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/bcel/BcelObjectType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String forClass
         0: .line 1450
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 1 /* forClass */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            areturn
        end local 1 // java.lang.String forClass
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    1     1  forClass  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      forClass  

  public void addParentTypeMungers(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String typeName
         0: .line 1454
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 1 /* typeName */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveParentTypeMungers:(Lorg/aspectj/weaver/ResolvedType;)V
         1: .line 1455
            return
        end local 1 // java.lang.String typeName
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1  typeName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      typeName  

  public void addNormalTypeMungers(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String typeName
         0: .line 1458
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 1 /* typeName */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weaveNormalTypeMungers:(Lorg/aspectj/weaver/ResolvedType;)V
         1: .line 1459
            return
        end local 1 // java.lang.String typeName
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1  typeName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      typeName  

  public org.aspectj.weaver.bcel.UnwovenClassFile[] getClassFilesFor(org.aspectj.weaver.bcel.LazyClassGen);
    descriptor: (Lorg/aspectj/weaver/bcel/LazyClassGen;)[Lorg/aspectj/weaver/bcel/UnwovenClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.LazyClassGen clazz
         0: .line 1462
            aload 1 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getChildClasses:(Lorg/aspectj/weaver/bcel/BcelWorld;)Ljava/util/List;
            astore 2 /* childClasses */
        start local 2 // java.util.List childClasses
         1: .line 1463
            iconst_1
            aload 2 /* childClasses */
            invokeinterface java.util.List.size:()I
            iadd
            anewarray org.aspectj.weaver.bcel.UnwovenClassFile
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.bcel.UnwovenClassFile[] ret
         2: .line 1464
            aload 3 /* ret */
            iconst_0
            new org.aspectj.weaver.bcel.UnwovenClassFile
            dup
            aload 1 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getFileName:()Ljava/lang/String;
            aload 1 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getClassName:()Ljava/lang/String;
            aload 1 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getJavaClassBytesIncludingReweavable:(Lorg/aspectj/weaver/bcel/BcelWorld;)[B
            invokespecial org.aspectj.weaver.bcel.UnwovenClassFile.<init>:(Ljava/lang/String;Ljava/lang/String;[B)V
            aastore
         3: .line 1465
            iconst_1
            istore 4 /* index */
        start local 4 // int index
         4: .line 1466
            aload 2 /* childClasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         5: goto 9
         6: .line 1467
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.LazyClassGen java.util.List org.aspectj.weaver.bcel.UnwovenClassFile[] int java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass
            astore 6 /* element */
        start local 6 // org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass element
         7: .line 1468
            new org.aspectj.weaver.bcel.UnwovenClassFile
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getFileName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* element */
            getfield org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* element */
            getfield org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass.bytes:[B
            invokespecial org.aspectj.weaver.bcel.UnwovenClassFile.<init>:(Ljava/lang/String;[B)V
            astore 7 /* childClass */
        start local 7 // org.aspectj.weaver.bcel.UnwovenClassFile childClass
         8: .line 1469
            aload 3 /* ret */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 7 /* childClass */
            aastore
        end local 7 // org.aspectj.weaver.bcel.UnwovenClassFile childClass
        end local 6 // org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass element
         9: .line 1466
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 5 // java.util.Iterator iter
        10: .line 1471
            aload 3 /* ret */
            areturn
        end local 4 // int index
        end local 3 // org.aspectj.weaver.bcel.UnwovenClassFile[] ret
        end local 2 // java.util.List childClasses
        end local 1 // org.aspectj.weaver.bcel.LazyClassGen clazz
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   11     1         clazz  Lorg/aspectj/weaver/bcel/LazyClassGen;
            1   11     2  childClasses  Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;>;
            2   11     3           ret  [Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            4   11     4         index  I
            5   10     5          iter  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;>;
            7    9     6       element  Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;
            8    9     7    childClass  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
    MethodParameters:
       Name  Flags
      clazz  

  public void weaveParentTypeMungers(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.ResolvedType onType
         0: .line 1483
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.isRawType:()Z
            ifne 1
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedType:()Z
            ifeq 2
         1: .line 1484
      StackMap locals:
      StackMap stack:
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 1 /* onType */
         2: .line 1486
      StackMap locals:
      StackMap stack:
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.clearInterTypeMungers:()V
         3: .line 1488
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* decpToRepeat */
        start local 2 // java.util.List decpToRepeat
         4: .line 1490
            iconst_0
            istore 3 /* aParentChangeOccurred */
        start local 3 // boolean aParentChangeOccurred
         5: .line 1491
            iconst_0
            istore 4 /* anAnnotationChangeOccurred */
        start local 4 // boolean anAnnotationChangeOccurred
         6: .line 1493
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.declareParentsList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareParents
            astore 5 /* decp */
        start local 5 // org.aspectj.weaver.patterns.DeclareParents decp
         8: .line 1494
            aload 0 /* this */
            aload 5 /* decp */
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.applyDeclareParents:(Lorg/aspectj/weaver/patterns/DeclareParents;Lorg/aspectj/weaver/ResolvedType;)Z
            istore 7 /* typeChanged */
        start local 7 // boolean typeChanged
         9: .line 1495
            iload 7 /* typeChanged */
            ifeq 12
        10: .line 1496
            iconst_1
            istore 3 /* aParentChangeOccurred */
        11: .line 1497
            goto 13
        12: .line 1498
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int org.aspectj.weaver.patterns.DeclareParents java.util.Iterator int
      StackMap stack:
            aload 2 /* decpToRepeat */
            aload 5 /* decp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // boolean typeChanged
        end local 5 // org.aspectj.weaver.patterns.DeclareParents decp
        13: .line 1493
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        14: .line 1503
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getDeclareAnnotationOnTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 19
      StackMap locals:
      StackMap stack:
        15: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareAnnotation
            astore 5 /* decA */
        start local 5 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        16: .line 1504
            aload 0 /* this */
            aload 5 /* decA */
            aload 1 /* onType */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.applyDeclareAtType:(Lorg/aspectj/weaver/patterns/DeclareAnnotation;Lorg/aspectj/weaver/ResolvedType;Z)Z
            istore 7 /* typeChanged */
        start local 7 // boolean typeChanged
        17: .line 1505
            iload 7 /* typeChanged */
            ifeq 19
        18: .line 1506
            iconst_1
            istore 4 /* anAnnotationChangeOccurred */
        end local 7 // boolean typeChanged
        end local 5 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        19: .line 1503
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        20: .line 1510
            goto 39
        21: .line 1511
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int
      StackMap stack:
            iconst_0
            dup
            istore 3 /* aParentChangeOccurred */
            istore 4 /* anAnnotationChangeOccurred */
        22: .line 1512
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* decpToRepeatNextTime */
        start local 5 // java.util.List decpToRepeatNextTime
        23: .line 1513
            aload 2 /* decpToRepeat */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        24: goto 31
        25: .line 1514
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareParents
            astore 7 /* decp */
        start local 7 // org.aspectj.weaver.patterns.DeclareParents decp
        26: .line 1515
            aload 0 /* this */
            aload 7 /* decp */
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.applyDeclareParents:(Lorg/aspectj/weaver/patterns/DeclareParents;Lorg/aspectj/weaver/ResolvedType;)Z
            istore 8 /* typeChanged */
        start local 8 // boolean typeChanged
        27: .line 1516
            iload 8 /* typeChanged */
            ifeq 30
        28: .line 1517
            iconst_1
            istore 3 /* aParentChangeOccurred */
        29: .line 1518
            goto 31
        30: .line 1519
      StackMap locals: org.aspectj.weaver.patterns.DeclareParents int
      StackMap stack:
            aload 5 /* decpToRepeatNextTime */
            aload 7 /* decp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // boolean typeChanged
        end local 7 // org.aspectj.weaver.patterns.DeclareParents decp
        31: .line 1513
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 6 // java.util.Iterator iter
        32: .line 1523
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.getDeclareAnnotationOnTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 37
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int java.util.List top java.util.Iterator
      StackMap stack:
        33: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareAnnotation
            astore 6 /* decA */
        start local 6 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        34: .line 1524
            aload 0 /* this */
            aload 6 /* decA */
            aload 1 /* onType */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.applyDeclareAtType:(Lorg/aspectj/weaver/patterns/DeclareAnnotation;Lorg/aspectj/weaver/ResolvedType;Z)Z
            istore 8 /* typeChanged */
        start local 8 // boolean typeChanged
        35: .line 1525
            iload 8 /* typeChanged */
            ifeq 37
        36: .line 1526
            iconst_1
            istore 4 /* anAnnotationChangeOccurred */
        end local 8 // boolean typeChanged
        end local 6 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        37: .line 1523
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        38: .line 1529
            aload 5 /* decpToRepeatNextTime */
            astore 2 /* decpToRepeat */
        end local 5 // java.util.List decpToRepeatNextTime
        39: .line 1510
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType java.util.List int int
      StackMap stack:
            iload 3 /* aParentChangeOccurred */
            ifne 40
            iload 4 /* anAnnotationChangeOccurred */
            ifeq 41
      StackMap locals:
      StackMap stack:
        40: aload 2 /* decpToRepeat */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        41: .line 1531
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean anAnnotationChangeOccurred
        end local 3 // boolean aParentChangeOccurred
        end local 2 // java.util.List decpToRepeat
        end local 1 // org.aspectj.weaver.ResolvedType onType
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   42     0                        this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   42     1                      onType  Lorg/aspectj/weaver/ResolvedType;
            4   42     2                decpToRepeat  Ljava/util/List<Lorg/aspectj/weaver/patterns/DeclareParents;>;
            5   42     3       aParentChangeOccurred  Z
            6   42     4  anAnnotationChangeOccurred  Z
            8   13     5                        decp  Lorg/aspectj/weaver/patterns/DeclareParents;
            9   13     7                 typeChanged  Z
           16   19     5                        decA  Lorg/aspectj/weaver/patterns/DeclareAnnotation;
           17   19     7                 typeChanged  Z
           23   39     5        decpToRepeatNextTime  Ljava/util/List<Lorg/aspectj/weaver/patterns/DeclareParents;>;
           24   32     6                        iter  Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/DeclareParents;>;
           26   31     7                        decp  Lorg/aspectj/weaver/patterns/DeclareParents;
           27   31     8                 typeChanged  Z
           34   37     6                        decA  Lorg/aspectj/weaver/patterns/DeclareAnnotation;
           35   37     8                 typeChanged  Z
    MethodParameters:
        Name  Flags
      onType  

  private boolean applyDeclareAtType(org.aspectj.weaver.patterns.DeclareAnnotation, org.aspectj.weaver.ResolvedType, boolean);
    descriptor: (Lorg/aspectj/weaver/patterns/DeclareAnnotation;Lorg/aspectj/weaver/ResolvedType;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        start local 2 // org.aspectj.weaver.ResolvedType onType
        start local 3 // boolean reportProblems
         0: .line 1537
            iconst_0
            istore 4 /* didSomething */
        start local 4 // boolean didSomething
         1: .line 1538
            aload 1 /* decA */
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.matches:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 26
         2: .line 1539
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAnnotation:()Lorg/aspectj/weaver/AnnotationAJ;
            astore 5 /* theAnnotation */
        start local 5 // org.aspectj.weaver.AnnotationAJ theAnnotation
         3: .line 1541
            aload 5 /* theAnnotation */
            ifnonnull 5
         4: .line 1542
            iconst_0
            ireturn
         5: .line 1544
      StackMap locals: int org.aspectj.weaver.AnnotationAJ
      StackMap stack:
            aload 2 /* onType */
            aload 5 /* theAnnotation */
            invokeinterface org.aspectj.weaver.AnnotationAJ.getType:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.hasAnnotation:(Lorg/aspectj/weaver/UnresolvedType;)Z
            ifeq 7
         6: .line 1554
            iconst_0
            ireturn
         7: .line 1557
      StackMap locals:
      StackMap stack:
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAnnotation:()Lorg/aspectj/weaver/AnnotationAJ;
            astore 6 /* annoX */
        start local 6 // org.aspectj.weaver.AnnotationAJ annoX
         8: .line 1560
            aload 0 /* this */
            aload 1 /* decA */
            aload 2 /* onType */
            aload 6 /* annoX */
            iload 3 /* reportProblems */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.verifyTargetIsOK:(Lorg/aspectj/weaver/patterns/DeclareAnnotation;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/AnnotationAJ;Z)Z
            istore 7 /* problemReported */
        start local 7 // boolean problemReported
         9: .line 1562
            iload 7 /* problemReported */
            ifne 26
        10: .line 1563
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModelAsAsmManager:()Lorg/aspectj/asm/AsmManager;
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        11: .line 1564
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_0
        12: .line 1563
            invokestatic org.aspectj.weaver.model.AsmRelationshipProvider.addDeclareAnnotationRelationship:(Lorg/aspectj/asm/AsmManager;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;Z)V
        13: .line 1566
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            getstatic org.aspectj.bridge.IMessage.WEAVEINFO:Lorg/aspectj/bridge/IMessage$Kind;
            invokeinterface org.aspectj.bridge.IMessageHandler.isIgnoring:(Lorg/aspectj/bridge/IMessage$Kind;)Z
            ifne 21
        14: .line 1567
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
        15: .line 1569
            getstatic org.aspectj.bridge.WeaveMessage.WEAVEMESSAGE_ANNOTATES:Lorg/aspectj/bridge/WeaveMessage$WeaveMessageKind;
        16: .line 1570
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokestatic org.aspectj.weaver.bcel.Utility.beautifyLocation:(Lorg/aspectj/bridge/ISourceLocation;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        17: .line 1571
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAnnotationString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "type"
            aastore
            dup
            iconst_4
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAspect:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
        18: .line 1572
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokestatic org.aspectj.weaver.bcel.Utility.beautifyLocation:(Lorg/aspectj/bridge/ISourceLocation;)Ljava/lang/String;
            aastore
        19: .line 1568
            invokestatic org.aspectj.bridge.WeaveMessage.constructWeavingMessage:(Lorg/aspectj/bridge/WeaveMessage$WeaveMessageKind;[Ljava/lang/String;)Lorg/aspectj/bridge/WeaveMessage;
        20: .line 1567
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        21: .line 1574
      StackMap locals: org.aspectj.weaver.AnnotationAJ int
      StackMap stack:
            iconst_1
            istore 4 /* didSomething */
        22: .line 1575
            new org.aspectj.weaver.AnnotationOnTypeMunger
            dup
            aload 6 /* annoX */
            invokespecial org.aspectj.weaver.AnnotationOnTypeMunger.<init>:(Lorg/aspectj/weaver/AnnotationAJ;)V
            astore 8 /* newAnnotationTM */
        start local 8 // org.aspectj.weaver.ResolvedTypeMunger newAnnotationTM
        23: .line 1576
            aload 8 /* newAnnotationTM */
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.ResolvedTypeMunger.setSourceLocation:(Lorg/aspectj/bridge/ISourceLocation;)V
        24: .line 1577
            aload 2 /* onType */
            new org.aspectj.weaver.bcel.BcelTypeMunger
            dup
            aload 8 /* newAnnotationTM */
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAspect:()Lorg/aspectj/weaver/UnresolvedType;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokespecial org.aspectj.weaver.bcel.BcelTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;Lorg/aspectj/weaver/ResolvedType;)V
            iconst_0
            invokevirtual org.aspectj.weaver.ResolvedType.addInterTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;Z)V
        25: .line 1578
            aload 1 /* decA */
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.copyAnnotationTo:(Lorg/aspectj/weaver/ResolvedType;)V
        end local 8 // org.aspectj.weaver.ResolvedTypeMunger newAnnotationTM
        end local 7 // boolean problemReported
        end local 6 // org.aspectj.weaver.AnnotationAJ annoX
        end local 5 // org.aspectj.weaver.AnnotationAJ theAnnotation
        26: .line 1581
      StackMap locals:
      StackMap stack:
            iload 4 /* didSomething */
            ireturn
        end local 4 // boolean didSomething
        end local 3 // boolean reportProblems
        end local 2 // org.aspectj.weaver.ResolvedType onType
        end local 1 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   27     1             decA  Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            0   27     2           onType  Lorg/aspectj/weaver/ResolvedType;
            0   27     3   reportProblems  Z
            1   27     4     didSomething  Z
            3   26     5    theAnnotation  Lorg/aspectj/weaver/AnnotationAJ;
            8   26     6            annoX  Lorg/aspectj/weaver/AnnotationAJ;
            9   26     7  problemReported  Z
           23   26     8  newAnnotationTM  Lorg/aspectj/weaver/ResolvedTypeMunger;
    MethodParameters:
                Name  Flags
      decA            
      onType          
      reportProblems  

  private boolean verifyTargetIsOK(org.aspectj.weaver.patterns.DeclareAnnotation, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.AnnotationAJ, boolean);
    descriptor: (Lorg/aspectj/weaver/patterns/DeclareAnnotation;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/AnnotationAJ;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        start local 2 // org.aspectj.weaver.ResolvedType onType
        start local 3 // org.aspectj.weaver.AnnotationAJ annoX
        start local 4 // boolean outputProblems
         0: .line 1589
            iconst_0
            istore 5 /* problemReported */
        start local 5 // boolean problemReported
         1: .line 1590
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.specifiesTarget:()Z
            ifeq 20
         2: .line 1591
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotation:()Z
            ifeq 3
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.allowedOnAnnotationType:()Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.allowedOnRegularType:()Z
            ifne 20
         4: .line 1592
      StackMap locals:
      StackMap stack:
            iload 4 /* outputProblems */
            ifeq 19
         5: .line 1593
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.isExactPattern:()Z
            ifeq 14
         6: .line 1594
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
         7: .line 1596
            ldc "incorrectTargetForDeclareAnnotation"
         8: .line 1597
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.getTypeName:()Ljava/lang/String;
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.getValidTargets:()Ljava/lang/String;
         9: .line 1596
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        10: .line 1598
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        11: .line 1595
            invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
        12: .line 1594
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        13: .line 1599
            goto 19
        14: .line 1600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.invalidTargetForAnnotation:Lorg/aspectj/weaver/Lint$Kind;
            invokevirtual org.aspectj.weaver.Lint$Kind.isEnabled:()Z
            ifeq 19
        15: .line 1601
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.invalidTargetForAnnotation:Lorg/aspectj/weaver/Lint$Kind;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.getTypeName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        16: .line 1602
            aload 3 /* annoX */
            invokeinterface org.aspectj.weaver.AnnotationAJ.getValidTargets:()Ljava/lang/String;
            aastore
            aload 1 /* decA */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        17: .line 1603
            iconst_1
            anewarray org.aspectj.bridge.ISourceLocation
            dup
            iconst_0
            aload 2 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aastore
        18: .line 1601
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:([Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;[Lorg/aspectj/bridge/ISourceLocation;)V
        19: .line 1607
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* problemReported */
        20: .line 1610
      StackMap locals:
      StackMap stack:
            iload 5 /* problemReported */
            ireturn
        end local 5 // boolean problemReported
        end local 4 // boolean outputProblems
        end local 3 // org.aspectj.weaver.AnnotationAJ annoX
        end local 2 // org.aspectj.weaver.ResolvedType onType
        end local 1 // org.aspectj.weaver.patterns.DeclareAnnotation decA
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   21     1             decA  Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            0   21     2           onType  Lorg/aspectj/weaver/ResolvedType;
            0   21     3            annoX  Lorg/aspectj/weaver/AnnotationAJ;
            0   21     4   outputProblems  Z
            1   21     5  problemReported  Z
    MethodParameters:
                Name  Flags
      decA            
      onType          
      annoX           
      outputProblems  

  private boolean applyDeclareParents(org.aspectj.weaver.patterns.DeclareParents, org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/patterns/DeclareParents;Lorg/aspectj/weaver/ResolvedType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.patterns.DeclareParents p
        start local 2 // org.aspectj.weaver.ResolvedType onType
         0: .line 1617
            iconst_0
            istore 3 /* didSomething */
        start local 3 // boolean didSomething
         1: .line 1618
            aload 1 /* p */
            aload 2 /* onType */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.findMatchingNewParents:(Lorg/aspectj/weaver/ResolvedType;Z)Ljava/util/List;
            astore 4 /* newParents */
        start local 4 // java.util.List newParents
         2: .line 1619
            aload 4 /* newParents */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 14
         3: .line 1620
            iconst_1
            istore 3 /* didSomething */
         4: .line 1621
            aload 2 /* onType */
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            pop
         5: .line 1623
            aload 4 /* newParents */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.DeclareParents org.aspectj.weaver.ResolvedType int java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedType
            astore 5 /* newParent */
        start local 5 // org.aspectj.weaver.ResolvedType newParent
         7: .line 1629
            aload 2 /* onType */
            aload 5 /* newParent */
            invokevirtual org.aspectj.weaver.ResolvedType.addParent:(Lorg/aspectj/weaver/ResolvedType;)V
         8: .line 1630
            new org.aspectj.weaver.NewParentTypeMunger
            dup
            aload 5 /* newParent */
            aload 1 /* p */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.getDeclaringType:()Lorg/aspectj/weaver/ResolvedType;
            invokespecial org.aspectj.weaver.NewParentTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;)V
            astore 7 /* newParentMunger */
        start local 7 // org.aspectj.weaver.NewParentTypeMunger newParentMunger
         9: .line 1631
            aload 1 /* p */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.isMixin:()Z
            ifeq 11
        10: .line 1632
            aload 7 /* newParentMunger */
            iconst_1
            invokevirtual org.aspectj.weaver.NewParentTypeMunger.setIsMixin:(Z)V
        11: .line 1634
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.DeclareParents org.aspectj.weaver.ResolvedType int java.util.List org.aspectj.weaver.ResolvedType java.util.Iterator org.aspectj.weaver.NewParentTypeMunger
      StackMap stack:
            aload 7 /* newParentMunger */
            aload 1 /* p */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.NewParentTypeMunger.setSourceLocation:(Lorg/aspectj/bridge/ISourceLocation;)V
        12: .line 1635
            aload 2 /* onType */
            new org.aspectj.weaver.bcel.BcelTypeMunger
            dup
            aload 7 /* newParentMunger */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 1 /* p */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.findAspectDeclaringParents:(Lorg/aspectj/weaver/patterns/DeclareParents;)Lorg/aspectj/weaver/ResolvedType;
            invokespecial org.aspectj.weaver.bcel.BcelTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;Lorg/aspectj/weaver/ResolvedType;)V
            iconst_0
            invokevirtual org.aspectj.weaver.ResolvedType.addInterTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;Z)V
        end local 7 // org.aspectj.weaver.NewParentTypeMunger newParentMunger
        end local 5 // org.aspectj.weaver.ResolvedType newParent
        13: .line 1623
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.DeclareParents org.aspectj.weaver.ResolvedType int java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        14: .line 1638
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.patterns.DeclareParents org.aspectj.weaver.ResolvedType int java.util.List
      StackMap stack:
            iload 3 /* didSomething */
            ireturn
        end local 4 // java.util.List newParents
        end local 3 // boolean didSomething
        end local 2 // org.aspectj.weaver.ResolvedType onType
        end local 1 // org.aspectj.weaver.patterns.DeclareParents p
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   15     1                p  Lorg/aspectj/weaver/patterns/DeclareParents;
            0   15     2           onType  Lorg/aspectj/weaver/ResolvedType;
            1   15     3     didSomething  Z
            2   15     4       newParents  Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
            7   13     5        newParent  Lorg/aspectj/weaver/ResolvedType;
            9   13     7  newParentMunger  Lorg/aspectj/weaver/NewParentTypeMunger;
    MethodParameters:
        Name  Flags
      p       
      onType  

  public void weaveNormalTypeMungers(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.ResolvedType onType
         0: .line 1642
            bipush 24
         1: .line 1643
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
         2: .line 1642
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.enteringPhase:(ILjava/lang/Object;)Lorg/aspectj/bridge/context/ContextToken;
            astore 2 /* tok */
        start local 2 // org.aspectj.bridge.context.ContextToken tok
         3: .line 1644
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.isRawType:()Z
            ifne 4
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedType:()Z
            ifeq 5
         4: .line 1645
      StackMap locals: org.aspectj.bridge.context.ContextToken
      StackMap stack:
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 1 /* onType */
         5: .line 1647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.typeMungerList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.ResolvedType org.aspectj.bridge.context.ContextToken top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            astore 3 /* m */
        start local 3 // org.aspectj.weaver.ConcreteTypeMunger m
         7: .line 1648
            aload 3 /* m */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.isLateMunger:()Z
            ifne 9
            aload 3 /* m */
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.matches:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 9
         8: .line 1649
            aload 1 /* onType */
            aload 3 /* m */
            iconst_0
            invokevirtual org.aspectj.weaver.ResolvedType.addInterTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;Z)V
        end local 3 // org.aspectj.weaver.ConcreteTypeMunger m
         9: .line 1647
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 1652
            aload 2 /* tok */
            invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.leavingPhase:(Lorg/aspectj/bridge/context/ContextToken;)V
        11: .line 1653
            return
        end local 2 // org.aspectj.bridge.context.ContextToken tok
        end local 1 // org.aspectj.weaver.ResolvedType onType
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   12     1  onType  Lorg/aspectj/weaver/ResolvedType;
            3   12     2     tok  Lorg/aspectj/bridge/context/ContextToken;
            7    9     3       m  Lorg/aspectj/weaver/ConcreteTypeMunger;
    MethodParameters:
        Name  Flags
      onType  

  public org.aspectj.weaver.bcel.LazyClassGen weaveWithoutDump(org.aspectj.weaver.bcel.UnwovenClassFile, org.aspectj.weaver.bcel.BcelObjectType);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;)Lorg/aspectj/weaver/bcel/LazyClassGen;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
         0: .line 1657
            aload 0 /* this */
            aload 1 /* classFile */
            aload 2 /* classType */
            iconst_0
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weave:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Z)Lorg/aspectj/weaver/bcel/LazyClassGen;
            areturn
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    1     1  classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0    1     2  classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      classType  

  org.aspectj.weaver.bcel.LazyClassGen weave(org.aspectj.weaver.bcel.UnwovenClassFile, org.aspectj.weaver.bcel.BcelObjectType);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;)Lorg/aspectj/weaver/bcel/LazyClassGen;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
         0: .line 1662
            aload 0 /* this */
            aload 1 /* classFile */
            aload 2 /* classType */
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.weave:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Z)Lorg/aspectj/weaver/bcel/LazyClassGen;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.bcel.LazyClassGen ret
         1: .line 1663
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.bcel.LazyClassGen ret
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1  classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0    2     2  classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
            1    2     3        ret  Lorg/aspectj/weaver/bcel/LazyClassGen;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      classType  

  private org.aspectj.weaver.bcel.LazyClassGen weave(org.aspectj.weaver.bcel.UnwovenClassFile, org.aspectj.weaver.bcel.BcelObjectType, boolean);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/BcelObjectType;Z)Lorg/aspectj/weaver/bcel/LazyClassGen;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=18, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        start local 3 // boolean dump
         0: .line 1669
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.isSynthetic:()Z
            ifeq 5
         1: .line 1670
            iload 3 /* dump */
            ifeq 3
         2: .line 1671
            aload 0 /* this */
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.dumpUnchanged:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;)V
         3: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
         4: .line 1673
            aconst_null
            areturn
         5: .line 1675
      StackMap locals:
      StackMap stack:
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            astore 4 /* resolvedClassType */
        start local 4 // org.aspectj.weaver.ReferenceType resolvedClassType
         6: .line 1677
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isXmlConfigured:()Z
            ifeq 17
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getXmlConfiguration:()Lorg/aspectj/weaver/bcel/BcelWorld$WeavingXmlConfig;
            aload 4 /* resolvedClassType */
            invokevirtual org.aspectj.weaver.bcel.BcelWorld$WeavingXmlConfig.excludesType:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 17
         7: .line 1678
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            getstatic org.aspectj.bridge.IMessage.INFO:Lorg/aspectj/bridge/IMessage$Kind;
            invokeinterface org.aspectj.bridge.IMessageHandler.isIgnoring:(Lorg/aspectj/bridge/IMessage$Kind;)Z
            ifne 13
         8: .line 1679
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
         9: .line 1680
            new java.lang.StringBuilder
            dup
            ldc "Type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* resolvedClassType */
            invokevirtual org.aspectj.weaver.ReferenceType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1681
            ldc "' not woven due to exclusion via XML weaver exclude section"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1680
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.aspectj.bridge.MessageUtil.info:(Ljava/lang/String;)Lorg/aspectj/bridge/IMessage;
        12: .line 1679
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        13: .line 1684
      StackMap locals: org.aspectj.weaver.ReferenceType
      StackMap stack:
            iload 3 /* dump */
            ifeq 15
        14: .line 1685
            aload 0 /* this */
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.dumpUnchanged:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;)V
        15: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
        16: .line 1687
            aconst_null
            areturn
        17: .line 1690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
            aload 4 /* resolvedClassType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.fastMatch:(Ljava/util/List;Lorg/aspectj/weaver/ResolvedType;)Ljava/util/List;
            astore 5 /* shadowMungers */
        start local 5 // java.util.List shadowMungers
        18: .line 1691
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getInterTypeMungers:()Ljava/util/List;
            astore 6 /* typeMungers */
        start local 6 // java.util.List typeMungers
        19: .line 1693
            aload 4 /* resolvedClassType */
            invokevirtual org.aspectj.weaver.ReferenceType.checkInterTypeMungers:()V
        20: .line 1696
            aload 5 /* shadowMungers */
            invokeinterface java.util.List.size:()I
            ifgt 23
            aload 6 /* typeMungers */
            invokeinterface java.util.List.size:()I
            ifgt 23
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.isAspect:()Z
            ifne 23
        21: .line 1697
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getDeclareAnnotationOnMethods:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifgt 23
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getDeclareAnnotationOnFields:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
        22: .line 1696
            ifgt 23
            iconst_0
            goto 24
      StackMap locals: java.util.List java.util.List
      StackMap stack:
        23: iconst_1
      StackMap locals:
      StackMap stack: int
        24: istore 7 /* mightNeedToWeave */
        start local 7 // boolean mightNeedToWeave
        25: .line 1701
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isInJava5Mode:()Z
            ifeq 28
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.isInterface:()Z
            ifne 28
        26: .line 1702
            aload 4 /* resolvedClassType */
            invokevirtual org.aspectj.weaver.ReferenceType.getInterTypeMungersIncludingSupers:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
        27: .line 1701
            ifle 28
            iconst_1
            goto 29
      StackMap locals: int
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 8 /* mightNeedBridgeMethods */
        start local 8 // boolean mightNeedBridgeMethods
        30: .line 1704
            aconst_null
            astore 9 /* clazz */
        start local 9 // org.aspectj.weaver.bcel.LazyClassGen clazz
        31: .line 1705
            iload 7 /* mightNeedToWeave */
            ifne 32
            iload 8 /* mightNeedBridgeMethods */
            ifeq 72
        32: .line 1706
      StackMap locals: int org.aspectj.weaver.bcel.LazyClassGen
      StackMap stack:
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            astore 9 /* clazz */
        33: .line 1710
            iconst_0
            istore 10 /* isChanged */
        start local 10 // boolean isChanged
        34: .line 1712
            iload 7 /* mightNeedToWeave */
            ifeq 38
        35: .line 1713
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 9 /* clazz */
            aload 5 /* shadowMungers */
            aload 6 /* typeMungers */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.lateTypeMungerList:Ljava/util/List;
        36: .line 1714
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.inReweavableMode:Z
        37: .line 1713
            invokestatic org.aspectj.weaver.bcel.BcelClassWeaver.weave:(Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/bcel/LazyClassGen;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)Z
            istore 10 /* isChanged */
        38: .line 1717
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.checkDeclareTypeErrorOrWarning:(Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/bcel/BcelObjectType;)V
        39: .line 1719
            iload 8 /* mightNeedBridgeMethods */
            ifeq 43
        40: .line 1720
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 9 /* clazz */
            invokestatic org.aspectj.weaver.bcel.BcelClassWeaver.calculateAnyRequiredBridgeMethods:(Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/bcel/LazyClassGen;)Z
            ifne 41
            iload 10 /* isChanged */
            ifne 41
            iconst_0
            goto 42
      StackMap locals:
      StackMap stack:
        41: iconst_1
      StackMap locals:
      StackMap stack: int
        42: istore 10 /* isChanged */
        43: .line 1723
      StackMap locals:
      StackMap stack:
            iload 10 /* isChanged */
            ifeq 73
        44: .line 1724
            iload 3 /* dump */
            ifeq 46
        45: .line 1725
            aload 0 /* this */
            aload 1 /* classFile */
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.dump:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/LazyClassGen;)V
        46: .line 1727
      StackMap locals:
      StackMap stack:
            aload 9 /* clazz */
            astore 17
        47: .line 1815
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
        48: .line 1727
            aload 17
            areturn
        end local 10 // boolean isChanged
        49: .line 1729
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen
      StackMap stack: java.lang.RuntimeException
            astore 10 /* re */
        start local 10 // java.lang.RuntimeException re
        50: .line 1730
            aconst_null
            astore 11 /* classDebugInfo */
        start local 11 // java.lang.String classDebugInfo
        51: .line 1732
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.toLongString:()Ljava/lang/String;
            astore 11 /* classDebugInfo */
        52: .line 1733
            goto 56
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen java.lang.RuntimeException java.lang.String
      StackMap stack: java.lang.Throwable
        53: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        54: .line 1734
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Crashed whilst crashing with this exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 12 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            invokevirtual java.lang.RuntimeException.printStackTrace:()V
        55: .line 1736
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getClassName:()Ljava/lang/String;
            astore 11 /* classDebugInfo */
        end local 12 // java.lang.Throwable e
        56: .line 1738
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "trouble in: \n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* classDebugInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* messageText */
        start local 12 // java.lang.String messageText
        57: .line 1739
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            new org.aspectj.bridge.Message
            dup
            aload 12 /* messageText */
            getstatic org.aspectj.bridge.IMessage.ABORT:Lorg/aspectj/bridge/IMessage$Kind;
            aload 10 /* re */
            aconst_null
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 12 // java.lang.String messageText
        end local 11 // java.lang.String classDebugInfo
        end local 10 // java.lang.RuntimeException re
        58: goto 73
        59: .line 1740
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen
      StackMap stack: java.lang.Error
            astore 10 /* re */
        start local 10 // java.lang.Error re
        60: .line 1741
            aconst_null
            astore 11 /* classDebugInfo */
        start local 11 // java.lang.String classDebugInfo
        61: .line 1743
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.toLongString:()Ljava/lang/String;
            astore 11 /* classDebugInfo */
        62: .line 1744
            goto 69
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen java.lang.Error java.lang.String
      StackMap stack: java.lang.OutOfMemoryError
        63: pop
        64: .line 1745
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Ran out of memory creating debug info for an error"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        65: .line 1746
            aload 10 /* re */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Error.printStackTrace:(Ljava/io/PrintStream;)V
        66: .line 1748
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getClassName:()Ljava/lang/String;
            astore 11 /* classDebugInfo */
            goto 69
        67: .line 1749
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        68: .line 1751
            aload 9 /* clazz */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getClassName:()Ljava/lang/String;
            astore 11 /* classDebugInfo */
        69: .line 1753
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "trouble in: \n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* classDebugInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* messageText */
        start local 12 // java.lang.String messageText
        70: .line 1754
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
            new org.aspectj.bridge.Message
            dup
            aload 12 /* messageText */
            getstatic org.aspectj.bridge.IMessage.ABORT:Lorg/aspectj/bridge/IMessage$Kind;
            aload 10 /* re */
            aconst_null
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 12 // java.lang.String messageText
        end local 11 // java.lang.String classDebugInfo
        end local 10 // java.lang.Error re
        71: .line 1756
            goto 73
        72: .line 1757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.checkDeclareTypeErrorOrWarning:(Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/bcel/BcelObjectType;)V
        73: .line 1762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getModelAsAsmManager:()Lorg/aspectj/asm/AsmManager;
            astore 10 /* model */
        start local 10 // org.aspectj.asm.AsmManager model
        74: .line 1763
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isMinimalModel:()Z
            ifeq 90
            aload 10 /* model */
            ifnull 90
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.isAspect:()Z
            ifne 90
        75: .line 1764
            aload 10 /* model */
            invokevirtual org.aspectj.asm.AsmManager.getHierarchy:()Lorg/aspectj/asm/IHierarchy;
            checkcast org.aspectj.asm.internal.AspectJElementHierarchy
            astore 11 /* hierarchy */
        start local 11 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        76: .line 1765
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getPackageName:()Ljava/lang/String;
            astore 12 /* pkgname */
        start local 12 // java.lang.String pkgname
        77: .line 1766
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getSimpleBaseName:()Ljava/lang/String;
            astore 13 /* tname */
        start local 13 // java.lang.String tname
        78: .line 1767
            aload 11 /* hierarchy */
            aload 12 /* pkgname */
            aload 13 /* tname */
            invokevirtual org.aspectj.asm.internal.AspectJElementHierarchy.findElementForType:(Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
            astore 14 /* typeElement */
        start local 14 // org.aspectj.asm.IProgramElement typeElement
        79: .line 1768
            aload 14 /* typeElement */
            ifnull 81
            aload 0 /* this */
            aload 14 /* typeElement */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.hasInnerType:(Lorg/aspectj/asm/IProgramElement;)Z
            ifeq 81
        80: .line 1772
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
            aload 14 /* typeElement */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        81: .line 1774
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen org.aspectj.asm.AsmManager org.aspectj.asm.internal.AspectJElementHierarchy java.lang.String java.lang.String org.aspectj.asm.IProgramElement
      StackMap stack:
            aload 14 /* typeElement */
            ifnull 90
            aload 0 /* this */
            aload 14 /* typeElement */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.hasInnerType:(Lorg/aspectj/asm/IProgramElement;)Z
            ifne 90
        82: .line 1775
            aload 14 /* typeElement */
            invokeinterface org.aspectj.asm.IProgramElement.getParent:()Lorg/aspectj/asm/IProgramElement;
            astore 15 /* parent */
        start local 15 // org.aspectj.asm.IProgramElement parent
        83: .line 1777
            aload 15 /* parent */
            ifnull 90
        84: .line 1780
            aload 15 /* parent */
            aload 14 /* typeElement */
            invokeinterface org.aspectj.asm.IProgramElement.removeChild:(Lorg/aspectj/asm/IProgramElement;)Z
            pop
        85: .line 1781
            aload 15 /* parent */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isSourceFile:()Z
            ifeq 88
        86: .line 1782
            aload 0 /* this */
            aload 11 /* hierarchy */
            aload 14 /* typeElement */
            aload 15 /* parent */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.removeSourceFileIfNoMoreTypeDeclarationsInside:(Lorg/aspectj/asm/internal/AspectJElementHierarchy;Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
        87: .line 1783
            goto 90
        88: .line 1784
      StackMap locals: org.aspectj.asm.IProgramElement
      StackMap stack:
            aload 11 /* hierarchy */
            aconst_null
            aload 14 /* typeElement */
            invokevirtual org.aspectj.asm.internal.AspectJElementHierarchy.forget:(Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
        89: .line 1792
            aload 0 /* this */
            aload 11 /* hierarchy */
            aload 13 /* tname */
            aload 15 /* parent */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.walkUpRemovingEmptyTypesAndPossiblyEmptySourceFile:(Lorg/aspectj/asm/internal/AspectJElementHierarchy;Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;)V
        end local 15 // org.aspectj.asm.IProgramElement parent
        end local 14 // org.aspectj.asm.IProgramElement typeElement
        end local 13 // java.lang.String tname
        end local 12 // java.lang.String pkgname
        end local 11 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        90: .line 1799
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int org.aspectj.weaver.ReferenceType java.util.List java.util.List int int org.aspectj.weaver.bcel.LazyClassGen org.aspectj.asm.AsmManager
      StackMap stack:
            iload 3 /* dump */
            ifeq 95
        91: .line 1800
            aload 0 /* this */
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.dumpUnchanged:(Lorg/aspectj/weaver/bcel/UnwovenClassFile;)V
        92: .line 1801
            aload 9 /* clazz */
            astore 17
        93: .line 1815
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
        94: .line 1801
            aload 17
            areturn
        95: .line 1809
      StackMap locals:
      StackMap stack:
            aload 9 /* clazz */
            ifnull 99
            aload 9 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getChildClasses:(Lorg/aspectj/weaver/bcel/BcelWorld;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 99
        96: .line 1810
            aload 9 /* clazz */
            astore 17
        97: .line 1815
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
        98: .line 1810
            aload 17
            areturn
        99: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
       100: .line 1812
            aconst_null
            areturn
        end local 10 // org.aspectj.asm.AsmManager model
        end local 9 // org.aspectj.weaver.bcel.LazyClassGen clazz
        end local 8 // boolean mightNeedBridgeMethods
        end local 7 // boolean mightNeedToWeave
        end local 6 // java.util.List typeMungers
        end local 5 // java.util.List shadowMungers
        end local 4 // org.aspectj.weaver.ReferenceType resolvedClassType
       101: .line 1814
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.UnwovenClassFile org.aspectj.weaver.bcel.BcelObjectType int
      StackMap stack: java.lang.Throwable
            astore 16
       102: .line 1815
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.demote:()V
       103: .line 1816
            aload 16
            athrow
        end local 3 // boolean dump
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  104     0                    this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0  104     1               classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0  104     2               classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
            0  104     3                    dump  Z
            6  101     4       resolvedClassType  Lorg/aspectj/weaver/ReferenceType;
           18  101     5           shadowMungers  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
           19  101     6             typeMungers  Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
           25  101     7        mightNeedToWeave  Z
           30  101     8  mightNeedBridgeMethods  Z
           31  101     9                   clazz  Lorg/aspectj/weaver/bcel/LazyClassGen;
           34   49    10               isChanged  Z
           50   58    10                      re  Ljava/lang/RuntimeException;
           51   58    11          classDebugInfo  Ljava/lang/String;
           54   56    12                       e  Ljava/lang/Throwable;
           57   58    12             messageText  Ljava/lang/String;
           60   71    10                      re  Ljava/lang/Error;
           61   71    11          classDebugInfo  Ljava/lang/String;
           70   71    12             messageText  Ljava/lang/String;
           74  101    10                   model  Lorg/aspectj/asm/AsmManager;
           76   90    11               hierarchy  Lorg/aspectj/asm/internal/AspectJElementHierarchy;
           77   90    12                 pkgname  Ljava/lang/String;
           78   90    13                   tname  Ljava/lang/String;
           79   90    14             typeElement  Lorg/aspectj/asm/IProgramElement;
           83   90    15                  parent  Lorg/aspectj/asm/IProgramElement;
      Exception table:
        from    to  target  type
          33    47      49  Class java.lang.RuntimeException
          51    52      53  Class java.lang.Throwable
          33    47      59  Class java.lang.Error
          61    62      63  Class java.lang.OutOfMemoryError
          61    62      67  Class java.lang.Throwable
           0     3     101  any
           5    15     101  any
          17    47     101  any
          49    93     101  any
          95    97     101  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      classType  
      dump       

  private void walkUpRemovingEmptyTypesAndPossiblyEmptySourceFile(org.aspectj.asm.internal.AspectJElementHierarchy, java.lang.String, org.aspectj.asm.IProgramElement);
    descriptor: (Lorg/aspectj/asm/internal/AspectJElementHierarchy;Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        start local 2 // java.lang.String tname
        start local 3 // org.aspectj.asm.IProgramElement typeThatHasChildRemoved
         0: .line 1823
            goto 2
         1: .line 1827
      StackMap locals:
      StackMap stack:
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface org.aspectj.asm.IProgramElement.getParent:()Lorg/aspectj/asm/IProgramElement;
            astore 3 /* typeThatHasChildRemoved */
         2: .line 1823
      StackMap locals:
      StackMap stack:
            aload 3 /* typeThatHasChildRemoved */
            ifnull 4
         3: .line 1824
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isType:()Z
            ifne 4
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isSourceFile:()Z
            ifeq 1
         4: .line 1831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 13
            aload 0 /* this */
            aload 3 /* typeThatHasChildRemoved */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.hasInnerType:(Lorg/aspectj/asm/IProgramElement;)Z
            ifne 13
         5: .line 1833
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface org.aspectj.asm.IProgramElement.getParent:()Lorg/aspectj/asm/IProgramElement;
            astore 4 /* parent */
        start local 4 // org.aspectj.asm.IProgramElement parent
         6: .line 1834
            aload 4 /* parent */
            ifnull 13
         7: .line 1835
            aload 4 /* parent */
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface org.aspectj.asm.IProgramElement.removeChild:(Lorg/aspectj/asm/IProgramElement;)Z
            pop
         8: .line 1836
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.candidatesForRemoval:Ljava/util/Set;
            aload 3 /* typeThatHasChildRemoved */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 1837
            aload 4 /* parent */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isSourceFile:()Z
            ifeq 12
        10: .line 1838
            aload 0 /* this */
            aload 1 /* hierarchy */
            aload 3 /* typeThatHasChildRemoved */
            aload 4 /* parent */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.removeSourceFileIfNoMoreTypeDeclarationsInside:(Lorg/aspectj/asm/internal/AspectJElementHierarchy;Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
        11: .line 1841
            goto 13
        12: .line 1845
      StackMap locals: org.aspectj.asm.IProgramElement
      StackMap stack:
            aload 0 /* this */
            aload 1 /* hierarchy */
            aload 2 /* tname */
            aload 4 /* parent */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.walkUpRemovingEmptyTypesAndPossiblyEmptySourceFile:(Lorg/aspectj/asm/internal/AspectJElementHierarchy;Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;)V
        end local 4 // org.aspectj.asm.IProgramElement parent
        13: .line 1849
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.aspectj.asm.IProgramElement typeThatHasChildRemoved
        end local 2 // java.lang.String tname
        end local 1 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   14     0                     this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   14     1                hierarchy  Lorg/aspectj/asm/internal/AspectJElementHierarchy;
            0   14     2                    tname  Ljava/lang/String;
            0   14     3  typeThatHasChildRemoved  Lorg/aspectj/asm/IProgramElement;
            6   13     4                   parent  Lorg/aspectj/asm/IProgramElement;
    MethodParameters:
                         Name  Flags
      hierarchy                
      tname                    
      typeThatHasChildRemoved  

  private void removeSourceFileIfNoMoreTypeDeclarationsInside(org.aspectj.asm.internal.AspectJElementHierarchy, org.aspectj.asm.IProgramElement, org.aspectj.asm.IProgramElement);
    descriptor: (Lorg/aspectj/asm/internal/AspectJElementHierarchy;Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        start local 2 // org.aspectj.asm.IProgramElement typeElement
        start local 3 // org.aspectj.asm.IProgramElement sourceFileNode
         0: .line 1853
            aload 3 /* sourceFileNode */
            astore 4 /* compilationUnit */
        start local 4 // org.aspectj.asm.IProgramElement compilationUnit
         1: .line 1854
            iconst_0
            istore 5 /* anyOtherTypeDeclarations */
        start local 5 // boolean anyOtherTypeDeclarations
         2: .line 1855
            aload 4 /* compilationUnit */
            invokeinterface org.aspectj.asm.IProgramElement.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.asm.internal.AspectJElementHierarchy org.aspectj.asm.IProgramElement org.aspectj.asm.IProgramElement org.aspectj.asm.IProgramElement int top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.asm.IProgramElement
            astore 6 /* child */
        start local 6 // org.aspectj.asm.IProgramElement child
         4: .line 1856
            aload 6 /* child */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            astore 8 /* k */
        start local 8 // org.aspectj.asm.IProgramElement$Kind k
         5: .line 1857
            aload 8 /* k */
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isType:()Z
            ifeq 8
         6: .line 1858
            iconst_1
            istore 5 /* anyOtherTypeDeclarations */
         7: .line 1859
            goto 9
        end local 8 // org.aspectj.asm.IProgramElement$Kind k
        end local 6 // org.aspectj.asm.IProgramElement child
         8: .line 1855
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1864
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.asm.internal.AspectJElementHierarchy org.aspectj.asm.IProgramElement org.aspectj.asm.IProgramElement org.aspectj.asm.IProgramElement int
      StackMap stack:
            iload 5 /* anyOtherTypeDeclarations */
            ifne 16
        10: .line 1865
            aload 4 /* compilationUnit */
            invokeinterface org.aspectj.asm.IProgramElement.getParent:()Lorg/aspectj/asm/IProgramElement;
            astore 6 /* cuParent */
        start local 6 // org.aspectj.asm.IProgramElement cuParent
        11: .line 1866
            aload 6 /* cuParent */
            ifnull 14
        12: .line 1867
            aload 4 /* compilationUnit */
            aconst_null
            invokeinterface org.aspectj.asm.IProgramElement.setParent:(Lorg/aspectj/asm/IProgramElement;)V
        13: .line 1868
            aload 6 /* cuParent */
            aload 4 /* compilationUnit */
            invokeinterface org.aspectj.asm.IProgramElement.removeChild:(Lorg/aspectj/asm/IProgramElement;)Z
            pop
        14: .line 1871
      StackMap locals: org.aspectj.asm.IProgramElement
      StackMap stack:
            aload 1 /* hierarchy */
            aload 3 /* sourceFileNode */
            aload 2 /* typeElement */
            invokevirtual org.aspectj.asm.internal.AspectJElementHierarchy.forget:(Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
        end local 6 // org.aspectj.asm.IProgramElement cuParent
        15: .line 1872
            goto 17
        16: .line 1873
      StackMap locals:
      StackMap stack:
            aload 1 /* hierarchy */
            aconst_null
            aload 2 /* typeElement */
            invokevirtual org.aspectj.asm.internal.AspectJElementHierarchy.forget:(Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement;)V
        17: .line 1875
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean anyOtherTypeDeclarations
        end local 4 // org.aspectj.asm.IProgramElement compilationUnit
        end local 3 // org.aspectj.asm.IProgramElement sourceFileNode
        end local 2 // org.aspectj.asm.IProgramElement typeElement
        end local 1 // org.aspectj.asm.internal.AspectJElementHierarchy hierarchy
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   18     0                      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   18     1                 hierarchy  Lorg/aspectj/asm/internal/AspectJElementHierarchy;
            0   18     2               typeElement  Lorg/aspectj/asm/IProgramElement;
            0   18     3            sourceFileNode  Lorg/aspectj/asm/IProgramElement;
            1   18     4           compilationUnit  Lorg/aspectj/asm/IProgramElement;
            2   18     5  anyOtherTypeDeclarations  Z
            4    8     6                     child  Lorg/aspectj/asm/IProgramElement;
            5    8     8                         k  Lorg/aspectj/asm/IProgramElement$Kind;
           11   15     6                  cuParent  Lorg/aspectj/asm/IProgramElement;
    MethodParameters:
                Name  Flags
      hierarchy       
      typeElement     
      sourceFileNode  

  private boolean hasInnerType(org.aspectj.asm.IProgramElement);
    descriptor: (Lorg/aspectj/asm/IProgramElement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.asm.IProgramElement typeNode
         0: .line 1881
            aload 1 /* typeNode */
            invokeinterface org.aspectj.asm.IProgramElement.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.asm.IProgramElement top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.asm.IProgramElement
            astore 2 /* child */
        start local 2 // org.aspectj.asm.IProgramElement child
         2: .line 1882
            aload 2 /* child */
            invokeinterface org.aspectj.asm.IProgramElement.getKind:()Lorg/aspectj/asm/IProgramElement$Kind;
            astore 4 /* kind */
        start local 4 // org.aspectj.asm.IProgramElement$Kind kind
         3: .line 1883
            aload 4 /* kind */
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isType:()Z
            ifeq 5
         4: .line 1884
            iconst_1
            ireturn
         5: .line 1889
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.asm.IProgramElement org.aspectj.asm.IProgramElement java.util.Iterator org.aspectj.asm.IProgramElement$Kind
      StackMap stack:
            aload 4 /* kind */
            invokevirtual org.aspectj.asm.IProgramElement$Kind.isType:()Z
            ifne 6
            aload 4 /* kind */
            getstatic org.aspectj.asm.IProgramElement$Kind.METHOD:Lorg/aspectj/asm/IProgramElement$Kind;
            if_acmpeq 6
            aload 4 /* kind */
            getstatic org.aspectj.asm.IProgramElement$Kind.CONSTRUCTOR:Lorg/aspectj/asm/IProgramElement$Kind;
            if_acmpne 9
         6: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* child */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.hasInnerType:(Lorg/aspectj/asm/IProgramElement;)Z
            istore 5 /* b */
        start local 5 // boolean b
         7: .line 1891
            iload 5 /* b */
            ifeq 9
         8: .line 1892
            iload 5 /* b */
            ireturn
        end local 5 // boolean b
        end local 4 // org.aspectj.asm.IProgramElement$Kind kind
        end local 2 // org.aspectj.asm.IProgramElement child
         9: .line 1881
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.asm.IProgramElement top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 1896
            iconst_0
            ireturn
        end local 1 // org.aspectj.asm.IProgramElement typeNode
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   11     1  typeNode  Lorg/aspectj/asm/IProgramElement;
            2    9     2     child  Lorg/aspectj/asm/IProgramElement;
            3    9     4      kind  Lorg/aspectj/asm/IProgramElement$Kind;
            7    9     5         b  Z
    MethodParameters:
          Name  Flags
      typeNode  

  private void checkDeclareTypeErrorOrWarning(org.aspectj.weaver.bcel.BcelWorld, org.aspectj.weaver.bcel.BcelObjectType);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/bcel/BcelObjectType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.BcelWorld world2
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
         0: .line 1900
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getDeclareTypeEows:()Ljava/util/List;
            astore 3 /* dteows */
        start local 3 // java.util.List dteows
         1: .line 1901
            aload 3 /* dteows */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.BcelWorld org.aspectj.weaver.bcel.BcelObjectType java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning
            astore 4 /* dteow */
        start local 4 // org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning dteow
         3: .line 1902
            aload 4 /* dteow */
            invokevirtual org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning.getTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 12
         4: .line 1903
            aload 4 /* dteow */
            invokevirtual org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning.isError:()Z
            ifeq 9
         5: .line 1904
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
         6: .line 1905
            aload 4 /* dteow */
            invokevirtual org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning.getMessage:()Ljava/lang/String;
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
         7: .line 1904
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
         8: .line 1906
            goto 12
         9: .line 1907
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.BcelWorld org.aspectj.weaver.bcel.BcelObjectType java.util.List org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
        10: .line 1908
            aload 4 /* dteow */
            invokevirtual org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning.getMessage:()Ljava/lang/String;
            aload 2 /* classType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getResolvedTypeX:()Lorg/aspectj/weaver/ReferenceType;
            invokevirtual org.aspectj.weaver.ReferenceType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokestatic org.aspectj.bridge.MessageUtil.warn:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
        11: .line 1907
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 4 // org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning dteow
        12: .line 1901
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver org.aspectj.weaver.bcel.BcelWorld org.aspectj.weaver.bcel.BcelObjectType java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        13: .line 1912
            return
        end local 3 // java.util.List dteows
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType classType
        end local 1 // org.aspectj.weaver.bcel.BcelWorld world2
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   14     1     world2  Lorg/aspectj/weaver/bcel/BcelWorld;
            0   14     2  classType  Lorg/aspectj/weaver/bcel/BcelObjectType;
            1   14     3     dteows  Ljava/util/List<Lorg/aspectj/weaver/patterns/DeclareTypeErrorOrWarning;>;
            3   12     4      dteow  Lorg/aspectj/weaver/patterns/DeclareTypeErrorOrWarning;
    MethodParameters:
           Name  Flags
      world2     
      classType  

  private void dumpUnchanged(org.aspectj.weaver.bcel.UnwovenClassFile);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
         0: .line 1915
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            ifnull 3
         1: .line 1916
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getEntryName:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getBytes:()[B
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.writeZipEntry:(Ljava/lang/String;[B)V
         2: .line 1917
            goto 4
         3: .line 1918
      StackMap locals:
      StackMap stack:
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.writeUnchangedBytes:()V
         4: .line 1920
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    5     1  classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  

  private java.lang.String getEntryName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String className
         0: .line 1924
            new java.lang.StringBuilder
            dup
            aload 1 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    1     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  private void dump(org.aspectj.weaver.bcel.UnwovenClassFile, org.aspectj.weaver.bcel.LazyClassGen);
    descriptor: (Lorg/aspectj/weaver/bcel/UnwovenClassFile;Lorg/aspectj/weaver/bcel/LazyClassGen;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        start local 2 // org.aspectj.weaver.bcel.LazyClassGen clazz
         0: .line 1928
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            ifnull 11
         1: .line 1929
            aload 1 /* classFile */
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.getJavaClass:()Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            astore 3 /* mainClassName */
        start local 3 // java.lang.String mainClassName
         2: .line 1930
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* mainClassName */
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getEntryName:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getJavaClass:(Lorg/aspectj/weaver/bcel/BcelWorld;)Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getBytes:()[B
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.writeZipEntry:(Ljava/lang/String;[B)V
         3: .line 1931
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getChildClasses:(Lorg/aspectj/weaver/bcel/BcelWorld;)Ljava/util/List;
            astore 4 /* childClasses */
        start local 4 // java.util.List childClasses
         4: .line 1932
            aload 4 /* childClasses */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 12
         5: .line 1933
            aload 4 /* childClasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* i */
        start local 5 // java.util.Iterator i
         6: goto 9
         7: .line 1934
      StackMap locals: java.lang.String java.util.List java.util.Iterator
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass
            astore 6 /* c */
        start local 6 // org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass c
         8: .line 1935
            aload 0 /* this */
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 3 /* mainClassName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* c */
            getfield org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.getEntryName:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* c */
            getfield org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass.bytes:[B
            invokevirtual org.aspectj.weaver.bcel.BcelWeaver.writeZipEntry:(Ljava/lang/String;[B)V
        end local 6 // org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass c
         9: .line 1933
      StackMap locals:
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // java.util.Iterator i
        end local 4 // java.util.List childClasses
        end local 3 // java.lang.String mainClassName
        10: .line 1938
            goto 12
        11: .line 1939
      StackMap locals:
      StackMap stack:
            aload 1 /* classFile */
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getJavaClass:(Lorg/aspectj/weaver/bcel/BcelWorld;)Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getBytes:()[B
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getChildClasses:(Lorg/aspectj/weaver/bcel/BcelWorld;)Ljava/util/List;
            invokevirtual org.aspectj.weaver.bcel.UnwovenClassFile.writeWovenBytes:([BLjava/util/List;)V
        12: .line 1941
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.aspectj.weaver.bcel.LazyClassGen clazz
        end local 1 // org.aspectj.weaver.bcel.UnwovenClassFile classFile
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   13     1      classFile  Lorg/aspectj/weaver/bcel/UnwovenClassFile;
            0   13     2          clazz  Lorg/aspectj/weaver/bcel/LazyClassGen;
            2   10     3  mainClassName  Ljava/lang/String;
            4   10     4   childClasses  Ljava/util/List<Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;>;
            6   10     5              i  Ljava/util/Iterator<Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;>;
            8    9     6              c  Lorg/aspectj/weaver/bcel/UnwovenClassFile$ChildClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classFile  
      clazz      

  private void writeZipEntry(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.lang.String name
        start local 2 // byte[] bytes
         0: .line 1944
            new java.util.zip.ZipEntry
            dup
            aload 1 /* name */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 3 /* newEntry */
        start local 3 // java.util.zip.ZipEntry newEntry
         1: .line 1947
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            aload 3 /* newEntry */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
         2: .line 1948
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            aload 2 /* bytes */
            invokevirtual java.util.zip.ZipOutputStream.write:([B)V
         3: .line 1949
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.zipOutputStream:Ljava/util/zip/ZipOutputStream;
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
         4: .line 1950
            return
        end local 3 // java.util.zip.ZipEntry newEntry
        end local 2 // byte[] bytes
        end local 1 // java.lang.String name
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    5     1      name  Ljava/lang/String;
            0    5     2     bytes  [B
            1    5     3  newEntry  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      name   
      bytes  

  private java.util.List<org.aspectj.weaver.ShadowMunger> fastMatch(java.util.List<org.aspectj.weaver.ShadowMunger>, org.aspectj.weaver.ResolvedType);
    descriptor: (Ljava/util/List;Lorg/aspectj/weaver/ResolvedType;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.util.List list
        start local 2 // org.aspectj.weaver.ResolvedType type
         0: .line 1961
            aload 1 /* list */
            ifnonnull 2
         1: .line 1962
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 1964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isOverWeaving:()Z
            istore 3 /* isOverweaving */
        start local 3 // boolean isOverweaving
         3: .line 1965
            iload 3 /* isOverweaving */
            ifeq 4
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getWeaverState:()Lorg/aspectj/weaver/WeaverStateInfo;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: org.aspectj.weaver.WeaverStateInfo
         5: astore 4 /* typeWeaverState */
        start local 4 // org.aspectj.weaver.WeaverStateInfo typeWeaverState
         6: .line 1970
            new org.aspectj.weaver.patterns.FastMatchInfo
            dup
            aload 2 /* type */
            aconst_null
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokespecial org.aspectj.weaver.patterns.FastMatchInfo.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/World;)V
            astore 5 /* info */
        start local 5 // org.aspectj.weaver.patterns.FastMatchInfo info
         7: .line 1972
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* result */
        start local 6 // java.util.List result
         8: .line 1974
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.areInfoMessagesEnabled:()Z
            ifeq 24
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isTimingEnabled:()Z
            ifeq 24
         9: .line 1975
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 7 /* munger */
        start local 7 // org.aspectj.weaver.ShadowMunger munger
        11: .line 1976
            aload 4 /* typeWeaverState */
            ifnull 15
        12: .line 1977
            aload 7 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getDeclaringType:()Lorg/aspectj/weaver/ResolvedType;
            astore 9 /* declaringAspect */
        start local 9 // org.aspectj.weaver.ResolvedType declaringAspect
        13: .line 1978
            aload 4 /* typeWeaverState */
            aload 9 /* declaringAspect */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.isAspectAlreadyApplied:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 15
        14: .line 1979
            goto 22
        end local 9 // org.aspectj.weaver.ResolvedType declaringAspect
        15: .line 1982
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List org.aspectj.weaver.ShadowMunger java.util.Iterator
      StackMap stack:
            aload 7 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pointcut */
        start local 9 // org.aspectj.weaver.patterns.Pointcut pointcut
        16: .line 1983
            invokestatic java.lang.System.nanoTime:()J
            lstore 10 /* starttime */
        start local 10 // long starttime
        17: .line 1984
            aload 9 /* pointcut */
            aload 5 /* info */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.fastMatch:(Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
            astore 12 /* fb */
        start local 12 // org.aspectj.util.FuzzyBoolean fb
        18: .line 1985
            invokestatic java.lang.System.nanoTime:()J
            lstore 13 /* endtime */
        start local 13 // long endtime
        19: .line 1986
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 9 /* pointcut */
            lload 13 /* endtime */
            lload 10 /* starttime */
            lsub
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.recordFastMatch:(Lorg/aspectj/weaver/patterns/Pointcut;J)V
        20: .line 1987
            aload 12 /* fb */
            invokevirtual org.aspectj.util.FuzzyBoolean.maybeTrue:()Z
            ifeq 22
        21: .line 1988
            aload 6 /* result */
            aload 7 /* munger */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // long endtime
        end local 12 // org.aspectj.util.FuzzyBoolean fb
        end local 10 // long starttime
        end local 9 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 7 // org.aspectj.weaver.ShadowMunger munger
        22: .line 1975
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        23: .line 1991
            goto 35
        24: .line 1992
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List
      StackMap stack:
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 34
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List top java.util.Iterator
      StackMap stack:
        25: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 7 /* munger */
        start local 7 // org.aspectj.weaver.ShadowMunger munger
        26: .line 1993
            aload 4 /* typeWeaverState */
            ifnull 30
        27: .line 1994
            aload 7 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            astore 9 /* declaringAspect */
        start local 9 // org.aspectj.weaver.ResolvedType declaringAspect
        28: .line 1995
            aload 4 /* typeWeaverState */
            aload 9 /* declaringAspect */
            invokevirtual org.aspectj.weaver.WeaverStateInfo.isAspectAlreadyApplied:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 30
        29: .line 1996
            goto 34
        end local 9 // org.aspectj.weaver.ResolvedType declaringAspect
        30: .line 1999
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List org.aspectj.weaver.ShadowMunger java.util.Iterator
      StackMap stack:
            aload 7 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pointcut */
        start local 9 // org.aspectj.weaver.patterns.Pointcut pointcut
        31: .line 2000
            aload 9 /* pointcut */
            aload 5 /* info */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.fastMatch:(Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
            astore 10 /* fb */
        start local 10 // org.aspectj.util.FuzzyBoolean fb
        32: .line 2001
            aload 10 /* fb */
            invokevirtual org.aspectj.util.FuzzyBoolean.maybeTrue:()Z
            ifeq 34
        33: .line 2002
            aload 6 /* result */
            aload 7 /* munger */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.aspectj.util.FuzzyBoolean fb
        end local 9 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 7 // org.aspectj.weaver.ShadowMunger munger
        34: .line 1992
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        35: .line 2006
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver java.util.List org.aspectj.weaver.ResolvedType int org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.patterns.FastMatchInfo java.util.List
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 6 // java.util.List result
        end local 5 // org.aspectj.weaver.patterns.FastMatchInfo info
        end local 4 // org.aspectj.weaver.WeaverStateInfo typeWeaverState
        end local 3 // boolean isOverweaving
        end local 2 // org.aspectj.weaver.ResolvedType type
        end local 1 // java.util.List list
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0   36     1             list  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
            0   36     2             type  Lorg/aspectj/weaver/ResolvedType;
            3   36     3    isOverweaving  Z
            6   36     4  typeWeaverState  Lorg/aspectj/weaver/WeaverStateInfo;
            7   36     5             info  Lorg/aspectj/weaver/patterns/FastMatchInfo;
            8   36     6           result  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
           11   22     7           munger  Lorg/aspectj/weaver/ShadowMunger;
           13   15     9  declaringAspect  Lorg/aspectj/weaver/ResolvedType;
           16   22     9         pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
           17   22    10        starttime  J
           18   22    12               fb  Lorg/aspectj/util/FuzzyBoolean;
           19   22    13          endtime  J
           26   34     7           munger  Lorg/aspectj/weaver/ShadowMunger;
           28   30     9  declaringAspect  Lorg/aspectj/weaver/ResolvedType;
           31   34     9         pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
           32   34    10               fb  Lorg/aspectj/util/FuzzyBoolean;
    Signature: (Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;Lorg/aspectj/weaver/ResolvedType;)Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
    MethodParameters:
      Name  Flags
      list  
      type  

  public void setReweavableMode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // boolean xNotReweavable
         0: .line 2010
            aload 0 /* this */
            iload 1 /* xNotReweavable */
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.BcelWeaver
         1: iconst_1
      StackMap locals: org.aspectj.weaver.bcel.BcelWeaver int
      StackMap stack: org.aspectj.weaver.bcel.BcelWeaver int
         2: putfield org.aspectj.weaver.bcel.BcelWeaver.inReweavableMode:Z
         3: .line 2011
            iload 1 /* xNotReweavable */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: iconst_0
            iconst_1
            invokestatic org.aspectj.weaver.WeaverStateInfo.setReweavableModeDefaults:(ZZZ)V
         6: .line 2012
            return
        end local 1 // boolean xNotReweavable
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    7     1  xNotReweavable  Z
    MethodParameters:
                Name  Flags
      xNotReweavable  

  public boolean isReweavable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 2015
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.inReweavableMode:Z
            ireturn
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  public org.aspectj.weaver.World getWorld();
    descriptor: ()Lorg/aspectj/weaver/World;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 2019
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.world:Lorg/aspectj/weaver/bcel/BcelWorld;
            areturn
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  public void tidyUp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
         0: .line 2023
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 2
         1: .line 2024
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "tidyUp"
            aload 0 /* this */
            invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 2026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
         3: .line 2027
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.typeMungerList:Ljava/util/List;
         4: .line 2028
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.lateTypeMungerList:Ljava/util/List;
         5: .line 2029
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelWeaver.declareParentsList:Ljava/util/List;
         6: .line 2030
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
            ifeq 8
         7: .line 2031
            getstatic org.aspectj.weaver.bcel.BcelWeaver.trace:Lorg/aspectj/weaver/tools/Trace;
            ldc "tidyUp"
            invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
         8: .line 2033
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;

  public void write(org.aspectj.weaver.CompressingDataOutputStream);
    descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // org.aspectj.weaver.CompressingDataOutputStream dos
         0: .line 2036
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelWeaver.xcutSet:Lorg/aspectj/weaver/CrosscuttingMembersSet;
            aload 1 /* dos */
            invokevirtual org.aspectj.weaver.CrosscuttingMembersSet.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         1: .line 2037
            return
        end local 1 // org.aspectj.weaver.CompressingDataOutputStream dos
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1   dos  Lorg/aspectj/weaver/CompressingDataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dos   

  public void setShadowMungers(java.util.List<org.aspectj.weaver.ShadowMunger>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelWeaver this
        start local 1 // java.util.List shadowMungers
         0: .line 2041
            aload 0 /* this */
            aload 1 /* shadowMungers */
            putfield org.aspectj.weaver.bcel.BcelWeaver.shadowMungerList:Ljava/util/List;
         1: .line 2042
            return
        end local 1 // java.util.List shadowMungers
        end local 0 // org.aspectj.weaver.bcel.BcelWeaver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/aspectj/weaver/bcel/BcelWeaver;
            0    2     1  shadowMungers  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
    Signature: (Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;)V
    MethodParameters:
               Name  Flags
      shadowMungers  
}
SourceFile: "BcelWeaver.java"
NestMembers:
  org.aspectj.weaver.bcel.BcelWeaver$1  org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation  org.aspectj.weaver.bcel.BcelWeaver$2  org.aspectj.weaver.bcel.BcelWeaver$3  org.aspectj.weaver.bcel.BcelWeaver$4  org.aspectj.weaver.bcel.BcelWeaver$4$1
InnerClasses:
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  public Kind = org.aspectj.asm.IProgramElement$Kind of org.aspectj.asm.IProgramElement
  public final Kind = org.aspectj.bridge.IMessage$Kind of org.aspectj.bridge.IMessage
  public WeaveMessageKind = org.aspectj.bridge.WeaveMessage$WeaveMessageKind of org.aspectj.bridge.WeaveMessage
  public Kind = org.aspectj.weaver.Lint$Kind of org.aspectj.weaver.Lint
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow
  org.aspectj.weaver.bcel.BcelWeaver$1
  AdviceLocation = org.aspectj.weaver.bcel.BcelWeaver$1AdviceLocation
  org.aspectj.weaver.bcel.BcelWeaver$2
  org.aspectj.weaver.bcel.BcelWeaver$3
  org.aspectj.weaver.bcel.BcelWeaver$4
  WeavingXmlConfig = org.aspectj.weaver.bcel.BcelWorld$WeavingXmlConfig of org.aspectj.weaver.bcel.BcelWorld
  public ChildClass = org.aspectj.weaver.bcel.UnwovenClassFile$ChildClass of org.aspectj.weaver.bcel.UnwovenClassFile
  public Kind = org.aspectj.weaver.patterns.PerClause$Kind of org.aspectj.weaver.patterns.PerClause