public class org.aspectj.weaver.bcel.AtAjAttributes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.bcel.AtAjAttributes
  super_class: java.lang.Object
{
  private static final java.util.List<org.aspectj.weaver.AjAttribute> NO_ATTRIBUTES;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lorg/aspectj/weaver/AjAttribute;>;

  private static final java.lang.String[] EMPTY_STRINGS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "value"

  private static final java.lang.String ARGNAMES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "argNames"

  private static final java.lang.String POINTCUT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "pointcut"

  private static final java.lang.String THROWING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "throwing"

  private static final java.lang.String RETURNING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "returning"

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

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

  private static final char PACKAGE_INITIAL_CHAR;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 93
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putstatic org.aspectj.weaver.bcel.AtAjAttributes.NO_ATTRIBUTES:Ljava/util/List;
         1: .line 94
            iconst_0
            anewarray java.lang.String
            putstatic org.aspectj.weaver.bcel.AtAjAttributes.EMPTY_STRINGS:[Ljava/lang/String;
         2: .line 102
            ldc "org.aspectj.lang.annotation"
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            putstatic org.aspectj.weaver.bcel.AtAjAttributes.PACKAGE_INITIAL_CHAR:C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.AtAjAttributes this
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.aspectj.weaver.bcel.AtAjAttributes this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/bcel/AtAjAttributes;

  public static boolean acceptAttribute(org.aspectj.apache.bcel.classfile.Attribute);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Attribute;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.apache.bcel.classfile.Attribute attribute
         0: .line 184
            aload 0 /* attribute */
            instanceof org.aspectj.apache.bcel.classfile.annotation.RuntimeVisAnnos
            ireturn
        end local 0 // org.aspectj.apache.bcel.classfile.Attribute attribute
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  attribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
    MethodParameters:
           Name  Flags
      attribute  

  public static java.util.List<org.aspectj.weaver.AjAttribute> readAj5ClassAttributes(org.aspectj.asm.AsmManager, org.aspectj.apache.bcel.classfile.JavaClass, org.aspectj.weaver.ReferenceType, org.aspectj.weaver.ISourceContext, org.aspectj.bridge.IMessageHandler, boolean);
    descriptor: (Lorg/aspectj/asm/AsmManager;Lorg/aspectj/apache/bcel/classfile/JavaClass;Lorg/aspectj/weaver/ReferenceType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;Z)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=23, args_size=6
        start local 0 // org.aspectj.asm.AsmManager model
        start local 1 // org.aspectj.apache.bcel.classfile.JavaClass javaClass
        start local 2 // org.aspectj.weaver.ReferenceType type
        start local 3 // org.aspectj.weaver.ISourceContext context
        start local 4 // org.aspectj.bridge.IMessageHandler msgHandler
        start local 5 // boolean isCodeStyleAspect
         0: .line 198
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.PACKAGE_INITIAL_CHAR:C
            if_icmpne 3
         1: .line 199
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            ldc "org.aspectj.lang.annotation"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 198
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* ignoreThisClass */
        start local 6 // boolean ignoreThisClass
         5: .line 200
            iload 6 /* ignoreThisClass */
            ifeq 7
         6: .line 201
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.NO_ATTRIBUTES:Ljava/util/List;
            areturn
         7: .line 203
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 7 /* containsPointcut */
        start local 7 // boolean containsPointcut
         8: .line 204
            iconst_0
            istore 8 /* containsAnnotationClassReference */
        start local 8 // boolean containsAnnotationClassReference
         9: .line 205
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getConstantPool:()Lorg/aspectj/apache/bcel/classfile/ConstantPool;
            invokevirtual org.aspectj.apache.bcel.classfile.ConstantPool.getConstantPool:()[Lorg/aspectj/apache/bcel/classfile/Constant;
            astore 9 /* cpool */
        start local 9 // org.aspectj.apache.bcel.classfile.Constant[] cpool
        10: .line 206
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: goto 28
        12: .line 207
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] int
      StackMap stack:
            aload 9 /* cpool */
            iload 10 /* i */
            aaload
            astore 11 /* constant */
        start local 11 // org.aspectj.apache.bcel.classfile.Constant constant
        13: .line 208
            aload 11 /* constant */
            ifnull 27
            aload 11 /* constant */
            invokevirtual org.aspectj.apache.bcel.classfile.Constant.getTag:()B
            iconst_1
            if_icmpne 27
        14: .line 209
            aload 11 /* constant */
            checkcast org.aspectj.apache.bcel.classfile.ConstantUtf8
            invokevirtual org.aspectj.apache.bcel.classfile.ConstantUtf8.getValue:()Ljava/lang/String;
            astore 12 /* constantValue */
        start local 12 // java.lang.String constantValue
        15: .line 210
            aload 12 /* constantValue */
            invokevirtual java.lang.String.length:()I
            bipush 28
            if_icmple 27
            aload 12 /* constantValue */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.PACKAGE_INITIAL_CHAR:C
            if_icmpne 27
        16: .line 211
            aload 12 /* constantValue */
            ldc "Lorg/aspectj/lang/annotation"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        17: .line 212
            iconst_1
            istore 8 /* containsAnnotationClassReference */
        18: .line 213
            ldc "Lorg/aspectj/lang/annotation/DeclareAnnotation;"
            aload 12 /* constantValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        19: .line 214
            aload 4 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
        20: .line 215
            new java.lang.StringBuilder
            dup
            ldc "Found @DeclareAnnotation while current release does not support it (see '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 216
            ldc "')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 215
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 216
            getstatic org.aspectj.bridge.IMessage.WARNING:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        24: .line 214
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        25: .line 218
      StackMap locals: org.aspectj.apache.bcel.classfile.Constant java.lang.String
      StackMap stack:
            ldc "Lorg/aspectj/lang/annotation/Pointcut;"
            aload 12 /* constantValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 219
            iconst_1
            istore 7 /* containsPointcut */
        end local 12 // java.lang.String constantValue
        end local 11 // org.aspectj.apache.bcel.classfile.Constant constant
        27: .line 206
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 10 /* i */
            aload 9 /* cpool */
            arraylength
            if_icmplt 12
        end local 10 // int i
        29: .line 226
            iload 8 /* containsAnnotationClassReference */
            ifne 31
        30: .line 227
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.NO_ATTRIBUTES:Ljava/util/List;
            areturn
        31: .line 230
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct
            dup
            aload 2 /* type */
            aload 3 /* context */
            aload 4 /* msgHandler */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)V
            astore 10 /* struct */
        start local 10 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        32: .line 231
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getAttributes:()[Lorg/aspectj/apache/bcel/classfile/Attribute;
            astore 11 /* attributes */
        start local 11 // org.aspectj.apache.bcel.classfile.Attribute[] attributes
        33: .line 232
            iconst_0
            istore 12 /* hasAtAspectAnnotation */
        start local 12 // boolean hasAtAspectAnnotation
        34: .line 233
            iconst_0
            istore 13 /* hasAtPrecedenceAnnotation */
        start local 13 // boolean hasAtPrecedenceAnnotation
        35: .line 235
            aconst_null
            astore 14 /* wvinfo */
        start local 14 // org.aspectj.weaver.AjAttribute$WeaverVersionInfo wvinfo
        36: .line 236
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        37: goto 46
        38: .line 237
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo int
      StackMap stack:
            aload 11 /* attributes */
            iload 15 /* i */
            aaload
            astore 16 /* attribute */
        start local 16 // org.aspectj.apache.bcel.classfile.Attribute attribute
        39: .line 238
            aload 16 /* attribute */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.acceptAttribute:(Lorg/aspectj/apache/bcel/classfile/Attribute;)Z
            ifeq 45
        40: .line 239
            aload 16 /* attribute */
            checkcast org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
            astore 17 /* rvs */
        start local 17 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
        41: .line 242
            iload 5 /* isCodeStyleAspect */
            ifne 47
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.isInterface:()Z
            ifne 47
        42: .line 243
            aload 17 /* rvs */
            aload 10 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleAspectAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Z
            istore 12 /* hasAtAspectAnnotation */
        43: .line 246
            aload 17 /* rvs */
            aload 10 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handlePrecedenceAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Z
            istore 13 /* hasAtPrecedenceAnnotation */
        44: .line 249
            goto 47
        end local 17 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
        end local 16 // org.aspectj.apache.bcel.classfile.Attribute attribute
        45: .line 236
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 15 /* i */
            aload 11 /* attributes */
            arraylength
            if_icmplt 38
        end local 15 // int i
        47: .line 252
      StackMap locals:
      StackMap stack:
            aload 11 /* attributes */
            arraylength
            iconst_1
            isub
            istore 15 /* i */
        start local 15 // int i
        48: goto 60
        49: .line 253
      StackMap locals: int
      StackMap stack:
            aload 11 /* attributes */
            iload 15 /* i */
            aaload
            astore 16 /* attribute */
        start local 16 // org.aspectj.apache.bcel.classfile.Attribute attribute
        50: .line 254
            aload 16 /* attribute */
            invokevirtual org.aspectj.apache.bcel.classfile.Attribute.getName:()Ljava/lang/String;
            ldc "org.aspectj.weaver.WeaverVersion"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        51: .line 256
            new org.aspectj.weaver.VersionedDataInputStream
            dup
            new java.io.ByteArrayInputStream
            dup
        52: .line 257
            aload 16 /* attribute */
            checkcast org.aspectj.apache.bcel.classfile.Unknown
            invokevirtual org.aspectj.apache.bcel.classfile.Unknown.getBytes:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aconst_null
        53: .line 256
            invokespecial org.aspectj.weaver.VersionedDataInputStream.<init>:(Ljava/io/InputStream;Lorg/aspectj/weaver/ConstantPoolReader;)V
            astore 17 /* s */
        start local 17 // org.aspectj.weaver.VersionedDataInputStream s
        54: .line 258
            aload 17 /* s */
            invokestatic org.aspectj.weaver.AjAttribute$WeaverVersionInfo.read:(Lorg/aspectj/weaver/VersionedDataInputStream;)Lorg/aspectj/weaver/AjAttribute$WeaverVersionInfo;
            astore 14 /* wvinfo */
        55: .line 259
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            iconst_0
            aload 14 /* wvinfo */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 17 // org.aspectj.weaver.VersionedDataInputStream s
        56: .line 260
            goto 59
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo int org.aspectj.apache.bcel.classfile.Attribute
      StackMap stack: java.io.IOException
        57: astore 17 /* ioe */
        start local 17 // java.io.IOException ioe
        58: .line 261
            aload 17 /* ioe */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 17 // java.io.IOException ioe
        end local 16 // org.aspectj.apache.bcel.classfile.Attribute attribute
        59: .line 252
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ -1
      StackMap locals:
      StackMap stack:
        60: iload 15 /* i */
            ifge 49
        end local 15 // int i
        61: .line 265
            aload 14 /* wvinfo */
            ifnonnull 72
        62: .line 271
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 15 /* delegate */
        start local 15 // org.aspectj.weaver.ReferenceTypeDelegate delegate
        63: .line 272
            aload 15 /* delegate */
            instanceof org.aspectj.weaver.bcel.BcelObjectType
            ifeq 70
        64: .line 273
            aload 15 /* delegate */
            checkcast org.aspectj.weaver.bcel.BcelObjectType
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getWeaverVersionAttribute:()Lorg/aspectj/weaver/AjAttribute$WeaverVersionInfo;
            astore 14 /* wvinfo */
        65: .line 274
            aload 14 /* wvinfo */
            ifnull 70
        66: .line 275
            aload 14 /* wvinfo */
            invokevirtual org.aspectj.weaver.AjAttribute$WeaverVersionInfo.getMajorVersion:()S
            ifeq 69
        67: .line 277
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            iconst_0
            aload 14 /* wvinfo */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        68: .line 278
            goto 70
        69: .line 279
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo org.aspectj.weaver.ReferenceTypeDelegate
      StackMap stack:
            aconst_null
            astore 14 /* wvinfo */
        70: .line 283
      StackMap locals:
      StackMap stack:
            aload 14 /* wvinfo */
            ifnonnull 72
        71: .line 284
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            iconst_0
            new org.aspectj.weaver.AjAttribute$WeaverVersionInfo
            dup
            invokespecial org.aspectj.weaver.AjAttribute$WeaverVersionInfo.<init>:()V
            dup
            astore 14 /* wvinfo */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 15 // org.aspectj.weaver.ReferenceTypeDelegate delegate
        72: .line 289
      StackMap locals:
      StackMap stack:
            iload 13 /* hasAtPrecedenceAnnotation */
            ifeq 77
            iload 12 /* hasAtAspectAnnotation */
            ifne 77
        73: .line 290
            aload 4 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found @DeclarePrecedence on a non @Aspect type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getName:()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;
        74: .line 291
            getstatic org.aspectj.bridge.IMessage.WARNING:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        75: .line 290
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        76: .line 293
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.NO_ATTRIBUTES:Ljava/util/List;
            areturn
        77: .line 298
      StackMap locals:
      StackMap stack:
            iload 12 /* hasAtAspectAnnotation */
            ifne 79
            iload 5 /* isCodeStyleAspect */
            ifne 79
            iload 7 /* containsPointcut */
            ifne 79
        78: .line 299
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.NO_ATTRIBUTES:Ljava/util/List;
            areturn
        79: .line 338
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        80: goto 101
        81: .line 339
      StackMap locals: int
      StackMap stack:
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getMethods:()[Lorg/aspectj/apache/bcel/classfile/Method;
            iload 15 /* i */
            aaload
            astore 16 /* method */
        start local 16 // org.aspectj.apache.bcel.classfile.Method method
        82: .line 340
            aload 16 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            ldc "ajc$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 84
        83: .line 341
            goto 100
        84: .line 345
      StackMap locals: org.aspectj.apache.bcel.classfile.Method
      StackMap stack:
            aconst_null
            astore 17 /* mstruct */
        start local 17 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct mstruct
        85: .line 346
            iconst_0
            istore 18 /* processedPointcut */
        start local 18 // boolean processedPointcut
        86: .line 347
            aload 16 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getAttributes:()[Lorg/aspectj/apache/bcel/classfile/Attribute;
            astore 19 /* mattributes */
        start local 19 // org.aspectj.apache.bcel.classfile.Attribute[] mattributes
        87: .line 348
            iconst_0
            istore 20 /* j */
        start local 20 // int j
        88: goto 97
        89: .line 349
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo int org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct int org.aspectj.apache.bcel.classfile.Attribute[] int
      StackMap stack:
            aload 19 /* mattributes */
            iload 20 /* j */
            aaload
            astore 21 /* mattribute */
        start local 21 // org.aspectj.apache.bcel.classfile.Attribute mattribute
        90: .line 350
            aload 21 /* mattribute */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.acceptAttribute:(Lorg/aspectj/apache/bcel/classfile/Attribute;)Z
            ifeq 96
        91: .line 354
            new org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct
            dup
            aload 16 /* method */
            aconst_null
            aload 2 /* type */
            aload 3 /* context */
            aload 4 /* msgHandler */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.<init>:(Lorg/aspectj/apache/bcel/classfile/Method;Lorg/aspectj/weaver/bcel/BcelMethod;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)V
            astore 17 /* mstruct */
        92: .line 355
            aload 21 /* mattribute */
            checkcast org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
            aload 17 /* mstruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handlePointcutAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Z
            istore 18 /* processedPointcut */
        93: .line 356
            iload 18 /* processedPointcut */
            ifne 98
        94: .line 357
            aload 21 /* mattribute */
            checkcast org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
            aload 17 /* mstruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleDeclareMixinAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Z
            istore 18 /* processedPointcut */
        95: .line 360
            goto 98
        end local 21 // org.aspectj.apache.bcel.classfile.Attribute mattribute
        96: .line 348
      StackMap locals:
      StackMap stack:
            iinc 20 /* j */ 1
      StackMap locals:
      StackMap stack:
        97: iload 20 /* j */
            aload 19 /* mattributes */
            arraylength
            if_icmplt 89
        end local 20 // int j
        98: .line 363
      StackMap locals:
      StackMap stack:
            iload 18 /* processedPointcut */
            ifeq 100
        99: .line 364
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            aload 17 /* mstruct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 19 // org.aspectj.apache.bcel.classfile.Attribute[] mattributes
        end local 18 // boolean processedPointcut
        end local 17 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct mstruct
        end local 16 // org.aspectj.apache.bcel.classfile.Method method
       100: .line 338
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo int
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       101: iload 15 /* i */
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getMethods:()[Lorg/aspectj/apache/bcel/classfile/Method;
            arraylength
            if_icmplt 81
        end local 15 // int i
       102: .line 370
            aload 1 /* javaClass */
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getFields:()[Lorg/aspectj/apache/bcel/classfile/Field;
            astore 15 /* fs */
        start local 15 // org.aspectj.apache.bcel.classfile.Field[] fs
       103: .line 371
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       104: goto 126
       105: .line 372
      StackMap locals: org.aspectj.asm.AsmManager org.aspectj.apache.bcel.classfile.JavaClass org.aspectj.weaver.ReferenceType org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler int int int int org.aspectj.apache.bcel.classfile.Constant[] org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.Attribute[] int int org.aspectj.weaver.AjAttribute$WeaverVersionInfo org.aspectj.apache.bcel.classfile.Field[] int
      StackMap stack:
            aload 15 /* fs */
            iload 16 /* i */
            aaload
            astore 17 /* field */
        start local 17 // org.aspectj.apache.bcel.classfile.Field field
       106: .line 373
            aload 17 /* field */
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getName:()Ljava/lang/String;
            ldc "ajc$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 108
       107: .line 374
            goto 125
       108: .line 378
      StackMap locals: org.aspectj.apache.bcel.classfile.Field
      StackMap stack:
            new org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct
            dup
            aload 17 /* field */
            aconst_null
            aload 2 /* type */
            aload 3 /* context */
            aload 4 /* msgHandler */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.<init>:(Lorg/aspectj/apache/bcel/classfile/Field;Lorg/aspectj/weaver/bcel/BcelField;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)V
            astore 18 /* fstruct */
        start local 18 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct fstruct
       109: .line 379
            aload 17 /* field */
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getAttributes:()[Lorg/aspectj/apache/bcel/classfile/Attribute;
            astore 19 /* fattributes */
        start local 19 // org.aspectj.apache.bcel.classfile.Attribute[] fattributes
       110: .line 381
            iconst_0
            istore 20 /* j */
        start local 20 // int j
       111: goto 123
       112: .line 382
      StackMap locals: org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.Attribute[] int
      StackMap stack:
            aload 19 /* fattributes */
            iload 20 /* j */
            aaload
            astore 21 /* fattribute */
        start local 21 // org.aspectj.apache.bcel.classfile.Attribute fattribute
       113: .line 383
            aload 21 /* fattribute */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.acceptAttribute:(Lorg/aspectj/apache/bcel/classfile/Attribute;)Z
            ifeq 122
       114: .line 384
            aload 21 /* fattribute */
            checkcast org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
            astore 22 /* frvs */
        start local 22 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos frvs
       115: .line 385
            aload 0 /* model */
            aload 22 /* frvs */
            aload 18 /* fstruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleDeclareErrorOrWarningAnnotation:(Lorg/aspectj/asm/AsmManager;Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)Z
            ifne 117
       116: .line 386
            aload 22 /* frvs */
            aload 18 /* fstruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleDeclareParentsAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)Z
            ifeq 124
       117: .line 389
      StackMap locals: org.aspectj.apache.bcel.classfile.Attribute org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
      StackMap stack:
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.isAnnotationStyleAspect:()Z
            ifne 124
            iload 5 /* isCodeStyleAspect */
            ifne 124
       118: .line 390
            aload 4 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found @AspectJ annotations in a non @Aspect type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       119: .line 391
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getName:()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;
            getstatic org.aspectj.bridge.IMessage.WARNING:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ReferenceType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
       120: .line 390
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
       121: .line 396
            goto 124
        end local 22 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos frvs
        end local 21 // org.aspectj.apache.bcel.classfile.Attribute fattribute
       122: .line 381
      StackMap locals:
      StackMap stack:
            iinc 20 /* j */ 1
      StackMap locals:
      StackMap stack:
       123: iload 20 /* j */
            aload 19 /* fattributes */
            arraylength
            if_icmplt 112
        end local 20 // int j
       124: .line 399
      StackMap locals:
      StackMap stack:
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            aload 18 /* fstruct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 19 // org.aspectj.apache.bcel.classfile.Attribute[] fattributes
        end local 18 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct fstruct
        end local 17 // org.aspectj.apache.bcel.classfile.Field field
       125: .line 371
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       126: iload 16 /* i */
            aload 15 /* fs */
            arraylength
            if_icmplt 105
        end local 16 // int i
       127: .line 402
            aload 10 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            areturn
        end local 15 // org.aspectj.apache.bcel.classfile.Field[] fs
        end local 14 // org.aspectj.weaver.AjAttribute$WeaverVersionInfo wvinfo
        end local 13 // boolean hasAtPrecedenceAnnotation
        end local 12 // boolean hasAtAspectAnnotation
        end local 11 // org.aspectj.apache.bcel.classfile.Attribute[] attributes
        end local 10 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        end local 9 // org.aspectj.apache.bcel.classfile.Constant[] cpool
        end local 8 // boolean containsAnnotationClassReference
        end local 7 // boolean containsPointcut
        end local 6 // boolean ignoreThisClass
        end local 5 // boolean isCodeStyleAspect
        end local 4 // org.aspectj.bridge.IMessageHandler msgHandler
        end local 3 // org.aspectj.weaver.ISourceContext context
        end local 2 // org.aspectj.weaver.ReferenceType type
        end local 1 // org.aspectj.apache.bcel.classfile.JavaClass javaClass
        end local 0 // org.aspectj.asm.AsmManager model
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0  128     0                             model  Lorg/aspectj/asm/AsmManager;
            0  128     1                         javaClass  Lorg/aspectj/apache/bcel/classfile/JavaClass;
            0  128     2                              type  Lorg/aspectj/weaver/ReferenceType;
            0  128     3                           context  Lorg/aspectj/weaver/ISourceContext;
            0  128     4                        msgHandler  Lorg/aspectj/bridge/IMessageHandler;
            0  128     5                 isCodeStyleAspect  Z
            5  128     6                   ignoreThisClass  Z
            8  128     7                  containsPointcut  Z
            9  128     8  containsAnnotationClassReference  Z
           10  128     9                             cpool  [Lorg/aspectj/apache/bcel/classfile/Constant;
           11   29    10                                 i  I
           13   27    11                          constant  Lorg/aspectj/apache/bcel/classfile/Constant;
           15   27    12                     constantValue  Ljava/lang/String;
           32  128    10                            struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
           33  128    11                        attributes  [Lorg/aspectj/apache/bcel/classfile/Attribute;
           34  128    12             hasAtAspectAnnotation  Z
           35  128    13         hasAtPrecedenceAnnotation  Z
           36  128    14                            wvinfo  Lorg/aspectj/weaver/AjAttribute$WeaverVersionInfo;
           37   47    15                                 i  I
           39   45    16                         attribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
           41   45    17                               rvs  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
           48   61    15                                 i  I
           50   59    16                         attribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
           54   56    17                                 s  Lorg/aspectj/weaver/VersionedDataInputStream;
           58   59    17                               ioe  Ljava/io/IOException;
           63   72    15                          delegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;
           80  102    15                                 i  I
           82  100    16                            method  Lorg/aspectj/apache/bcel/classfile/Method;
           85  100    17                           mstruct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
           86  100    18                 processedPointcut  Z
           87  100    19                       mattributes  [Lorg/aspectj/apache/bcel/classfile/Attribute;
           88   98    20                                 j  I
           90   96    21                        mattribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
          103  128    15                                fs  [Lorg/aspectj/apache/bcel/classfile/Field;
          104  127    16                                 i  I
          106  125    17                             field  Lorg/aspectj/apache/bcel/classfile/Field;
          109  125    18                           fstruct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;
          110  125    19                       fattributes  [Lorg/aspectj/apache/bcel/classfile/Attribute;
          111  124    20                                 j  I
          113  122    21                        fattribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
          115  122    22                              frvs  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
      Exception table:
        from    to  target  type
          51    56      57  Class java.io.IOException
    Signature: (Lorg/aspectj/asm/AsmManager;Lorg/aspectj/apache/bcel/classfile/JavaClass;Lorg/aspectj/weaver/ReferenceType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;Z)Ljava/util/List<Lorg/aspectj/weaver/AjAttribute;>;
    MethodParameters:
                   Name  Flags
      model              
      javaClass          
      type               
      context            
      msgHandler         
      isCodeStyleAspect  

  public static java.util.List<org.aspectj.weaver.AjAttribute> readAj5MethodAttributes(org.aspectj.apache.bcel.classfile.Method, org.aspectj.weaver.bcel.BcelMethod, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedPointcutDefinition, org.aspectj.weaver.ISourceContext, org.aspectj.bridge.IMessageHandler);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Method;Lorg/aspectj/weaver/bcel/BcelMethod;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=13, args_size=6
        start local 0 // org.aspectj.apache.bcel.classfile.Method method
        start local 1 // org.aspectj.weaver.bcel.BcelMethod bMethod
        start local 2 // org.aspectj.weaver.ResolvedType type
        start local 3 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        start local 4 // org.aspectj.weaver.ISourceContext context
        start local 5 // org.aspectj.bridge.IMessageHandler msgHandler
         0: .line 416
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            ldc "ajc$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 417
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 420
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct
            dup
            aload 0 /* method */
            aload 1 /* bMethod */
            aload 2 /* type */
            aload 4 /* context */
            aload 5 /* msgHandler */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.<init>:(Lorg/aspectj/apache/bcel/classfile/Method;Lorg/aspectj/weaver/bcel/BcelMethod;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)V
            astore 6 /* struct */
        start local 6 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
         3: .line 421
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getAttributes:()[Lorg/aspectj/apache/bcel/classfile/Attribute;
            astore 7 /* attributes */
        start local 7 // org.aspectj.apache.bcel.classfile.Attribute[] attributes
         4: .line 434
            iconst_0
            istore 8 /* hasAtAspectJAnnotation */
        start local 8 // boolean hasAtAspectJAnnotation
         5: .line 435
            iconst_0
            istore 9 /* hasAtAspectJAnnotationMustReturnVoid */
        start local 9 // boolean hasAtAspectJAnnotationMustReturnVoid
         6: .line 436
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         7: goto 49
         8: .line 437
      StackMap locals: org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.bcel.BcelMethod org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.Attribute[] int int int
      StackMap stack:
            aload 7 /* attributes */
            iload 10 /* i */
            aaload
            astore 11 /* attribute */
        start local 11 // org.aspectj.apache.bcel.classfile.Attribute attribute
         9: .line 439
            aload 11 /* attribute */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.acceptAttribute:(Lorg/aspectj/apache/bcel/classfile/Attribute;)Z
            ifeq 48
        10: .line 440
            aload 11 /* attribute */
            checkcast org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
            astore 12 /* rvs */
        start local 12 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
        11: .line 441
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifne 14
        12: .line 442
            aload 12 /* rvs */
            aload 6 /* struct */
            aload 3 /* preResolvedPointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleBeforeAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
            ifne 14
        13: .line 441
            iconst_0
            goto 15
      StackMap locals: org.aspectj.apache.bcel.classfile.Attribute org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* hasAtAspectJAnnotationMustReturnVoid */
        16: .line 443
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifne 19
        17: .line 444
            aload 12 /* rvs */
            aload 6 /* struct */
            aload 3 /* preResolvedPointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleAfterAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
            ifne 19
        18: .line 443
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: istore 9 /* hasAtAspectJAnnotationMustReturnVoid */
        21: .line 445
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifne 24
        22: .line 446
            aload 12 /* rvs */
            aload 6 /* struct */
            aload 3 /* preResolvedPointcut */
            aload 1 /* bMethod */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleAfterReturningAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/bcel/BcelMethod;)Z
            ifne 24
        23: .line 445
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 9 /* hasAtAspectJAnnotationMustReturnVoid */
        26: .line 447
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifne 29
        27: .line 448
            aload 12 /* rvs */
            aload 6 /* struct */
            aload 3 /* preResolvedPointcut */
            aload 1 /* bMethod */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleAfterThrowingAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/bcel/BcelMethod;)Z
            ifne 29
        28: .line 447
            iconst_0
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 9 /* hasAtAspectJAnnotationMustReturnVoid */
        31: .line 449
            iload 8 /* hasAtAspectJAnnotation */
            ifne 32
            aload 12 /* rvs */
            aload 6 /* struct */
            aload 3 /* preResolvedPointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.handleAroundAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
            ifne 32
            iconst_0
            goto 33
      StackMap locals:
      StackMap stack:
        32: iconst_1
      StackMap locals:
      StackMap stack: int
        33: istore 8 /* hasAtAspectJAnnotation */
        34: .line 451
            goto 50
        end local 12 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
        35: .line 453
      StackMap locals: org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.bcel.BcelMethod org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.ISourceContext org.aspectj.bridge.IMessageHandler org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.Attribute[] int int int org.aspectj.apache.bcel.classfile.Attribute
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException
            astore 12 /* e */
        start local 12 // org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException e
        36: .line 454
            aload 5 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            ldc "returningFormalNotDeclaredInAdvice"
        37: .line 455
            aload 12 /* e */
            invokevirtual org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException.getFormalName:()Ljava/lang/String;
        38: .line 454
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
        39: .line 455
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 1 /* bMethod */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        40: .line 454
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 12 // org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException e
        41: goto 48
        42: .line 456
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException
            astore 12 /* e */
        start local 12 // org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException e
        43: .line 457
            aload 5 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            ldc "thrownFormalNotDeclaredInAdvice"
        44: .line 458
            aload 12 /* e */
            invokevirtual org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException.getFormalName:()Ljava/lang/String;
        45: .line 457
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
        46: .line 458
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 1 /* bMethod */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        47: .line 457
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        end local 12 // org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException e
        end local 11 // org.aspectj.apache.bcel.classfile.Attribute attribute
        48: .line 436
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 10 /* i */
            aload 7 /* attributes */
            arraylength
            if_icmplt 8
        end local 10 // int i
        50: .line 461
      StackMap locals:
      StackMap stack:
            iload 8 /* hasAtAspectJAnnotation */
            ifne 51
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifne 51
            iconst_0
            goto 52
      StackMap locals:
      StackMap stack:
        51: iconst_1
      StackMap locals:
      StackMap stack: int
        52: istore 8 /* hasAtAspectJAnnotation */
        53: .line 465
            iload 8 /* hasAtAspectJAnnotation */
            ifeq 57
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifne 57
        54: .line 467
            aload 5 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found @AspectJ annotations in a non @Aspect type '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()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;
        55: .line 468
            getstatic org.aspectj.bridge.IMessage.WARNING:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        56: .line 467
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        57: .line 472
      StackMap locals:
      StackMap stack:
            iload 8 /* hasAtAspectJAnnotation */
            ifeq 61
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isPublic:()Z
            ifne 61
        58: .line 473
            aload 5 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found @AspectJ annotation on a non public advice '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        59: .line 474
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.methodToString:(Lorg/aspectj/apache/bcel/classfile/Method;)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;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        60: .line 473
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        61: .line 479
      StackMap locals:
      StackMap stack:
            iload 8 /* hasAtAspectJAnnotation */
            ifeq 65
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isStatic:()Z
            ifeq 65
        62: .line 480
            aload 5 /* msgHandler */
            new java.lang.StringBuilder
            dup
            ldc "Advice cannot be declared static '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.methodToString:(Lorg/aspectj/apache/bcel/classfile/Method;)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;
        63: .line 481
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        64: .line 480
            invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        65: .line 494
      StackMap locals:
      StackMap stack:
            iload 9 /* hasAtAspectJAnnotationMustReturnVoid */
            ifeq 69
            getstatic org.aspectj.apache.bcel.generic.Type.VOID:Lorg/aspectj/apache/bcel/generic/BasicType;
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.BasicType.equals:(Ljava/lang/Object;)Z
            ifne 69
        66: .line 495
            aload 5 /* msgHandler */
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "Found @AspectJ annotation on a non around advice not returning void '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        67: .line 496
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.methodToString:(Lorg/aspectj/apache/bcel/classfile/Method;)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;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            aconst_null
            aload 2 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/Throwable;Lorg/aspectj/bridge/ISourceLocation;)V
        68: .line 495
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        69: .line 500
      StackMap locals:
      StackMap stack:
            aload 6 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            areturn
        end local 9 // boolean hasAtAspectJAnnotationMustReturnVoid
        end local 8 // boolean hasAtAspectJAnnotation
        end local 7 // org.aspectj.apache.bcel.classfile.Attribute[] attributes
        end local 6 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 5 // org.aspectj.bridge.IMessageHandler msgHandler
        end local 4 // org.aspectj.weaver.ISourceContext context
        end local 3 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 2 // org.aspectj.weaver.ResolvedType type
        end local 1 // org.aspectj.weaver.bcel.BcelMethod bMethod
        end local 0 // org.aspectj.apache.bcel.classfile.Method method
      LocalVariableTable:
        Start  End  Slot                                  Name  Signature
            0   70     0                                method  Lorg/aspectj/apache/bcel/classfile/Method;
            0   70     1                               bMethod  Lorg/aspectj/weaver/bcel/BcelMethod;
            0   70     2                                  type  Lorg/aspectj/weaver/ResolvedType;
            0   70     3                   preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            0   70     4                               context  Lorg/aspectj/weaver/ISourceContext;
            0   70     5                            msgHandler  Lorg/aspectj/bridge/IMessageHandler;
            3   70     6                                struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            4   70     7                            attributes  [Lorg/aspectj/apache/bcel/classfile/Attribute;
            5   70     8                hasAtAspectJAnnotation  Z
            6   70     9  hasAtAspectJAnnotationMustReturnVoid  Z
            7   50    10                                     i  I
            9   48    11                             attribute  Lorg/aspectj/apache/bcel/classfile/Attribute;
           11   35    12                                   rvs  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
           36   41    12                                     e  Lorg/aspectj/weaver/bcel/AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException;
           43   48    12                                     e  Lorg/aspectj/weaver/bcel/AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException;
      Exception table:
        from    to  target  type
           9    34      35  Class org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException
           9    34      42  Class org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException
    Signature: (Lorg/aspectj/apache/bcel/classfile/Method;Lorg/aspectj/weaver/bcel/BcelMethod;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)Ljava/util/List<Lorg/aspectj/weaver/AjAttribute;>;
    MethodParameters:
                     Name  Flags
      method               
      bMethod              
      type                 
      preResolvedPointcut  
      context              
      msgHandler           

  public static java.util.List<org.aspectj.weaver.AjAttribute> readAj5FieldAttributes(org.aspectj.apache.bcel.classfile.Field, org.aspectj.weaver.bcel.BcelField, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ISourceContext, org.aspectj.bridge.IMessageHandler);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Field;Lorg/aspectj/weaver/bcel/BcelField;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.aspectj.apache.bcel.classfile.Field field
        start local 1 // org.aspectj.weaver.bcel.BcelField bField
        start local 2 // org.aspectj.weaver.ResolvedType type
        start local 3 // org.aspectj.weaver.ISourceContext context
        start local 4 // org.aspectj.bridge.IMessageHandler msgHandler
         0: .line 516
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 4 // org.aspectj.bridge.IMessageHandler msgHandler
        end local 3 // org.aspectj.weaver.ISourceContext context
        end local 2 // org.aspectj.weaver.ResolvedType type
        end local 1 // org.aspectj.weaver.bcel.BcelField bField
        end local 0 // org.aspectj.apache.bcel.classfile.Field field
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0       field  Lorg/aspectj/apache/bcel/classfile/Field;
            0    1     1      bField  Lorg/aspectj/weaver/bcel/BcelField;
            0    1     2        type  Lorg/aspectj/weaver/ResolvedType;
            0    1     3     context  Lorg/aspectj/weaver/ISourceContext;
            0    1     4  msgHandler  Lorg/aspectj/bridge/IMessageHandler;
    Signature: (Lorg/aspectj/apache/bcel/classfile/Field;Lorg/aspectj/weaver/bcel/BcelField;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/bridge/IMessageHandler;)Ljava/util/List<Lorg/aspectj/weaver/AjAttribute;>;
    MethodParameters:
            Name  Flags
      field       
      bField      
      type        
      context     
      msgHandler  

  private static boolean handleAspectAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
         0: .line 527
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.ASPECT_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 2 /* aspect */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen aspect
         1: .line 528
            aload 2 /* aspect */
            ifnull 29
         2: .line 530
            iconst_0
            istore 3 /* extendsAspect */
        start local 3 // boolean extendsAspect
         3: .line 531
            ldc "java.lang.Object"
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 532
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAbstract:()Z
            ifne 7
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifeq 7
         5: .line 533
            ldc "cannot extend a concrete aspect"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         6: .line 534
            iconst_0
            ireturn
         7: .line 536
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen int
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            istore 3 /* extendsAspect */
         8: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* aspect */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 4 /* aspectPerClause */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair aspectPerClause
         9: .line 541
            aload 4 /* aspectPerClause */
            ifnonnull 15
        10: .line 543
            iload 3 /* extendsAspect */
            ifne 13
        11: .line 544
            new org.aspectj.weaver.patterns.PerSingleton
            dup
            invokespecial org.aspectj.weaver.patterns.PerSingleton.<init>:()V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        12: .line 545
            goto 20
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        13: .line 546
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.NameValuePair
      StackMap stack:
            new org.aspectj.weaver.patterns.PerFromSuper
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            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.patterns.PerFromSuper.<init>:(Lorg/aspectj/weaver/patterns/PerClause$Kind;)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        14: .line 548
            goto 20
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        15: .line 549
      StackMap locals:
      StackMap stack:
            aload 4 /* aspectPerClause */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 6 /* perX */
        start local 6 // java.lang.String perX
        16: .line 550
            aload 6 /* perX */
            ifnull 17
            aload 6 /* perX */
            invokevirtual java.lang.String.length:()I
            ifgt 19
        17: .line 551
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen int org.aspectj.apache.bcel.classfile.annotation.NameValuePair top java.lang.String
      StackMap stack:
            new org.aspectj.weaver.patterns.PerSingleton
            dup
            invokespecial org.aspectj.weaver.patterns.PerSingleton.<init>:()V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        18: .line 552
            goto 20
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        19: .line 553
      StackMap locals:
      StackMap stack:
            aload 6 /* perX */
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePerClausePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/PerClause;
            astore 5 /* perClause */
        end local 6 // java.lang.String perX
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        20: .line 556
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen int org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.weaver.patterns.PerClause
      StackMap stack:
            aload 5 /* perClause */
            ifnonnull 22
        21: .line 558
            iconst_0
            ireturn
        22: .line 560
      StackMap locals:
      StackMap stack:
            aload 5 /* perClause */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.PerClause.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        23: .line 565
            new org.aspectj.weaver.AjAttribute$Aspect
            dup
            aload 5 /* perClause */
            invokespecial org.aspectj.weaver.AjAttribute$Aspect.<init>:(Lorg/aspectj/weaver/patterns/PerClause;)V
            astore 6 /* aspectAttribute */
        start local 6 // org.aspectj.weaver.AjAttribute$Aspect aspectAttribute
        24: .line 566
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            aload 6 /* aspectAttribute */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 567
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 7 /* bindings */
        start local 7 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        26: .line 569
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 7 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 8 /* binding */
        start local 8 // org.aspectj.weaver.patterns.IScope binding
        27: .line 579
            aload 6 /* aspectAttribute */
            aload 8 /* binding */
            invokevirtual org.aspectj.weaver.AjAttribute$Aspect.setResolutionScope:(Lorg/aspectj/weaver/patterns/IScope;)V
        28: .line 580
            iconst_1
            ireturn
        end local 8 // org.aspectj.weaver.patterns.IScope binding
        end local 7 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 6 // org.aspectj.weaver.AjAttribute$Aspect aspectAttribute
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair aspectPerClause
        end local 3 // boolean extendsAspect
        29: .line 583
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen aspect
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   30     0  runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   30     1              struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
            1   30     2              aspect  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   29     3       extendsAspect  Z
            9   29     4     aspectPerClause  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
           12   13     5           perClause  Lorg/aspectj/weaver/patterns/PerClause;
           14   15     5           perClause  Lorg/aspectj/weaver/patterns/PerClause;
           18   19     5           perClause  Lorg/aspectj/weaver/patterns/PerClause;
           20   29     5           perClause  Lorg/aspectj/weaver/patterns/PerClause;
           16   20     6                perX  Ljava/lang/String;
           24   29     6     aspectAttribute  Lorg/aspectj/weaver/AjAttribute$Aspect;
           26   29     7            bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           27   29     8             binding  Lorg/aspectj/weaver/patterns/IScope;
    MethodParameters:
                    Name  Flags
      runtimeAnnotations  
      struct              

  private static org.aspectj.weaver.patterns.PerClause parsePerClausePointcut(java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.String perClauseString
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
         0: .line 595
            aconst_null
            astore 3 /* pointcut */
        start local 3 // org.aspectj.weaver.patterns.Pointcut pointcut
         1: .line 596
            aconst_null
            astore 4 /* typePattern */
        start local 4 // org.aspectj.weaver.patterns.TypePattern typePattern
         2: .line 598
            aload 0 /* perClauseString */
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERCFLOW:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         3: .line 599
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERCFLOW:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            aload 0 /* perClauseString */
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.extractPointcut:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pointcutString */
        start local 2 // java.lang.String pointcutString
         4: .line 600
            aload 2 /* pointcutString */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* pointcut */
         5: .line 601
            new org.aspectj.weaver.patterns.PerCflow
            dup
            aload 3 /* pointcut */
            iconst_0
            invokespecial org.aspectj.weaver.patterns.PerCflow.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
         6: .line 602
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 2 // java.lang.String pointcutString
      StackMap locals: java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct top org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
         7: aload 0 /* perClauseString */
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERCFLOWBELOW:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
         8: .line 603
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERCFLOWBELOW:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            aload 0 /* perClauseString */
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.extractPointcut:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pointcutString */
        start local 2 // java.lang.String pointcutString
         9: .line 604
            aload 2 /* pointcutString */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* pointcut */
        10: .line 605
            new org.aspectj.weaver.patterns.PerCflow
            dup
            aload 3 /* pointcut */
            iconst_1
            invokespecial org.aspectj.weaver.patterns.PerCflow.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        11: .line 606
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 2 // java.lang.String pointcutString
      StackMap locals:
      StackMap stack:
        12: aload 0 /* perClauseString */
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTARGET:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
        13: .line 607
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTARGET:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            aload 0 /* perClauseString */
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.extractPointcut:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pointcutString */
        start local 2 // java.lang.String pointcutString
        14: .line 608
            aload 2 /* pointcutString */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* pointcut */
        15: .line 609
            new org.aspectj.weaver.patterns.PerObject
            dup
            aload 3 /* pointcut */
            iconst_0
            invokespecial org.aspectj.weaver.patterns.PerObject.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        16: .line 610
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 2 // java.lang.String pointcutString
      StackMap locals:
      StackMap stack:
        17: aload 0 /* perClauseString */
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTHIS:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        18: .line 611
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTHIS:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            aload 0 /* perClauseString */
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.extractPointcut:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pointcutString */
        start local 2 // java.lang.String pointcutString
        19: .line 612
            aload 2 /* pointcutString */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* pointcut */
        20: .line 613
            new org.aspectj.weaver.patterns.PerObject
            dup
            aload 3 /* pointcut */
            iconst_1
            invokespecial org.aspectj.weaver.patterns.PerObject.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        21: .line 614
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 2 // java.lang.String pointcutString
      StackMap locals:
      StackMap stack:
        22: aload 0 /* perClauseString */
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        23: .line 615
            getstatic org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix;
            aload 0 /* perClauseString */
            invokevirtual org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix.extractPointcut:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* pointcutString */
        start local 2 // java.lang.String pointcutString
        24: .line 616
            aload 2 /* pointcutString */
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* typePattern */
        25: .line 617
            new org.aspectj.weaver.patterns.PerTypeWithin
            dup
            aload 4 /* typePattern */
            invokespecial org.aspectj.weaver.patterns.PerTypeWithin.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        26: .line 618
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 2 // java.lang.String pointcutString
      StackMap locals:
      StackMap stack:
        27: aload 0 /* perClauseString */
            new java.lang.StringBuilder
            dup
            getstatic org.aspectj.weaver.patterns.PerClause.SINGLETON:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            invokevirtual org.aspectj.weaver.patterns.PerClause$Kind.getName:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 30
        28: .line 619
            new org.aspectj.weaver.patterns.PerSingleton
            dup
            invokespecial org.aspectj.weaver.patterns.PerSingleton.<init>:()V
            astore 5 /* perClause */
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        29: .line 620
            goto 32
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        30: .line 623
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "@Aspect per clause cannot be read '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* perClauseString */
            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;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        31: .line 624
            aconst_null
            areturn
        start local 5 // org.aspectj.weaver.patterns.PerClause perClause
        32: .line 627
      StackMap locals: org.aspectj.weaver.patterns.PerClause
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerClause.SINGLETON:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            aload 5 /* perClause */
            invokevirtual org.aspectj.weaver.patterns.PerClause.getKind:()Lorg/aspectj/weaver/patterns/PerClause$Kind;
            invokevirtual org.aspectj.weaver.patterns.PerClause$Kind.equals:(Ljava/lang/Object;)Z
            ifne 35
            getstatic org.aspectj.weaver.patterns.PerClause.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            aload 5 /* perClause */
            invokevirtual org.aspectj.weaver.patterns.PerClause.getKind:()Lorg/aspectj/weaver/patterns/PerClause$Kind;
            invokevirtual org.aspectj.weaver.patterns.PerClause$Kind.equals:(Ljava/lang/Object;)Z
            ifne 35
        33: .line 628
            aload 3 /* pointcut */
            ifnonnull 35
        34: .line 630
            aconst_null
            areturn
        35: .line 632
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerClause.PERTYPEWITHIN:Lorg/aspectj/weaver/patterns/PerClause$Kind;
            aload 5 /* perClause */
            invokevirtual org.aspectj.weaver.patterns.PerClause.getKind:()Lorg/aspectj/weaver/patterns/PerClause$Kind;
            invokevirtual org.aspectj.weaver.patterns.PerClause$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 37
            aload 4 /* typePattern */
            ifnonnull 37
        36: .line 634
            aconst_null
            areturn
        37: .line 636
      StackMap locals:
      StackMap stack:
            aload 5 /* perClause */
            areturn
        end local 5 // org.aspectj.weaver.patterns.PerClause perClause
        end local 4 // org.aspectj.weaver.patterns.TypePattern typePattern
        end local 3 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        end local 0 // java.lang.String perClauseString
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   38     0  perClauseString  Ljava/lang/String;
            0   38     1           struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
            4    7     2   pointcutString  Ljava/lang/String;
            9   12     2   pointcutString  Ljava/lang/String;
           14   17     2   pointcutString  Ljava/lang/String;
           19   22     2   pointcutString  Ljava/lang/String;
           24   27     2   pointcutString  Ljava/lang/String;
            1   38     3         pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            2   38     4      typePattern  Lorg/aspectj/weaver/patterns/TypePattern;
            6    7     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           11   12     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           16   17     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           21   22     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           26   27     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           29   30     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
           32   38     5        perClause  Lorg/aspectj/weaver/patterns/PerClause;
    MethodParameters:
                 Name  Flags
      perClauseString  
      struct           

  private static boolean handlePrecedenceAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
         0: .line 647
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.DECLAREPRECEDENCE_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 2 /* aspect */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen aspect
         1: .line 648
            aload 2 /* aspect */
            ifnull 9
         2: .line 649
            aload 2 /* aspect */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 3 /* precedence */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair precedence
         3: .line 650
            aload 3 /* precedence */
            ifnull 9
         4: .line 651
            aload 3 /* precedence */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 4 /* precedencePattern */
        start local 4 // java.lang.String precedencePattern
         5: .line 652
            new org.aspectj.weaver.patterns.PatternParser
            dup
            aload 4 /* precedencePattern */
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Ljava/lang/String;)V
            astore 5 /* parser */
        start local 5 // org.aspectj.weaver.patterns.PatternParser parser
         6: .line 653
            aload 5 /* parser */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDominates:()Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            astore 6 /* ajPrecedence */
        start local 6 // org.aspectj.weaver.patterns.DeclarePrecedence ajPrecedence
         7: .line 654
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$DeclareAttribute
            dup
            aload 6 /* ajPrecedence */
            invokespecial org.aspectj.weaver.AjAttribute$DeclareAttribute.<init>:(Lorg/aspectj/weaver/patterns/Declare;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 655
            iconst_1
            ireturn
        end local 6 // org.aspectj.weaver.patterns.DeclarePrecedence ajPrecedence
        end local 5 // org.aspectj.weaver.patterns.PatternParser parser
        end local 4 // java.lang.String precedencePattern
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair precedence
         9: .line 658
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen aspect
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0  runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   10     1              struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
            1   10     2              aspect  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3    9     3          precedence  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5    9     4   precedencePattern  Ljava/lang/String;
            6    9     5              parser  Lorg/aspectj/weaver/patterns/PatternParser;
            7    9     6        ajPrecedence  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
    MethodParameters:
                    Name  Flags
      runtimeAnnotations  
      struct              

  private static boolean handleDeclareParentsAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=23, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
         0: .line 713
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.DECLAREPARENTS_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 2 /* decpAnno */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen decpAnno
         1: .line 714
            aload 2 /* decpAnno */
            ifnull 101
         2: .line 715
            aload 2 /* decpAnno */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 3 /* decpPatternNameValuePair */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair decpPatternNameValuePair
         3: .line 716
            aload 3 /* decpPatternNameValuePair */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 4 /* decpPattern */
        start local 4 // java.lang.String decpPattern
         4: .line 717
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "decpPatterNVP = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* decpPattern */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 718
            aload 4 /* decpPattern */
            ifnull 101
         6: .line 719
            aload 4 /* decpPattern */
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* typePattern */
        start local 5 // org.aspectj.weaver.patterns.TypePattern typePattern
         7: .line 720
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
         8: .line 721
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
         9: .line 720
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 6 /* fieldType */
        start local 6 // org.aspectj.weaver.ResolvedType fieldType
        10: .line 722
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedOrRawType:()Z
            ifeq 12
        11: .line 723
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 6 /* fieldType */
        12: .line 725
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.ResolvedType.isInterface:()Z
            ifeq 99
        13: .line 726
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 7 /* parent */
        start local 7 // org.aspectj.weaver.patterns.TypePattern parent
        14: .line 727
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 8 /* bindings */
        start local 8 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        15: .line 728
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 8 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 9 /* binding */
        start local 9 // org.aspectj.weaver.patterns.IScope binding
        16: .line 730
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* parents */
        start local 10 // java.util.List parents
        17: .line 731
            aload 10 /* parents */
            aload 7 /* parent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 732
            new org.aspectj.weaver.patterns.DeclareParents
            dup
            aload 5 /* typePattern */
            aload 10 /* parents */
            iconst_0
            invokespecial org.aspectj.weaver.patterns.DeclareParents.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/util/List;Z)V
            astore 11 /* dp */
        start local 11 // org.aspectj.weaver.patterns.DeclareParents dp
        19: .line 733
            aload 11 /* dp */
            aload 9 /* binding */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.resolve:(Lorg/aspectj/weaver/patterns/IScope;)V
        20: .line 739
            aload 11 /* dp */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.getChild:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* typePattern */
        21: .line 745
            aload 11 /* dp */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        22: .line 746
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$DeclareAttribute
            dup
            aload 11 /* dp */
            invokespecial org.aspectj.weaver.AjAttribute$DeclareAttribute.<init>:(Lorg/aspectj/weaver/patterns/Declare;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 749
            aconst_null
            astore 12 /* defaultImplClassName */
        start local 12 // java.lang.String defaultImplClassName
        24: .line 750
            aload 2 /* decpAnno */
            ldc "defaultImpl"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 13 /* defaultImplNVP */
        start local 13 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair defaultImplNVP
        25: .line 751
            aload 13 /* defaultImplNVP */
            ifnull 82
        26: .line 752
            aload 13 /* defaultImplNVP */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            checkcast org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
            astore 14 /* defaultImpl */
        start local 14 // org.aspectj.apache.bcel.classfile.annotation.ClassElementValue defaultImpl
        27: .line 753
            aload 14 /* defaultImpl */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ClassElementValue.getClassString:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getName:()Ljava/lang/String;
            astore 12 /* defaultImplClassName */
        28: .line 754
            aload 12 /* defaultImplClassName */
            ldc "org.aspectj.lang.annotation.DeclareParents"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 755
            aconst_null
            astore 12 /* defaultImplClassName */
        30: .line 756
            goto 82
        31: .line 758
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.FormalBinding[] org.aspectj.weaver.patterns.IScope java.util.List org.aspectj.weaver.patterns.DeclareParents java.lang.String org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            aload 12 /* defaultImplClassName */
            iconst_0
            invokevirtual org.aspectj.weaver.World.resolve:(Ljava/lang/String;Z)Lorg/aspectj/weaver/ResolvedType;
            astore 15 /* impl */
        start local 15 // org.aspectj.weaver.ResolvedType impl
        32: .line 759
            aload 15 /* impl */
            invokevirtual org.aspectj.weaver.ResolvedType.getDeclaredMethods:()[Lorg/aspectj/weaver/ResolvedMember;
            astore 16 /* mm */
        start local 16 // org.aspectj.weaver.ResolvedMember[] mm
        33: .line 760
            aload 15 /* impl */
            invokevirtual org.aspectj.weaver.ResolvedType.getModifiers:()I
            istore 17 /* implModifiers */
        start local 17 // int implModifiers
        34: .line 761
            iload 17 /* implModifiers */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifne 36
        35: .line 762
            iload 17 /* implModifiers */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifne 36
            iload 17 /* implModifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 37
        36: .line 761
      StackMap locals: org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedMember[] int
      StackMap stack:
            iconst_0
            goto 38
      StackMap locals:
      StackMap stack:
        37: iconst_1
      StackMap locals:
      StackMap stack: int
        38: istore 18 /* defaultVisibilityImpl */
        start local 18 // boolean defaultVisibilityImpl
        39: .line 763
            iconst_1
            istore 19 /* hasNoCtorOrANoArgOne */
        start local 19 // boolean hasNoCtorOrANoArgOne
        40: .line 764
            aconst_null
            astore 20 /* foundOneOfIncorrectVisibility */
        start local 20 // org.aspectj.weaver.ResolvedMember foundOneOfIncorrectVisibility
        41: .line 765
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        42: goto 61
        43: .line 766
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.FormalBinding[] org.aspectj.weaver.patterns.IScope java.util.List org.aspectj.weaver.patterns.DeclareParents java.lang.String org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.ClassElementValue org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedMember[] int int int org.aspectj.weaver.ResolvedMember int
      StackMap stack:
            aload 16 /* mm */
            iload 21 /* i */
            aaload
            astore 22 /* resolvedMember */
        start local 22 // org.aspectj.weaver.ResolvedMember resolvedMember
        44: .line 767
            aload 22 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 58
        45: .line 768
            iconst_0
            istore 19 /* hasNoCtorOrANoArgOne */
        46: .line 770
            aload 22 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            ifne 58
        47: .line 771
            iload 18 /* defaultVisibilityImpl */
            ifeq 53
        48: .line 772
            aload 22 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.isPublic:()Z
            ifne 49
            aload 22 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.isDefault:()Z
            ifeq 51
        49: .line 773
      StackMap locals: org.aspectj.weaver.ResolvedMember
      StackMap stack:
            iconst_1
            istore 19 /* hasNoCtorOrANoArgOne */
        50: .line 774
            goto 58
        51: .line 775
      StackMap locals:
      StackMap stack:
            aload 22 /* resolvedMember */
            astore 20 /* foundOneOfIncorrectVisibility */
        52: .line 777
            goto 58
      StackMap locals:
      StackMap stack:
        53: iload 17 /* implModifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 58
        54: .line 779
            aload 22 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.isPublic:()Z
            ifeq 57
        55: .line 780
            iconst_1
            istore 19 /* hasNoCtorOrANoArgOne */
        56: .line 781
            goto 58
        57: .line 782
      StackMap locals:
      StackMap stack:
            aload 22 /* resolvedMember */
            astore 20 /* foundOneOfIncorrectVisibility */
        58: .line 787
      StackMap locals:
      StackMap stack:
            iload 19 /* hasNoCtorOrANoArgOne */
            ifeq 60
        59: .line 788
            goto 62
        end local 22 // org.aspectj.weaver.ResolvedMember resolvedMember
        60: .line 765
      StackMap locals:
      StackMap stack:
            iinc 21 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 21 /* i */
            aload 16 /* mm */
            arraylength
            if_icmplt 43
        end local 21 // int i
        62: .line 791
      StackMap locals:
      StackMap stack:
            iload 19 /* hasNoCtorOrANoArgOne */
            ifne 76
        63: .line 792
            aload 20 /* foundOneOfIncorrectVisibility */
            ifnull 71
        64: .line 794
            new java.lang.StringBuilder
            dup
            ldc "@DeclareParents: defaultImpl=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        65: .line 795
            aload 12 /* defaultImplClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 796
            ldc "\" has a no argument constructor, but it is of incorrect visibility.  It must be at least as visible as the type."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        67: .line 794
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        68: .line 797
            aload 1 /* struct */
        69: .line 793
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        70: .line 798
            goto 76
        71: .line 799
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "@DeclareParents: defaultImpl=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* defaultImplClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        72: .line 800
            ldc "\" has no public no-arg constructor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 799
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        74: .line 800
            aload 1 /* struct */
        75: .line 799
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        76: .line 803
      StackMap locals:
      StackMap stack:
            aload 6 /* fieldType */
            aload 15 /* impl */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 82
        77: .line 804
            new java.lang.StringBuilder
            dup
            ldc "@DeclareParents: defaultImpl=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* defaultImplClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        78: .line 805
            ldc "\" does not implement the interface '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.ResolvedType.toString:()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;
        79: .line 804
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        80: .line 805
            aload 1 /* struct */
        81: .line 804
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        end local 20 // org.aspectj.weaver.ResolvedMember foundOneOfIncorrectVisibility
        end local 19 // boolean hasNoCtorOrANoArgOne
        end local 18 // boolean defaultVisibilityImpl
        end local 17 // int implModifiers
        end local 16 // org.aspectj.weaver.ResolvedMember[] mm
        end local 15 // org.aspectj.weaver.ResolvedType impl
        end local 14 // org.aspectj.apache.bcel.classfile.annotation.ClassElementValue defaultImpl
        82: .line 810
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.FormalBinding[] org.aspectj.weaver.patterns.IScope java.util.List org.aspectj.weaver.patterns.DeclareParents java.lang.String org.aspectj.apache.bcel.classfile.annotation.NameValuePair
      StackMap stack:
            iconst_0
            istore 14 /* hasAtLeastOneMethod */
        start local 14 // boolean hasAtLeastOneMethod
        83: .line 812
            aload 6 /* fieldType */
            iconst_0
            iconst_1
            invokevirtual org.aspectj.weaver.ResolvedType.getMethodsIncludingIntertypeDeclarations:(ZZ)Ljava/util/Iterator;
            astore 15 /* methodIterator */
        start local 15 // java.util.Iterator methodIterator
        84: .line 813
            goto 92
        85: .line 814
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 15 /* methodIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedMember
            astore 16 /* method */
        start local 16 // org.aspectj.weaver.ResolvedMember method
        86: .line 815
            aload 16 /* method */
            invokeinterface org.aspectj.weaver.ResolvedMember.isAbstract:()Z
            ifeq 92
        87: .line 825
            iconst_1
            istore 14 /* hasAtLeastOneMethod */
        88: .line 840
            new org.aspectj.weaver.MethodDelegateTypeMunger
            dup
            aload 16 /* method */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 12 /* defaultImplClassName */
            aload 5 /* typePattern */
            invokespecial org.aspectj.weaver.MethodDelegateTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 17 /* mdtm */
        start local 17 // org.aspectj.weaver.MethodDelegateTypeMunger mdtm
        89: .line 841
            aload 17 /* mdtm */
            aload 6 /* fieldType */
            invokevirtual org.aspectj.weaver.MethodDelegateTypeMunger.setFieldType:(Lorg/aspectj/weaver/UnresolvedType;)V
        90: .line 842
            aload 17 /* mdtm */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.MethodDelegateTypeMunger.setSourceLocation:(Lorg/aspectj/bridge/ISourceLocation;)V
        91: .line 843
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$TypeMunger
            dup
            aload 17 /* mdtm */
            invokespecial org.aspectj.weaver.AjAttribute$TypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // org.aspectj.weaver.MethodDelegateTypeMunger mdtm
        end local 16 // org.aspectj.weaver.ResolvedMember method
        92: .line 813
      StackMap locals:
      StackMap stack:
            aload 15 /* methodIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 85
        93: .line 848
            iload 14 /* hasAtLeastOneMethod */
            ifeq 98
            aload 12 /* defaultImplClassName */
            ifnull 98
        94: .line 849
            aconst_null
            aload 6 /* fieldType */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.AjcMemberMaker.itdAtDeclareParentsField:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedMember;
            astore 16 /* fieldHost */
        start local 16 // org.aspectj.weaver.ResolvedMember fieldHost
        95: .line 850
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$TypeMunger
            dup
            new org.aspectj.weaver.MethodDelegateTypeMunger$FieldHostTypeMunger
            dup
        96: .line 851
            aload 16 /* fieldHost */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 5 /* typePattern */
            invokespecial org.aspectj.weaver.MethodDelegateTypeMunger$FieldHostTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/patterns/TypePattern;)V
            invokespecial org.aspectj.weaver.AjAttribute$TypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;)V
        97: .line 850
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.aspectj.weaver.ResolvedMember fieldHost
        98: .line 853
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 15 // java.util.Iterator methodIterator
        end local 14 // boolean hasAtLeastOneMethod
        end local 13 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair defaultImplNVP
        end local 12 // java.lang.String defaultImplClassName
        end local 11 // org.aspectj.weaver.patterns.DeclareParents dp
        end local 10 // java.util.List parents
        end local 9 // org.aspectj.weaver.patterns.IScope binding
        end local 8 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 7 // org.aspectj.weaver.patterns.TypePattern parent
        99: .line 855
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType
      StackMap stack:
            ldc "@DeclareParents: can only be used on a field whose type is an interface"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
       100: .line 856
            iconst_0
            ireturn
        end local 6 // org.aspectj.weaver.ResolvedType fieldType
        end local 5 // org.aspectj.weaver.patterns.TypePattern typePattern
        end local 4 // java.lang.String decpPattern
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair decpPatternNameValuePair
       101: .line 860
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen decpAnno
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  102     0             runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0  102     1                         struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;
            1  102     2                       decpAnno  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3  101     3       decpPatternNameValuePair  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            4  101     4                    decpPattern  Ljava/lang/String;
            7  101     5                    typePattern  Lorg/aspectj/weaver/patterns/TypePattern;
           10  101     6                      fieldType  Lorg/aspectj/weaver/ResolvedType;
           14   99     7                         parent  Lorg/aspectj/weaver/patterns/TypePattern;
           15   99     8                       bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           16   99     9                        binding  Lorg/aspectj/weaver/patterns/IScope;
           17   99    10                        parents  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
           19   99    11                             dp  Lorg/aspectj/weaver/patterns/DeclareParents;
           24   99    12           defaultImplClassName  Ljava/lang/String;
           25   99    13                 defaultImplNVP  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
           27   82    14                    defaultImpl  Lorg/aspectj/apache/bcel/classfile/annotation/ClassElementValue;
           32   82    15                           impl  Lorg/aspectj/weaver/ResolvedType;
           33   82    16                             mm  [Lorg/aspectj/weaver/ResolvedMember;
           34   82    17                  implModifiers  I
           39   82    18          defaultVisibilityImpl  Z
           40   82    19           hasNoCtorOrANoArgOne  Z
           41   82    20  foundOneOfIncorrectVisibility  Lorg/aspectj/weaver/ResolvedMember;
           42   62    21                              i  I
           44   60    22                 resolvedMember  Lorg/aspectj/weaver/ResolvedMember;
           83   99    14            hasAtLeastOneMethod  Z
           84   99    15                 methodIterator  Ljava/util/Iterator<Lorg/aspectj/weaver/ResolvedMember;>;
           86   92    16                         method  Lorg/aspectj/weaver/ResolvedMember;
           89   92    17                           mdtm  Lorg/aspectj/weaver/MethodDelegateTypeMunger;
           95   98    16                      fieldHost  Lorg/aspectj/weaver/ResolvedMember;
    MethodParameters:
                    Name  Flags
      runtimeAnnotations  
      struct              

  public static java.lang.String getMethodForMessage(org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodstructure
         0: .line 867
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 868
            aload 1 /* sb */
            ldc "Method '"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 869
            aload 1 /* sb */
            aload 0 /* methodstructure */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.Type.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 870
            aload 1 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* methodstructure */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            ldc "."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* methodstructure */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 871
            aload 1 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 872
            aload 0 /* methodstructure */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            astore 2 /* args */
        start local 2 // org.aspectj.apache.bcel.generic.Type[] args
         6: .line 873
            aload 2 /* args */
            ifnull 14
         7: .line 874
            iconst_0
            istore 3 /* t */
        start local 3 // int t
         8: goto 13
         9: .line 875
      StackMap locals: java.lang.StringBuffer org.aspectj.apache.bcel.generic.Type[] int
      StackMap stack:
            iload 3 /* t */
            ifle 11
        10: .line 876
            aload 1 /* sb */
            ldc ","
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 878
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* args */
            iload 3 /* t */
            aaload
            invokevirtual org.aspectj.apache.bcel.generic.Type.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 874
            iinc 3 /* t */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* t */
            aload 2 /* args */
            arraylength
            if_icmplt 9
        end local 3 // int t
        14: .line 881
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc ")'"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 882
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.aspectj.apache.bcel.generic.Type[] args
        end local 1 // java.lang.StringBuffer sb
        end local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodstructure
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0  methodstructure  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            1   16     1               sb  Ljava/lang/StringBuffer;
            6   16     2             args  [Lorg/aspectj/apache/bcel/generic/Type;
            8   14     3                t  I
    MethodParameters:
                 Name  Flags
      methodstructure  

  private static boolean handleDeclareMixinAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=22, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
         0: .line 898
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.DECLAREMIXIN_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 2 /* declareMixinAnnotation */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen declareMixinAnnotation
         1: .line 899
            aload 2 /* declareMixinAnnotation */
            ifnonnull 3
         2: .line 901
            iconst_0
            ireturn
         3: .line 903
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            astore 3 /* annotatedMethod */
        start local 3 // org.aspectj.apache.bcel.classfile.Method annotatedMethod
         4: .line 904
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            astore 4 /* world */
        start local 4 // org.aspectj.weaver.World world
         5: .line 905
            aload 2 /* declareMixinAnnotation */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 5 /* declareMixinPatternNameValuePair */
        start local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareMixinPatternNameValuePair
         6: .line 908
            aload 5 /* declareMixinPatternNameValuePair */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 6 /* declareMixinPattern */
        start local 6 // java.lang.String declareMixinPattern
         7: .line 909
            aload 6 /* declareMixinPattern */
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 7 /* targetTypePattern */
        start local 7 // org.aspectj.weaver.patterns.TypePattern targetTypePattern
         8: .line 912
            aload 3 /* annotatedMethod */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            aload 4 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 8 /* methodReturnType */
        start local 8 // org.aspectj.weaver.ResolvedType methodReturnType
         9: .line 913
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedOrRawType:()Z
            ifeq 11
        10: .line 914
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 8 /* methodReturnType */
        11: .line 916
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.World org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.isPrimitiveType:()Z
            ifeq 16
        12: .line 917
            new java.lang.StringBuilder
            dup
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getMethodForMessage:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":  factory methods for a mixin cannot return void or a primitive type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 918
            aload 1 /* struct */
        14: .line 917
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        15: .line 919
            iconst_0
            ireturn
        16: .line 922
      StackMap locals:
      StackMap stack:
            aload 3 /* annotatedMethod */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            iconst_1
            if_icmple 19
        17: .line 923
            new java.lang.StringBuilder
            dup
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getMethodForMessage:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": factory methods for a mixin can take a maximum of one parameter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        18: .line 924
            iconst_0
            ireturn
        19: .line 931
      StackMap locals:
      StackMap stack:
            aload 2 /* declareMixinAnnotation */
            ldc "interfaces"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 9 /* interfaceListSpecified */
        start local 9 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair interfaceListSpecified
        20: .line 933
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* newParents */
        start local 10 // java.util.List newParents
        21: .line 934
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 11 /* newInterfaceTypes */
        start local 11 // java.util.List newInterfaceTypes
        22: .line 935
            aload 9 /* interfaceListSpecified */
            ifnull 52
        23: .line 936
            aload 9 /* interfaceListSpecified */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            checkcast org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue
            astore 12 /* arrayOfInterfaceTypes */
        start local 12 // org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue arrayOfInterfaceTypes
        24: .line 937
            aload 12 /* arrayOfInterfaceTypes */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue.getElementValuesArraySize:()I
            istore 13 /* numberOfTypes */
        start local 13 // int numberOfTypes
        25: .line 938
            aload 12 /* arrayOfInterfaceTypes */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue.getElementValuesArray:()[Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            astore 14 /* theTypes */
        start local 14 // org.aspectj.apache.bcel.classfile.annotation.ElementValue[] theTypes
        26: .line 939
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        27: goto 50
        28: .line 940
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.World org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.util.List java.util.List org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue int org.aspectj.apache.bcel.classfile.annotation.ElementValue[] int
      StackMap stack:
            aload 14 /* theTypes */
            iload 15 /* i */
            aaload
            checkcast org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
            astore 16 /* interfaceType */
        start local 16 // org.aspectj.apache.bcel.classfile.annotation.ClassElementValue interfaceType
        29: .line 943
            aload 16 /* interfaceType */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ClassElementValue.getClassString:()Ljava/lang/String;
            ldc "/"
            ldc "."
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
        30: .line 944
            aload 4 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
        31: .line 943
            astore 17 /* ajInterfaceType */
        start local 17 // org.aspectj.weaver.ResolvedType ajInterfaceType
        32: .line 945
            aload 17 /* ajInterfaceType */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifne 33
            aload 17 /* ajInterfaceType */
            invokevirtual org.aspectj.weaver.ResolvedType.isInterface:()Z
            ifne 39
        33: .line 947
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.ClassElementValue org.aspectj.weaver.ResolvedType
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Types listed in the 'interfaces' DeclareMixin annotation value must be valid interfaces. This is invalid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        34: .line 948
            aload 17 /* ajInterfaceType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 947
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 948
            aload 1 /* struct */
        37: .line 946
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        38: .line 949
            iconst_0
            ireturn
        39: .line 951
      StackMap locals:
      StackMap stack:
            aload 17 /* ajInterfaceType */
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 46
        40: .line 952
            new java.lang.StringBuilder
            dup
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getMethodForMessage:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": factory method does not return something that implements '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 953
            aload 17 /* ajInterfaceType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()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;
        42: .line 952
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 953
            aload 1 /* struct */
        44: .line 952
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        45: .line 954
            iconst_0
            ireturn
        46: .line 956
      StackMap locals:
      StackMap stack:
            aload 11 /* newInterfaceTypes */
            aload 17 /* ajInterfaceType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        47: .line 958
            aload 17 /* ajInterfaceType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 18 /* newParent */
        start local 18 // org.aspectj.weaver.patterns.TypePattern newParent
        48: .line 959
            aload 10 /* newParents */
            aload 18 /* newParent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // org.aspectj.weaver.patterns.TypePattern newParent
        end local 17 // org.aspectj.weaver.ResolvedType ajInterfaceType
        end local 16 // org.aspectj.apache.bcel.classfile.annotation.ClassElementValue interfaceType
        49: .line 939
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 15 /* i */
            iload 13 /* numberOfTypes */
            if_icmplt 28
        end local 15 // int i
        end local 14 // org.aspectj.apache.bcel.classfile.annotation.ElementValue[] theTypes
        end local 13 // int numberOfTypes
        end local 12 // org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue arrayOfInterfaceTypes
        51: .line 961
            goto 62
        52: .line 962
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.World org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.util.List java.util.List
      StackMap stack:
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.isClass:()Z
            ifeq 59
        53: .line 964
            new java.lang.StringBuilder
            dup
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getMethodForMessage:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        54: .line 965
            ldc ": factory methods for a mixin must either return an interface type or specify interfaces in the annotation and return a class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        55: .line 964
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 966
            aload 1 /* struct */
        57: .line 963
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        58: .line 967
            iconst_0
            ireturn
        59: .line 970
      StackMap locals:
      StackMap stack:
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parseTypePattern:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 12 /* newParent */
        start local 12 // org.aspectj.weaver.patterns.TypePattern newParent
        60: .line 971
            aload 11 /* newInterfaceTypes */
            aload 8 /* methodReturnType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        61: .line 972
            aload 10 /* newParents */
            aload 12 /* newParent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.aspectj.weaver.patterns.TypePattern newParent
        62: .line 974
      StackMap locals:
      StackMap stack:
            aload 10 /* newParents */
            invokeinterface java.util.List.size:()I
            ifne 64
        63: .line 977
            iconst_0
            ireturn
        64: .line 981
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 12 /* bindings */
        start local 12 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        65: .line 982
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 12 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 13 /* binding */
        start local 13 // org.aspectj.weaver.patterns.IScope binding
        66: .line 984
            new org.aspectj.weaver.patterns.DeclareParentsMixin
            dup
            aload 7 /* targetTypePattern */
            aload 10 /* newParents */
            invokespecial org.aspectj.weaver.patterns.DeclareParentsMixin.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/util/List;)V
            astore 14 /* dp */
        start local 14 // org.aspectj.weaver.patterns.DeclareParents dp
        67: .line 985
            aload 14 /* dp */
            aload 13 /* binding */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.resolve:(Lorg/aspectj/weaver/patterns/IScope;)V
        68: .line 986
            aload 14 /* dp */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.getChild:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 7 /* targetTypePattern */
        69: .line 988
            aload 14 /* dp */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        70: .line 989
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$DeclareAttribute
            dup
            aload 14 /* dp */
            invokespecial org.aspectj.weaver.AjAttribute$DeclareAttribute.<init>:(Lorg/aspectj/weaver/patterns/Declare;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        71: .line 995
            iconst_0
            istore 15 /* hasAtLeastOneMethod */
        start local 15 // boolean hasAtLeastOneMethod
        72: .line 997
            aload 11 /* newInterfaceTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16 /* iterator */
        start local 16 // java.util.Iterator iterator
        73: goto 93
        74: .line 998
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.Method org.aspectj.weaver.World org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.util.List java.util.List org.aspectj.weaver.patterns.FormalBinding[] org.aspectj.weaver.patterns.IScope org.aspectj.weaver.patterns.DeclareParents int java.util.Iterator
      StackMap stack:
            aload 16 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedType
            astore 17 /* typeForDelegation */
        start local 17 // org.aspectj.weaver.ResolvedType typeForDelegation
        75: .line 1001
            aload 17 /* typeForDelegation */
            iconst_1
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.ResolvedType.getMethodsWithoutIterator:(ZZZ)Ljava/util/List;
        76: .line 1002
            iconst_0
            anewarray org.aspectj.weaver.ResolvedMember
        77: .line 1001
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedMember[]
            astore 18 /* methods */
        start local 18 // org.aspectj.weaver.ResolvedMember[] methods
        78: .line 1003
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        79: goto 92
        80: .line 1004
      StackMap locals: org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedMember[] int
      StackMap stack:
            aload 18 /* methods */
            iload 19 /* i */
            aaload
            astore 20 /* method */
        start local 20 // org.aspectj.weaver.ResolvedMember method
        81: .line 1005
            aload 20 /* method */
            invokeinterface org.aspectj.weaver.ResolvedMember.isAbstract:()Z
            ifeq 91
        82: .line 1006
            iconst_1
            istore 15 /* hasAtLeastOneMethod */
        83: .line 1007
            aload 20 /* method */
            invokeinterface org.aspectj.weaver.ResolvedMember.hasBackingGenericMember:()Z
            ifeq 85
        84: .line 1008
            aload 20 /* method */
            invokeinterface org.aspectj.weaver.ResolvedMember.getBackingGenericMember:()Lorg/aspectj/weaver/ResolvedMember;
            astore 20 /* method */
        85: .line 1010
      StackMap locals: org.aspectj.weaver.ResolvedMember
      StackMap stack:
            new org.aspectj.weaver.MethodDelegateTypeMunger
            dup
            aload 20 /* method */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            ldc ""
        86: .line 1011
            aload 7 /* targetTypePattern */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getSignature:()Ljava/lang/String;
        87: .line 1010
            invokespecial org.aspectj.weaver.MethodDelegateTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;Lorg/aspectj/weaver/patterns/TypePattern;Ljava/lang/String;Ljava/lang/String;)V
            astore 21 /* mdtm */
        start local 21 // org.aspectj.weaver.MethodDelegateTypeMunger mdtm
        88: .line 1012
            aload 21 /* mdtm */
            aload 8 /* methodReturnType */
            invokevirtual org.aspectj.weaver.MethodDelegateTypeMunger.setFieldType:(Lorg/aspectj/weaver/UnresolvedType;)V
        89: .line 1013
            aload 21 /* mdtm */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.MethodDelegateTypeMunger.setSourceLocation:(Lorg/aspectj/bridge/ISourceLocation;)V
        90: .line 1014
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$TypeMunger
            dup
            aload 21 /* mdtm */
            invokespecial org.aspectj.weaver.AjAttribute$TypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // org.aspectj.weaver.MethodDelegateTypeMunger mdtm
        end local 20 // org.aspectj.weaver.ResolvedMember method
        91: .line 1003
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        92: iload 19 /* i */
            aload 18 /* methods */
            arraylength
            if_icmplt 80
        end local 19 // int i
        end local 18 // org.aspectj.weaver.ResolvedMember[] methods
        end local 17 // org.aspectj.weaver.ResolvedType typeForDelegation
        93: .line 997
      StackMap locals:
      StackMap stack:
            aload 16 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 74
        end local 16 // java.util.Iterator iterator
        94: .line 1019
            iload 15 /* hasAtLeastOneMethod */
            ifeq 99
        95: .line 1020
            aconst_null
            aload 8 /* methodReturnType */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.AjcMemberMaker.itdAtDeclareParentsField:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedMember;
            astore 16 /* fieldHost */
        start local 16 // org.aspectj.weaver.ResolvedMember fieldHost
        96: .line 1021
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$TypeMunger
            dup
            new org.aspectj.weaver.MethodDelegateTypeMunger$FieldHostTypeMunger
            dup
            aload 16 /* fieldHost */
        97: .line 1022
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 7 /* targetTypePattern */
            invokespecial org.aspectj.weaver.MethodDelegateTypeMunger$FieldHostTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/patterns/TypePattern;)V
            invokespecial org.aspectj.weaver.AjAttribute$TypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;)V
        98: .line 1021
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.aspectj.weaver.ResolvedMember fieldHost
        99: .line 1024
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 15 // boolean hasAtLeastOneMethod
        end local 14 // org.aspectj.weaver.patterns.DeclareParents dp
        end local 13 // org.aspectj.weaver.patterns.IScope binding
        end local 12 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 11 // java.util.List newInterfaceTypes
        end local 10 // java.util.List newParents
        end local 9 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair interfaceListSpecified
        end local 8 // org.aspectj.weaver.ResolvedType methodReturnType
        end local 7 // org.aspectj.weaver.patterns.TypePattern targetTypePattern
        end local 6 // java.lang.String declareMixinPattern
        end local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareMixinPatternNameValuePair
        end local 4 // org.aspectj.weaver.World world
        end local 3 // org.aspectj.apache.bcel.classfile.Method annotatedMethod
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen declareMixinAnnotation
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0  100     0                runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0  100     1                            struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            1  100     2            declareMixinAnnotation  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            4  100     3                   annotatedMethod  Lorg/aspectj/apache/bcel/classfile/Method;
            5  100     4                             world  Lorg/aspectj/weaver/World;
            6  100     5  declareMixinPatternNameValuePair  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            7  100     6               declareMixinPattern  Ljava/lang/String;
            8  100     7                 targetTypePattern  Lorg/aspectj/weaver/patterns/TypePattern;
            9  100     8                  methodReturnType  Lorg/aspectj/weaver/ResolvedType;
           20  100     9            interfaceListSpecified  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
           21  100    10                        newParents  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
           22  100    11                 newInterfaceTypes  Ljava/util/List<Lorg/aspectj/weaver/ResolvedType;>;
           24   51    12             arrayOfInterfaceTypes  Lorg/aspectj/apache/bcel/classfile/annotation/ArrayElementValue;
           25   51    13                     numberOfTypes  I
           26   51    14                          theTypes  [Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
           27   51    15                                 i  I
           29   49    16                     interfaceType  Lorg/aspectj/apache/bcel/classfile/annotation/ClassElementValue;
           32   49    17                   ajInterfaceType  Lorg/aspectj/weaver/ResolvedType;
           48   49    18                         newParent  Lorg/aspectj/weaver/patterns/TypePattern;
           60   62    12                         newParent  Lorg/aspectj/weaver/patterns/TypePattern;
           65  100    12                          bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           66  100    13                           binding  Lorg/aspectj/weaver/patterns/IScope;
           67  100    14                                dp  Lorg/aspectj/weaver/patterns/DeclareParents;
           72  100    15               hasAtLeastOneMethod  Z
           73   94    16                          iterator  Ljava/util/Iterator<Lorg/aspectj/weaver/ResolvedType;>;
           75   93    17                 typeForDelegation  Lorg/aspectj/weaver/ResolvedType;
           78   93    18                           methods  [Lorg/aspectj/weaver/ResolvedMember;
           79   93    19                                 i  I
           81   91    20                            method  Lorg/aspectj/weaver/ResolvedMember;
           88   91    21                              mdtm  Lorg/aspectj/weaver/MethodDelegateTypeMunger;
           96   99    16                         fieldHost  Lorg/aspectj/weaver/ResolvedMember;
    MethodParameters:
                    Name  Flags
      runtimeAnnotations  
      struct              

  private static boolean handleBeforeAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, org.aspectj.weaver.ResolvedPointcutDefinition);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
         0: .line 1036
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.BEFORE_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 3 /* before */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen before
         1: .line 1037
            aload 3 /* before */
            ifnull 31
         2: .line 1038
            aload 3 /* before */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 4 /* beforeAdvice */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair beforeAdvice
         3: .line 1039
            aload 4 /* beforeAdvice */
            ifnull 31
         4: .line 1041
            aload 3 /* before */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 5 /* argumentNames */
        start local 5 // java.lang.String argumentNames
         5: .line 1042
            aload 5 /* argumentNames */
            ifnull 7
         6: .line 1043
            aload 1 /* struct */
            aload 5 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
         7: .line 1045
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String
      StackMap stack:
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 6 /* bindings */
        start local 6 // org.aspectj.weaver.patterns.FormalBinding[] bindings
         8: .line 1047
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            astore 6 /* bindings */
         9: .line 1048
            goto 12
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.FormalBinding[]
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        10: pop
        11: .line 1049
            iconst_0
            ireturn
        12: .line 1051
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 6 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 7 /* binding */
        start local 7 // org.aspectj.weaver.patterns.IScope binding
        13: .line 1054
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:(Lorg/aspectj/apache/bcel/classfile/Method;)I
            istore 8 /* extraArgument */
        start local 8 // int extraArgument
        14: .line 1056
            aconst_null
            astore 9 /* pc */
        start local 9 // org.aspectj.weaver.patterns.Pointcut pc
        15: .line 1057
            aload 2 /* preResolvedPointcut */
            ifnull 18
        16: .line 1058
            aload 2 /* preResolvedPointcut */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        17: .line 1060
            goto 22
        18: .line 1061
      StackMap locals: org.aspectj.weaver.patterns.IScope int org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 4 /* beforeAdvice */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        19: .line 1062
            aload 9 /* pc */
            ifnonnull 21
        20: .line 1063
            iconst_0
            ireturn
        21: .line 1065
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 7 /* binding */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolve:(Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        22: .line 1067
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 6 /* bindings */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setIgnoreUnboundBindingNames:(Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
        23: .line 1069
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        24: .line 1070
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationOffset:()I
        25: .line 1069
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
            astore 10 /* sl */
        start local 10 // org.aspectj.bridge.ISourceLocation sl
        26: .line 1071
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            getstatic org.aspectj.weaver.AdviceKind.Before:Lorg/aspectj/weaver/AdviceKind;
            aload 9 /* pc */
            iload 8 /* extraArgument */
            aload 10 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            aload 10 /* sl */
        27: .line 1072
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            iconst_1
            iadd
        28: .line 1073
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
        29: .line 1071
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1074
            iconst_1
            ireturn
        end local 10 // org.aspectj.bridge.ISourceLocation sl
        end local 9 // org.aspectj.weaver.patterns.Pointcut pc
        end local 8 // int extraArgument
        end local 7 // org.aspectj.weaver.patterns.IScope binding
        end local 6 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 5 // java.lang.String argumentNames
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair beforeAdvice
        31: .line 1077
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen before
        end local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0   runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   32     1               struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   32     2  preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            1   32     3               before  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   31     4         beforeAdvice  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5   31     5        argumentNames  Ljava/lang/String;
            8   31     6             bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           13   31     7              binding  Lorg/aspectj/weaver/patterns/IScope;
           14   31     8        extraArgument  I
           15   31     9                   pc  Lorg/aspectj/weaver/patterns/Pointcut;
           26   31    10                   sl  Lorg/aspectj/bridge/ISourceLocation;
      Exception table:
        from    to  target  type
           8     9      10  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
                     Name  Flags
      runtimeAnnotations   
      struct               
      preResolvedPointcut  

  private static boolean handleAfterAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, org.aspectj.weaver.ResolvedPointcutDefinition);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
         0: .line 1089
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.AFTER_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 3 /* after */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
         1: .line 1090
            aload 3 /* after */
            ifnull 31
         2: .line 1091
            aload 3 /* after */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 4 /* afterAdvice */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair afterAdvice
         3: .line 1092
            aload 4 /* afterAdvice */
            ifnull 31
         4: .line 1094
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 5 /* bindings */
        start local 5 // org.aspectj.weaver.patterns.FormalBinding[] bindings
         5: .line 1095
            aload 3 /* after */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 6 /* argumentNames */
        start local 6 // java.lang.String argumentNames
         6: .line 1096
            aload 6 /* argumentNames */
            ifnull 8
         7: .line 1097
            aload 1 /* struct */
            aload 6 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
         8: .line 1100
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.weaver.patterns.FormalBinding[] java.lang.String
      StackMap stack:
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            astore 5 /* bindings */
         9: .line 1101
            goto 12
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        10: pop
        11: .line 1102
            iconst_0
            ireturn
        12: .line 1104
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 5 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 7 /* binding */
        start local 7 // org.aspectj.weaver.patterns.IScope binding
        13: .line 1107
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:(Lorg/aspectj/apache/bcel/classfile/Method;)I
            istore 8 /* extraArgument */
        start local 8 // int extraArgument
        14: .line 1109
            aconst_null
            astore 9 /* pc */
        start local 9 // org.aspectj.weaver.patterns.Pointcut pc
        15: .line 1110
            aload 2 /* preResolvedPointcut */
            ifnull 18
        16: .line 1111
            aload 2 /* preResolvedPointcut */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        17: .line 1112
            goto 22
        18: .line 1113
      StackMap locals: org.aspectj.weaver.patterns.IScope int org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 4 /* afterAdvice */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        19: .line 1114
            aload 9 /* pc */
            ifnonnull 21
        20: .line 1115
            iconst_0
            ireturn
        21: .line 1117
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 7 /* binding */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolve:(Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
            pop
        22: .line 1119
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 5 /* bindings */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setIgnoreUnboundBindingNames:(Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
        23: .line 1121
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        24: .line 1122
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationOffset:()I
        25: .line 1121
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
            astore 10 /* sl */
        start local 10 // org.aspectj.bridge.ISourceLocation sl
        26: .line 1123
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            getstatic org.aspectj.weaver.AdviceKind.After:Lorg/aspectj/weaver/AdviceKind;
            aload 9 /* pc */
            iload 8 /* extraArgument */
            aload 10 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            aload 10 /* sl */
        27: .line 1124
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            iconst_1
            iadd
        28: .line 1125
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
        29: .line 1123
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1126
            iconst_1
            ireturn
        end local 10 // org.aspectj.bridge.ISourceLocation sl
        end local 9 // org.aspectj.weaver.patterns.Pointcut pc
        end local 8 // int extraArgument
        end local 7 // org.aspectj.weaver.patterns.IScope binding
        end local 6 // java.lang.String argumentNames
        end local 5 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair afterAdvice
        31: .line 1129
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
        end local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0   runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   32     1               struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   32     2  preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            1   32     3                after  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   31     4          afterAdvice  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5   31     5             bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
            6   31     6        argumentNames  Ljava/lang/String;
           13   31     7              binding  Lorg/aspectj/weaver/patterns/IScope;
           14   31     8        extraArgument  I
           15   31     9                   pc  Lorg/aspectj/weaver/patterns/Pointcut;
           26   31    10                   sl  Lorg/aspectj/bridge/ISourceLocation;
      Exception table:
        from    to  target  type
           8     9      10  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
                     Name  Flags
      runtimeAnnotations   
      struct               
      preResolvedPointcut  

  private static boolean handleAfterReturningAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, org.aspectj.weaver.ResolvedPointcutDefinition, org.aspectj.weaver.bcel.BcelMethod);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/bcel/BcelMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=16, args_size=4
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        start local 3 // org.aspectj.weaver.bcel.BcelMethod owningMethod
         0: .line 1142
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.AFTERRETURNING_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 4 /* after */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
         1: .line 1143
            aload 4 /* after */
            ifnull 57
         2: .line 1144
            aload 4 /* after */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 5 /* annValue */
        start local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annValue
         3: .line 1145
            aload 4 /* after */
            ldc "pointcut"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 6 /* annPointcut */
        start local 6 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annPointcut
         4: .line 1146
            aload 4 /* after */
            ldc "returning"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 7 /* annReturned */
        start local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annReturned
         5: .line 1149
            aconst_null
            astore 8 /* pointcut */
        start local 8 // java.lang.String pointcut
         6: .line 1150
            aconst_null
            astore 9 /* returned */
        start local 9 // java.lang.String returned
         7: .line 1151
            aload 5 /* annValue */
            ifnull 8
            aload 6 /* annPointcut */
            ifnonnull 9
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.bcel.BcelMethod org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String java.lang.String
      StackMap stack:
         8: aload 5 /* annValue */
            ifnonnull 11
            aload 6 /* annPointcut */
            ifnonnull 11
         9: .line 1152
      StackMap locals:
      StackMap stack:
            ldc "@AfterReturning: either 'value' or 'poincut' must be provided, not both"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        10: .line 1153
            iconst_0
            ireturn
        11: .line 1155
      StackMap locals:
      StackMap stack:
            aload 5 /* annValue */
            ifnull 14
        12: .line 1156
            aload 5 /* annValue */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 8 /* pointcut */
        13: .line 1157
            goto 15
        14: .line 1158
      StackMap locals:
      StackMap stack:
            aload 6 /* annPointcut */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 8 /* pointcut */
        15: .line 1160
      StackMap locals:
      StackMap stack:
            aload 8 /* pointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 1161
            ldc "@AfterReturning: either 'value' or 'poincut' must be provided, not both"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        17: .line 1162
            iconst_0
            ireturn
        18: .line 1164
      StackMap locals:
      StackMap stack:
            aload 7 /* annReturned */
            ifnull 26
        19: .line 1165
            aload 7 /* annReturned */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 9 /* returned */
        20: .line 1166
            aload 9 /* returned */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 23
        21: .line 1167
            aconst_null
            astore 9 /* returned */
        22: .line 1168
            goto 26
        23: .line 1171
      StackMap locals:
      StackMap stack:
            aload 3 /* owningMethod */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getParameterNames:()[Ljava/lang/String;
            astore 10 /* pNames */
        start local 10 // java.lang.String[] pNames
        24: .line 1172
            aload 10 /* pNames */
            ifnull 25
            aload 10 /* pNames */
            arraylength
            ifeq 25
            aload 10 /* pNames */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 9 /* returned */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 1173
      StackMap locals: java.lang.String[]
      StackMap stack:
            new org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException
            dup
            aload 9 /* returned */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String[] pNames
        26: .line 1177
      StackMap locals:
      StackMap stack:
            aload 4 /* after */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 10 /* argumentNames */
        start local 10 // java.lang.String argumentNames
        27: .line 1178
            aload 10 /* argumentNames */
            ifnull 29
        28: .line 1179
            aload 1 /* struct */
            aload 10 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
        29: .line 1184
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 11 /* bindings */
        start local 11 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        30: .line 1186
            aload 9 /* returned */
            ifnonnull 31
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            goto 32
      StackMap locals: org.aspectj.weaver.patterns.FormalBinding[]
      StackMap stack:
        31: aload 1 /* struct */
            aload 9 /* returned */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Ljava/lang/String;)[Lorg/aspectj/weaver/patterns/FormalBinding;
      StackMap locals:
      StackMap stack: org.aspectj.weaver.patterns.FormalBinding[]
        32: astore 11 /* bindings */
        33: .line 1187
            goto 36
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        34: pop
        35: .line 1188
            iconst_0
            ireturn
        36: .line 1190
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 11 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 12 /* binding */
        start local 12 // org.aspectj.weaver.patterns.IScope binding
        37: .line 1193
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:(Lorg/aspectj/apache/bcel/classfile/Method;)I
            istore 13 /* extraArgument */
        start local 13 // int extraArgument
        38: .line 1196
            aload 9 /* returned */
            ifnull 40
        39: .line 1197
            iload 13 /* extraArgument */
            iconst_1
            ior
            istore 13 /* extraArgument */
        40: .line 1200
      StackMap locals: org.aspectj.weaver.patterns.IScope int
      StackMap stack:
            aconst_null
            astore 14 /* pc */
        start local 14 // org.aspectj.weaver.patterns.Pointcut pc
        41: .line 1201
            aload 2 /* preResolvedPointcut */
            ifnull 44
        42: .line 1202
            aload 2 /* preResolvedPointcut */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 14 /* pc */
        43: .line 1203
            goto 48
        44: .line 1204
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 8 /* pointcut */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 14 /* pc */
        45: .line 1205
            aload 14 /* pc */
            ifnonnull 47
        46: .line 1206
            iconst_0
            ireturn
        47: .line 1208
      StackMap locals:
      StackMap stack:
            aload 14 /* pc */
            aload 12 /* binding */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolve:(Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
            pop
        48: .line 1210
      StackMap locals:
      StackMap stack:
            aload 14 /* pc */
            aload 11 /* bindings */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setIgnoreUnboundBindingNames:(Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
        49: .line 1212
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        50: .line 1213
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationOffset:()I
        51: .line 1212
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
            astore 15 /* sl */
        start local 15 // org.aspectj.bridge.ISourceLocation sl
        52: .line 1214
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            getstatic org.aspectj.weaver.AdviceKind.AfterReturning:Lorg/aspectj/weaver/AdviceKind;
            aload 14 /* pc */
            iload 13 /* extraArgument */
            aload 15 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
        53: .line 1215
            aload 15 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            iconst_1
            iadd
        54: .line 1216
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
        55: .line 1214
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 1217
            iconst_1
            ireturn
        end local 15 // org.aspectj.bridge.ISourceLocation sl
        end local 14 // org.aspectj.weaver.patterns.Pointcut pc
        end local 13 // int extraArgument
        end local 12 // org.aspectj.weaver.patterns.IScope binding
        end local 11 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 10 // java.lang.String argumentNames
        end local 9 // java.lang.String returned
        end local 8 // java.lang.String pointcut
        end local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annReturned
        end local 6 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annPointcut
        end local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annValue
        57: .line 1219
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.bcel.BcelMethod org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
        end local 3 // org.aspectj.weaver.bcel.BcelMethod owningMethod
        end local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   58     0   runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   58     1               struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   58     2  preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            0   58     3         owningMethod  Lorg/aspectj/weaver/bcel/BcelMethod;
            1   58     4                after  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   57     5             annValue  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            4   57     6          annPointcut  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5   57     7          annReturned  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            6   57     8             pointcut  Ljava/lang/String;
            7   57     9             returned  Ljava/lang/String;
           24   26    10               pNames  [Ljava/lang/String;
           27   57    10        argumentNames  Ljava/lang/String;
           30   57    11             bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           37   57    12              binding  Lorg/aspectj/weaver/patterns/IScope;
           38   57    13        extraArgument  I
           41   57    14                   pc  Lorg/aspectj/weaver/patterns/Pointcut;
           52   57    15                   sl  Lorg/aspectj/bridge/ISourceLocation;
      Exception table:
        from    to  target  type
          30    33      34  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    Exceptions:
      throws org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException
    MethodParameters:
                     Name  Flags
      runtimeAnnotations   
      struct               
      preResolvedPointcut  
      owningMethod         

  private static boolean handleAfterThrowingAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, org.aspectj.weaver.ResolvedPointcutDefinition, org.aspectj.weaver.bcel.BcelMethod);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;Lorg/aspectj/weaver/bcel/BcelMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=16, args_size=4
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        start local 3 // org.aspectj.weaver.bcel.BcelMethod owningMethod
         0: .line 1232
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.AFTERTHROWING_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 4 /* after */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
         1: .line 1233
            aload 4 /* after */
            ifnull 56
         2: .line 1234
            aload 4 /* after */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 5 /* annValue */
        start local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annValue
         3: .line 1235
            aload 4 /* after */
            ldc "pointcut"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 6 /* annPointcut */
        start local 6 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annPointcut
         4: .line 1236
            aload 4 /* after */
            ldc "throwing"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 7 /* annThrown */
        start local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annThrown
         5: .line 1239
            aconst_null
            astore 8 /* pointcut */
        start local 8 // java.lang.String pointcut
         6: .line 1240
            aconst_null
            astore 9 /* thrownFormal */
        start local 9 // java.lang.String thrownFormal
         7: .line 1241
            aload 5 /* annValue */
            ifnull 8
            aload 6 /* annPointcut */
            ifnonnull 9
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.bcel.BcelMethod org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.NameValuePair org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String java.lang.String
      StackMap stack:
         8: aload 5 /* annValue */
            ifnonnull 11
            aload 6 /* annPointcut */
            ifnonnull 11
         9: .line 1242
      StackMap locals:
      StackMap stack:
            ldc "@AfterThrowing: either 'value' or 'poincut' must be provided, not both"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        10: .line 1243
            iconst_0
            ireturn
        11: .line 1245
      StackMap locals:
      StackMap stack:
            aload 5 /* annValue */
            ifnull 14
        12: .line 1246
            aload 5 /* annValue */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 8 /* pointcut */
        13: .line 1247
            goto 15
        14: .line 1248
      StackMap locals:
      StackMap stack:
            aload 6 /* annPointcut */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 8 /* pointcut */
        15: .line 1250
      StackMap locals:
      StackMap stack:
            aload 8 /* pointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 1251
            ldc "@AfterThrowing: either 'value' or 'poincut' must be provided, not both"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        17: .line 1252
            iconst_0
            ireturn
        18: .line 1254
      StackMap locals:
      StackMap stack:
            aload 7 /* annThrown */
            ifnull 26
        19: .line 1255
            aload 7 /* annThrown */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            astore 9 /* thrownFormal */
        20: .line 1256
            aload 9 /* thrownFormal */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 23
        21: .line 1257
            aconst_null
            astore 9 /* thrownFormal */
        22: .line 1258
            goto 26
        23: .line 1261
      StackMap locals:
      StackMap stack:
            aload 3 /* owningMethod */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getParameterNames:()[Ljava/lang/String;
            astore 10 /* pNames */
        start local 10 // java.lang.String[] pNames
        24: .line 1262
            aload 10 /* pNames */
            ifnull 25
            aload 10 /* pNames */
            arraylength
            ifeq 25
            aload 10 /* pNames */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 9 /* thrownFormal */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 1263
      StackMap locals: java.lang.String[]
      StackMap stack:
            new org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException
            dup
            aload 9 /* thrownFormal */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String[] pNames
        26: .line 1267
      StackMap locals:
      StackMap stack:
            aload 4 /* after */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 10 /* argumentNames */
        start local 10 // java.lang.String argumentNames
        27: .line 1268
            aload 10 /* argumentNames */
            ifnull 29
        28: .line 1269
            aload 1 /* struct */
            aload 10 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
        29: .line 1274
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 11 /* bindings */
        start local 11 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        30: .line 1276
            aload 9 /* thrownFormal */
            ifnonnull 31
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            goto 32
      StackMap locals: org.aspectj.weaver.patterns.FormalBinding[]
      StackMap stack:
        31: aload 1 /* struct */
            aload 9 /* thrownFormal */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Ljava/lang/String;)[Lorg/aspectj/weaver/patterns/FormalBinding;
      StackMap locals:
      StackMap stack: org.aspectj.weaver.patterns.FormalBinding[]
        32: astore 11 /* bindings */
        33: .line 1277
            goto 36
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        34: pop
        35: .line 1278
            iconst_0
            ireturn
        36: .line 1280
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 11 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 12 /* binding */
        start local 12 // org.aspectj.weaver.patterns.IScope binding
        37: .line 1283
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:(Lorg/aspectj/apache/bcel/classfile/Method;)I
            istore 13 /* extraArgument */
        start local 13 // int extraArgument
        38: .line 1286
            aload 9 /* thrownFormal */
            ifnull 40
        39: .line 1287
            iload 13 /* extraArgument */
            iconst_1
            ior
            istore 13 /* extraArgument */
        40: .line 1290
      StackMap locals: org.aspectj.weaver.patterns.IScope int
      StackMap stack:
            aconst_null
            astore 14 /* pc */
        start local 14 // org.aspectj.weaver.patterns.Pointcut pc
        41: .line 1291
            aload 2 /* preResolvedPointcut */
            ifnull 44
        42: .line 1292
            aload 2 /* preResolvedPointcut */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 14 /* pc */
        43: .line 1293
            goto 48
        44: .line 1294
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 8 /* pointcut */
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 14 /* pc */
        45: .line 1295
            aload 14 /* pc */
            ifnonnull 47
        46: .line 1296
            iconst_0
            ireturn
        47: .line 1298
      StackMap locals:
      StackMap stack:
            aload 14 /* pc */
            aload 12 /* binding */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolve:(Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
            pop
        48: .line 1300
      StackMap locals:
      StackMap stack:
            aload 14 /* pc */
            aload 11 /* bindings */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setIgnoreUnboundBindingNames:(Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
        49: .line 1302
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        50: .line 1303
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationOffset:()I
        51: .line 1302
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
            astore 15 /* sl */
        start local 15 // org.aspectj.bridge.ISourceLocation sl
        52: .line 1304
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            getstatic org.aspectj.weaver.AdviceKind.AfterThrowing:Lorg/aspectj/weaver/AdviceKind;
            aload 14 /* pc */
            iload 13 /* extraArgument */
            aload 15 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            aload 15 /* sl */
        53: .line 1305
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            iconst_1
            iadd
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
        54: .line 1304
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        55: .line 1306
            iconst_1
            ireturn
        end local 15 // org.aspectj.bridge.ISourceLocation sl
        end local 14 // org.aspectj.weaver.patterns.Pointcut pc
        end local 13 // int extraArgument
        end local 12 // org.aspectj.weaver.patterns.IScope binding
        end local 11 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 10 // java.lang.String argumentNames
        end local 9 // java.lang.String thrownFormal
        end local 8 // java.lang.String pointcut
        end local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annThrown
        end local 6 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annPointcut
        end local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair annValue
        56: .line 1308
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.bcel.BcelMethod org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen after
        end local 3 // org.aspectj.weaver.bcel.BcelMethod owningMethod
        end local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0   runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   57     1               struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   57     2  preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            0   57     3         owningMethod  Lorg/aspectj/weaver/bcel/BcelMethod;
            1   57     4                after  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   56     5             annValue  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            4   56     6          annPointcut  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5   56     7            annThrown  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            6   56     8             pointcut  Ljava/lang/String;
            7   56     9         thrownFormal  Ljava/lang/String;
           24   26    10               pNames  [Ljava/lang/String;
           27   56    10        argumentNames  Ljava/lang/String;
           30   56    11             bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           37   56    12              binding  Lorg/aspectj/weaver/patterns/IScope;
           38   56    13        extraArgument  I
           41   56    14                   pc  Lorg/aspectj/weaver/patterns/Pointcut;
           52   56    15                   sl  Lorg/aspectj/bridge/ISourceLocation;
      Exception table:
        from    to  target  type
          30    33      34  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    Exceptions:
      throws org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException
    MethodParameters:
                     Name  Flags
      runtimeAnnotations   
      struct               
      preResolvedPointcut  
      owningMethod         

  private static boolean handleAroundAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, org.aspectj.weaver.ResolvedPointcutDefinition);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Lorg/aspectj/weaver/ResolvedPointcutDefinition;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
         0: .line 1320
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.AROUND_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 3 /* around */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen around
         1: .line 1321
            aload 3 /* around */
            ifnull 31
         2: .line 1322
            aload 3 /* around */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 4 /* aroundAdvice */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair aroundAdvice
         3: .line 1323
            aload 4 /* aroundAdvice */
            ifnull 31
         4: .line 1325
            aload 3 /* around */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 5 /* argumentNames */
        start local 5 // java.lang.String argumentNames
         5: .line 1326
            aload 5 /* argumentNames */
            ifnull 7
         6: .line 1327
            aload 1 /* struct */
            aload 5 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
         7: .line 1329
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String
      StackMap stack:
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            astore 6 /* bindings */
        start local 6 // org.aspectj.weaver.patterns.FormalBinding[] bindings
         8: .line 1331
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            astore 6 /* bindings */
         9: .line 1332
            goto 12
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.FormalBinding[]
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        10: pop
        11: .line 1333
            iconst_0
            ireturn
        12: .line 1335
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 6 /* bindings */
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 7 /* binding */
        start local 7 // org.aspectj.weaver.patterns.IScope binding
        13: .line 1338
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:(Lorg/aspectj/apache/bcel/classfile/Method;)I
            istore 8 /* extraArgument */
        start local 8 // int extraArgument
        14: .line 1340
            aconst_null
            astore 9 /* pc */
        start local 9 // org.aspectj.weaver.patterns.Pointcut pc
        15: .line 1341
            aload 2 /* preResolvedPointcut */
            ifnull 18
        16: .line 1342
            aload 2 /* preResolvedPointcut */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        17: .line 1343
            goto 22
        18: .line 1344
      StackMap locals: org.aspectj.weaver.patterns.IScope int org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 4 /* aroundAdvice */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 1 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 9 /* pc */
        19: .line 1345
            aload 9 /* pc */
            ifnonnull 21
        20: .line 1346
            iconst_0
            ireturn
        21: .line 1348
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 7 /* binding */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolve:(Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
            pop
        22: .line 1350
      StackMap locals:
      StackMap stack:
            aload 9 /* pc */
            aload 6 /* bindings */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setIgnoreUnboundBindingNames:(Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
        23: .line 1352
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        24: .line 1353
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.bMethod:Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationOffset:()I
        25: .line 1352
            invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
            astore 10 /* sl */
        start local 10 // org.aspectj.bridge.ISourceLocation sl
        26: .line 1354
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            aload 9 /* pc */
            iload 8 /* extraArgument */
            aload 10 /* sl */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            aload 10 /* sl */
        27: .line 1355
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            iconst_1
            iadd
        28: .line 1356
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
        29: .line 1354
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1357
            iconst_1
            ireturn
        end local 10 // org.aspectj.bridge.ISourceLocation sl
        end local 9 // org.aspectj.weaver.patterns.Pointcut pc
        end local 8 // int extraArgument
        end local 7 // org.aspectj.weaver.patterns.IScope binding
        end local 6 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 5 // java.lang.String argumentNames
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair aroundAdvice
        31: .line 1360
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen around
        end local 2 // org.aspectj.weaver.ResolvedPointcutDefinition preResolvedPointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0   runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   32     1               struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   32     2  preResolvedPointcut  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            1   32     3               around  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            3   31     4         aroundAdvice  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            5   31     5        argumentNames  Ljava/lang/String;
            8   31     6             bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
           13   31     7              binding  Lorg/aspectj/weaver/patterns/IScope;
           14   31     8        extraArgument  I
           15   31     9                   pc  Lorg/aspectj/weaver/patterns/Pointcut;
           26   31    10                   sl  Lorg/aspectj/bridge/ISourceLocation;
      Exception table:
        from    to  target  type
           8     9      10  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
                     Name  Flags
      runtimeAnnotations   
      struct               
      preResolvedPointcut  

  private static boolean handlePointcutAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=12, locals=8, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
         0: .line 1371
            aload 0 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.POINTCUT_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 2 /* pointcut */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen pointcut
         1: .line 1372
            aload 2 /* pointcut */
            ifnonnull 3
         2: .line 1373
            iconst_0
            ireturn
         3: .line 1375
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
      StackMap stack:
            aload 2 /* pointcut */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 3 /* pointcutExpr */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair pointcutExpr
         4: .line 1379
            getstatic org.aspectj.apache.bcel.generic.Type.VOID:Lorg/aspectj/apache/bcel/generic/BasicType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.BasicType.equals:(Ljava/lang/Object;)Z
            ifne 7
            getstatic org.aspectj.apache.bcel.generic.Type.BOOLEAN:Lorg/aspectj/apache/bcel/generic/BasicType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.BasicType.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1380
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isStatic:()Z
            ifeq 6
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isPublic:()Z
            ifne 7
         6: .line 1381
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.NameValuePair
      StackMap stack:
            ldc "Found @Pointcut on a method not returning 'void' or not 'public static boolean'"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportWarning:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         7: .line 1386
      StackMap locals:
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getExceptionTable:()Lorg/aspectj/apache/bcel/classfile/ExceptionTable;
            ifnull 9
         8: .line 1387
            ldc "Found @Pointcut on a method throwing exception"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportWarning:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         9: .line 1391
      StackMap locals:
      StackMap stack:
            aload 2 /* pointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getArgNamesValue:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
            astore 4 /* argumentNames */
        start local 4 // java.lang.String argumentNames
        10: .line 1392
            aload 4 /* argumentNames */
            ifnull 12
        11: .line 1393
            aload 1 /* struct */
            aload 4 /* argumentNames */
            putfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.unparsedArgumentNames:Ljava/lang/String;
        12: .line 1398
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isAbstract:()Z
            ifeq 15
        13: .line 1399
            aconst_null
            astore 5 /* binding */
        start local 5 // org.aspectj.weaver.patterns.IScope binding
        14: .line 1400
            goto 19
        end local 5 // org.aspectj.weaver.patterns.IScope binding
        15: .line 1401
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BindingScope
            dup
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            invokespecial org.aspectj.weaver.BindingScope.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ISourceContext;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
            astore 5 /* binding */
        start local 5 // org.aspectj.weaver.patterns.IScope binding
        16: .line 1403
            goto 19
        end local 5 // org.aspectj.weaver.patterns.IScope binding
      StackMap locals:
      StackMap stack: org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
        17: pop
        18: .line 1404
            iconst_0
            ireturn
        start local 5 // org.aspectj.weaver.patterns.IScope binding
        19: .line 1407
      StackMap locals: org.aspectj.weaver.patterns.IScope
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            anewarray org.aspectj.weaver.UnresolvedType
            astore 6 /* argumentTypes */
        start local 6 // org.aspectj.weaver.UnresolvedType[] argumentTypes
        20: .line 1408
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        21: goto 24
        22: .line 1409
      StackMap locals: org.aspectj.weaver.UnresolvedType[] int
      StackMap stack:
            aload 6 /* argumentTypes */
            iload 7 /* i */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            iload 7 /* i */
            aaload
            invokevirtual org.aspectj.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            aastore
        23: .line 1408
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            aload 6 /* argumentTypes */
            arraylength
            if_icmplt 22
        end local 7 // int i
        25: .line 1412
            aconst_null
            astore 7 /* pc */
        start local 7 // org.aspectj.weaver.patterns.Pointcut pc
        26: .line 1413
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isAbstract:()Z
            ifeq 31
        27: .line 1414
            aload 3 /* pointcutExpr */
            ifnull 28
            aload 3 /* pointcutExpr */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 36
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct org.aspectj.apache.bcel.classfile.annotation.AnnotationGen org.aspectj.apache.bcel.classfile.annotation.NameValuePair java.lang.String org.aspectj.weaver.patterns.IScope org.aspectj.weaver.UnresolvedType[] org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
        28: aload 3 /* pointcutExpr */
            ifnull 36
        29: .line 1418
            ldc "Found defined @Pointcut on an abstract method"
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        30: .line 1419
            iconst_0
            ireturn
        31: .line 1422
      StackMap locals:
      StackMap stack:
            aload 3 /* pointcutExpr */
            ifnull 36
            aload 3 /* pointcutExpr */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 36
        32: .line 1431
            aload 3 /* pointcutExpr */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 1 /* struct */
            iconst_1
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 7 /* pc */
        33: .line 1432
            aload 7 /* pc */
            ifnonnull 35
        34: .line 1433
            iconst_0
            ireturn
        35: .line 1435
      StackMap locals:
      StackMap stack:
            aload 7 /* pc */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.Pointcut.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        36: .line 1445
      StackMap locals:
      StackMap stack:
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$PointcutDeclarationAttribute
            dup
            new org.aspectj.weaver.bcel.AtAjAttributes$LazyResolvedPointcutDefinition
            dup
        37: .line 1446
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getModifiers:()I
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            aload 6 /* argumentTypes */
        38: .line 1447
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            aload 7 /* pc */
        39: .line 1453
            aload 5 /* binding */
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$LazyResolvedPointcutDefinition.<init>:(Lorg/aspectj/weaver/UnresolvedType;ILjava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/IScope;)V
            invokespecial org.aspectj.weaver.AjAttribute$PointcutDeclarationAttribute.<init>:(Lorg/aspectj/weaver/ResolvedPointcutDefinition;)V
        40: .line 1445
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1455
            iconst_1
            ireturn
        end local 7 // org.aspectj.weaver.patterns.Pointcut pc
        end local 6 // org.aspectj.weaver.UnresolvedType[] argumentTypes
        end local 5 // org.aspectj.weaver.patterns.IScope binding
        end local 4 // java.lang.String argumentNames
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair pointcutExpr
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen pointcut
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   42     0  runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   42     1              struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            1   42     2            pointcut  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            4   42     3        pointcutExpr  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
           10   42     4       argumentNames  Ljava/lang/String;
           14   15     5             binding  Lorg/aspectj/weaver/patterns/IScope;
           16   17     5             binding  Lorg/aspectj/weaver/patterns/IScope;
           19   42     5             binding  Lorg/aspectj/weaver/patterns/IScope;
           20   42     6       argumentTypes  [Lorg/aspectj/weaver/UnresolvedType;
           21   25     7                   i  I
           26   42     7                  pc  Lorg/aspectj/weaver/patterns/Pointcut;
      Exception table:
        from    to  target  type
          12    16      17  Class org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
                    Name  Flags
      runtimeAnnotations  
      struct              

  private static boolean handleDeclareErrorOrWarningAnnotation(org.aspectj.asm.AsmManager, org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct);
    descriptor: (Lorg/aspectj/asm/AsmManager;Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.aspectj.asm.AsmManager model
        start local 1 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        start local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
         0: .line 1467
            aload 1 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.DECLAREERROR_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 3 /* error */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen error
         1: .line 1468
            iconst_0
            istore 4 /* hasError */
        start local 4 // boolean hasError
         2: .line 1469
            aload 3 /* error */
            ifnull 16
         3: .line 1470
            aload 3 /* error */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 5 /* declareError */
        start local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareError
         4: .line 1471
            aload 5 /* declareError */
            ifnull 16
         5: .line 1472
            ldc "Ljava/lang/String;"
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getConstantValue:()Lorg/aspectj/apache/bcel/classfile/ConstantValue;
            ifnonnull 8
         6: .line 1473
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen int org.aspectj.apache.bcel.classfile.annotation.NameValuePair
      StackMap stack:
            ldc "@DeclareError used on a non String constant field"
            aload 2 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         7: .line 1474
            iconst_0
            ireturn
         8: .line 1476
      StackMap locals:
      StackMap stack:
            aload 5 /* declareError */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 2 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 6 /* pc */
        start local 6 // org.aspectj.weaver.patterns.Pointcut pc
         9: .line 1477
            aload 6 /* pc */
            ifnonnull 12
        10: .line 1478
            iconst_0
            istore 4 /* hasError */
        11: .line 1479
            goto 16
        12: .line 1480
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            new org.aspectj.weaver.patterns.DeclareErrorOrWarning
            dup
            iconst_1
            aload 6 /* pc */
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getConstantValue:()Lorg/aspectj/apache/bcel/classfile/ConstantValue;
            invokevirtual org.aspectj.apache.bcel.classfile.ConstantValue.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.patterns.DeclareErrorOrWarning.<init>:(ZLorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/String;)V
            astore 7 /* deow */
        start local 7 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        13: .line 1481
            aload 0 /* model */
            aload 7 /* deow */
            aload 2 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setDeclareErrorOrWarningLocation:(Lorg/aspectj/asm/AsmManager;Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)V
        14: .line 1482
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$DeclareAttribute
            dup
            aload 7 /* deow */
            invokespecial org.aspectj.weaver.AjAttribute$DeclareAttribute.<init>:(Lorg/aspectj/weaver/patterns/Declare;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1483
            iconst_1
            istore 4 /* hasError */
        end local 7 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        end local 6 // org.aspectj.weaver.patterns.Pointcut pc
        end local 5 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareError
        16: .line 1487
      StackMap locals:
      StackMap stack:
            aload 1 /* runtimeAnnotations */
            getstatic org.aspectj.weaver.AjcMemberMaker.DECLAREWARNING_ANNOTATION:Lorg/aspectj/weaver/UnresolvedType;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotation:(Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            astore 5 /* warning */
        start local 5 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen warning
        17: .line 1488
            iconst_0
            istore 6 /* hasWarning */
        start local 6 // boolean hasWarning
        18: .line 1489
            aload 5 /* warning */
            ifnull 32
        19: .line 1490
            aload 5 /* warning */
            ldc "value"
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.getAnnotationElement:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            astore 7 /* declareWarning */
        start local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareWarning
        20: .line 1491
            aload 7 /* declareWarning */
            ifnull 32
        21: .line 1492
            ldc "Ljava/lang/String;"
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getConstantValue:()Lorg/aspectj/apache/bcel/classfile/ConstantValue;
            ifnonnull 24
        22: .line 1493
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen int org.aspectj.apache.bcel.classfile.annotation.NameValuePair
      StackMap stack:
            ldc "@DeclareWarning used on a non String constant field"
            aload 2 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        23: .line 1494
            iconst_0
            ireturn
        24: .line 1496
      StackMap locals:
      StackMap stack:
            aload 7 /* declareWarning */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            aload 2 /* struct */
            iconst_0
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.parsePointcut:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 8 /* pc */
        start local 8 // org.aspectj.weaver.patterns.Pointcut pc
        25: .line 1497
            aload 8 /* pc */
            ifnonnull 28
        26: .line 1498
            iconst_0
            istore 6 /* hasWarning */
        27: .line 1499
            goto 32
        28: .line 1500
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            new org.aspectj.weaver.patterns.DeclareErrorOrWarning
            dup
            iconst_0
            aload 8 /* pc */
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getConstantValue:()Lorg/aspectj/apache/bcel/classfile/ConstantValue;
            invokevirtual org.aspectj.apache.bcel.classfile.ConstantValue.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.patterns.DeclareErrorOrWarning.<init>:(ZLorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/String;)V
            astore 9 /* deow */
        start local 9 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        29: .line 1501
            aload 0 /* model */
            aload 9 /* deow */
            aload 2 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.setDeclareErrorOrWarningLocation:(Lorg/aspectj/asm/AsmManager;Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)V
        30: .line 1502
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.ajAttributes:Ljava/util/List;
            new org.aspectj.weaver.AjAttribute$DeclareAttribute
            dup
            aload 9 /* deow */
            invokespecial org.aspectj.weaver.AjAttribute$DeclareAttribute.<init>:(Lorg/aspectj/weaver/patterns/Declare;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 1503
            iconst_1
            dup
            istore 6 /* hasWarning */
            ireturn
        end local 9 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        end local 8 // org.aspectj.weaver.patterns.Pointcut pc
        end local 7 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair declareWarning
        32: .line 1507
      StackMap locals:
      StackMap stack:
            iload 4 /* hasError */
            ifne 33
            iload 6 /* hasWarning */
            ifne 33
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        33: iconst_1
            ireturn
        end local 6 // boolean hasWarning
        end local 5 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen warning
        end local 4 // boolean hasError
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen error
        end local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
        end local 1 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos runtimeAnnotations
        end local 0 // org.aspectj.asm.AsmManager model
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   34     0               model  Lorg/aspectj/asm/AsmManager;
            0   34     1  runtimeAnnotations  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0   34     2              struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;
            1   34     3               error  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            2   34     4            hasError  Z
            4   16     5        declareError  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
            9   16     6                  pc  Lorg/aspectj/weaver/patterns/Pointcut;
           13   16     7                deow  Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;
           17   34     5             warning  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
           18   34     6          hasWarning  Z
           20   32     7      declareWarning  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
           25   32     8                  pc  Lorg/aspectj/weaver/patterns/Pointcut;
           29   32     9                deow  Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;
    MethodParameters:
                    Name  Flags
      model               
      runtimeAnnotations  
      struct              

  private static void setDeclareErrorOrWarningLocation(org.aspectj.asm.AsmManager, org.aspectj.weaver.patterns.DeclareErrorOrWarning, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct);
    descriptor: (Lorg/aspectj/asm/AsmManager;Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.aspectj.asm.AsmManager model
        start local 1 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        start local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
         0: .line 1524
            aload 0 /* model */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* model */
            invokevirtual org.aspectj.asm.AsmManager.getHierarchy:()Lorg/aspectj/asm/IHierarchy;
      StackMap locals:
      StackMap stack: org.aspectj.asm.IHierarchy
         2: astore 3 /* top */
        start local 3 // org.aspectj.asm.IHierarchy top
         3: .line 1525
            aload 3 /* top */
            ifnull 11
            aload 3 /* top */
            invokeinterface org.aspectj.asm.IHierarchy.getRoot:()Lorg/aspectj/asm/IProgramElement;
            ifnull 11
         4: .line 1526
            aload 3 /* top */
            aload 3 /* top */
            invokeinterface org.aspectj.asm.IHierarchy.getRoot:()Lorg/aspectj/asm/IProgramElement;
            getstatic org.aspectj.asm.IProgramElement$Kind.FIELD:Lorg/aspectj/asm/IProgramElement$Kind;
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getName:()Ljava/lang/String;
            invokeinterface org.aspectj.asm.IHierarchy.findElementForLabel:(Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement$Kind;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
            astore 4 /* ipe */
        start local 4 // org.aspectj.asm.IProgramElement ipe
         5: .line 1527
            aload 4 /* ipe */
            ifnull 11
            aload 4 /* ipe */
            invokeinterface org.aspectj.asm.IProgramElement.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            ifnull 11
         6: .line 1528
            aload 4 /* ipe */
            invokeinterface org.aspectj.asm.IProgramElement.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            astore 5 /* sourceLocation */
        start local 5 // org.aspectj.bridge.ISourceLocation sourceLocation
         7: .line 1529
            aload 5 /* sourceLocation */
            invokeinterface org.aspectj.bridge.ISourceLocation.getOffset:()I
            istore 6 /* start */
        start local 6 // int start
         8: .line 1530
            iload 6 /* start */
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.field:Lorg/aspectj/apache/bcel/classfile/Field;
            invokevirtual org.aspectj.apache.bcel.classfile.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 7 /* end */
        start local 7 // int end
         9: .line 1531
            aload 1 /* deow */
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iload 6 /* start */
            iload 7 /* end */
            invokevirtual org.aspectj.weaver.patterns.DeclareErrorOrWarning.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        10: .line 1532
            return
        end local 7 // int end
        end local 6 // int start
        end local 5 // org.aspectj.bridge.ISourceLocation sourceLocation
        end local 4 // org.aspectj.asm.IProgramElement ipe
        11: .line 1535
      StackMap locals: org.aspectj.asm.IHierarchy
      StackMap stack:
            aload 1 /* deow */
            aload 2 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.DeclareErrorOrWarning.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        12: .line 1536
            return
        end local 3 // org.aspectj.asm.IHierarchy top
        end local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct struct
        end local 1 // org.aspectj.weaver.patterns.DeclareErrorOrWarning deow
        end local 0 // org.aspectj.asm.AsmManager model
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0           model  Lorg/aspectj/asm/AsmManager;
            0   13     1            deow  Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;
            0   13     2          struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeFieldStruct;
            3   13     3             top  Lorg/aspectj/asm/IHierarchy;
            5   11     4             ipe  Lorg/aspectj/asm/IProgramElement;
            7   11     5  sourceLocation  Lorg/aspectj/bridge/ISourceLocation;
            8   11     6           start  I
            9   11     7             end  I
    MethodParameters:
        Name  Flags
      model   
      deow    
      struct  

  private static java.lang.String methodToString(org.aspectj.apache.bcel.classfile.Method);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Method;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.apache.bcel.classfile.Method method
         0: .line 1545
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 1546
            aload 1 /* sb */
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1547
            aload 1 /* sb */
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 1548
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // org.aspectj.apache.bcel.classfile.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  method  Lorg/aspectj/apache/bcel/classfile/Method;
            1    4     1      sb  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      method  

  private static org.aspectj.weaver.patterns.FormalBinding[] extractBindings(org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
         0: .line 1558
            aload 0 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.method:Lorg/aspectj/apache/bcel/classfile/Method;
            astore 1 /* method */
        start local 1 // org.aspectj.apache.bcel.classfile.Method method
         1: .line 1559
            aload 0 /* struct */
            invokevirtual org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.getArgumentNames:()[Ljava/lang/String;
            astore 2 /* argumentNames */
        start local 2 // java.lang.String[] argumentNames
         2: .line 1562
            aload 2 /* argumentNames */
            arraylength
            aload 1 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmpeq 7
         3: .line 1564
            ldc "Cannot read debug info for @Aspect to handle formal binding in pointcuts (please compile with 'javac -g' or '<javac debug='true'.../>' in Ant)"
         4: .line 1565
            aload 0 /* struct */
         5: .line 1563
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         6: .line 1566
            new org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
            dup
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException.<init>:()V
            athrow
         7: .line 1569
      StackMap locals: org.aspectj.apache.bcel.classfile.Method java.lang.String[]
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* bindings */
        start local 3 // java.util.List bindings
         8: .line 1570
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 21
        10: .line 1571
      StackMap locals: java.util.List int
      StackMap stack:
            aload 2 /* argumentNames */
            iload 4 /* i */
            aaload
            astore 5 /* argumentName */
        start local 5 // java.lang.String argumentName
        11: .line 1572
            aload 1 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            iload 4 /* i */
            aaload
            invokevirtual org.aspectj.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 6 /* argumentType */
        start local 6 // org.aspectj.weaver.UnresolvedType argumentType
        12: .line 1579
            getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_JOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            aload 6 /* argumentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 17
        13: .line 1580
            getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_PROCEEDINGJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            aload 6 /* argumentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 1581
            getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_STATICJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            aload 6 /* argumentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 1582
            getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_ENCLOSINGSTATICJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            aload 6 /* argumentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 17
            getstatic org.aspectj.weaver.AjcMemberMaker.AROUND_CLOSURE_TYPE:Lorg/aspectj/weaver/UnresolvedType;
        16: .line 1583
            aload 6 /* argumentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 1585
      StackMap locals: java.lang.String org.aspectj.weaver.UnresolvedType
      StackMap stack:
            aload 3 /* bindings */
            new org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding
            dup
            aload 6 /* argumentType */
            aload 5 /* argumentName */
            iload 4 /* i */
            invokespecial org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding.<init>:(Lorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 1586
            goto 20
        19: .line 1587
      StackMap locals:
      StackMap stack:
            aload 3 /* bindings */
            new org.aspectj.weaver.patterns.FormalBinding
            dup
            aload 6 /* argumentType */
            aload 5 /* argumentName */
            iload 4 /* i */
            invokespecial org.aspectj.weaver.patterns.FormalBinding.<init>:(Lorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.aspectj.weaver.UnresolvedType argumentType
        end local 5 // java.lang.String argumentName
        20: .line 1570
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 2 /* argumentNames */
            arraylength
            if_icmplt 10
        end local 4 // int i
        22: .line 1591
            aload 3 /* bindings */
            iconst_0
            anewarray org.aspectj.weaver.patterns.FormalBinding
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.FormalBinding[]
            areturn
        end local 3 // java.util.List bindings
        end local 2 // java.lang.String[] argumentNames
        end local 1 // org.aspectj.apache.bcel.classfile.Method method
        end local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0         struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            1   23     1         method  Lorg/aspectj/apache/bcel/classfile/Method;
            2   23     2  argumentNames  [Ljava/lang/String;
            8   23     3       bindings  Ljava/util/List<Lorg/aspectj/weaver/patterns/FormalBinding;>;
            9   22     4              i  I
           11   20     5   argumentName  Ljava/lang/String;
           12   20     6   argumentType  Lorg/aspectj/weaver/UnresolvedType;
    Exceptions:
      throws org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
        Name  Flags
      struct  

  private static org.aspectj.weaver.patterns.FormalBinding[] extractBindings(org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct, java.lang.String);
    descriptor: (Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;Ljava/lang/String;)[Lorg/aspectj/weaver/patterns/FormalBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
        start local 1 // java.lang.String excludeFormal
         0: .line 1597
            aload 0 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractBindings:(Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Lorg/aspectj/weaver/patterns/FormalBinding;
            astore 2 /* bindings */
        start local 2 // org.aspectj.weaver.patterns.FormalBinding[] bindings
         1: .line 1599
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 1600
      StackMap locals: org.aspectj.weaver.patterns.FormalBinding[] int
      StackMap stack:
            aload 2 /* bindings */
            iload 3 /* i */
            aaload
            astore 4 /* binding */
        start local 4 // org.aspectj.weaver.patterns.FormalBinding binding
         4: .line 1601
            aload 4 /* binding */
            invokevirtual org.aspectj.weaver.patterns.FormalBinding.getName:()Ljava/lang/String;
            aload 1 /* excludeFormal */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1603
            aload 2 /* bindings */
            iload 3 /* i */
            new org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding
            dup
            aload 4 /* binding */
            invokevirtual org.aspectj.weaver.patterns.FormalBinding.getType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 4 /* binding */
            invokevirtual org.aspectj.weaver.patterns.FormalBinding.getName:()Ljava/lang/String;
            aload 4 /* binding */
            invokevirtual org.aspectj.weaver.patterns.FormalBinding.getIndex:()I
            invokespecial org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding.<init>:(Lorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;I)V
            aastore
         6: .line 1604
            goto 9
        end local 4 // org.aspectj.weaver.patterns.FormalBinding binding
         7: .line 1599
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* bindings */
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 1607
      StackMap locals:
      StackMap stack:
            aload 2 /* bindings */
            areturn
        end local 2 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 1 // java.lang.String excludeFormal
        end local 0 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct struct
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0         struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            0   10     1  excludeFormal  Ljava/lang/String;
            1   10     2       bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
            2    9     3              i  I
            4    7     4        binding  Lorg/aspectj/weaver/patterns/FormalBinding;
    Exceptions:
      throws org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
    MethodParameters:
               Name  Flags
      struct         
      excludeFormal  

  private static int extractExtraArgument(org.aspectj.apache.bcel.classfile.Method);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Method;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.aspectj.apache.bcel.classfile.Method method
         0: .line 1635
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            astore 1 /* methodArgs */
        start local 1 // org.aspectj.apache.bcel.generic.Type[] methodArgs
         1: .line 1636
            aload 1 /* methodArgs */
            arraylength
            anewarray java.lang.String
            astore 2 /* sigs */
        start local 2 // java.lang.String[] sigs
         2: .line 1637
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1638
      StackMap locals: org.aspectj.apache.bcel.generic.Type[] java.lang.String[] int
      StackMap stack:
            aload 2 /* sigs */
            iload 3 /* i */
            aload 1 /* methodArgs */
            iload 3 /* i */
            aaload
            invokevirtual org.aspectj.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            aastore
         5: .line 1637
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* methodArgs */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 1640
            aload 2 /* sigs */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractExtraArgument:([Ljava/lang/String;)I
            ireturn
        end local 2 // java.lang.String[] sigs
        end local 1 // org.aspectj.apache.bcel.generic.Type[] methodArgs
        end local 0 // org.aspectj.apache.bcel.classfile.Method method
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0      method  Lorg/aspectj/apache/bcel/classfile/Method;
            1    8     1  methodArgs  [Lorg/aspectj/apache/bcel/generic/Type;
            2    8     2        sigs  [Ljava/lang/String;
            3    7     3           i  I
    MethodParameters:
        Name  Flags
      method  

  public static int extractExtraArgument(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String[] argumentSignatures
         0: .line 1650
            iconst_0
            istore 1 /* extraArgument */
        start local 1 // int extraArgument
         1: .line 1651
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 15
         3: .line 1652
      StackMap locals: int int
      StackMap stack:
            getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_JOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            aload 0 /* argumentSignatures */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 1653
            iload 1 /* extraArgument */
            iconst_2
            ior
            istore 1 /* extraArgument */
         5: .line 1654
            goto 14
      StackMap locals:
      StackMap stack:
         6: getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_PROCEEDINGJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            aload 0 /* argumentSignatures */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 1655
            iload 1 /* extraArgument */
            iconst_2
            ior
            istore 1 /* extraArgument */
         8: .line 1656
            goto 14
      StackMap locals:
      StackMap stack:
         9: getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_STATICJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            aload 0 /* argumentSignatures */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 1657
            iload 1 /* extraArgument */
            iconst_4
            ior
            istore 1 /* extraArgument */
        11: .line 1658
            goto 14
      StackMap locals:
      StackMap stack:
        12: getstatic org.aspectj.weaver.AjcMemberMaker.TYPEX_ENCLOSINGSTATICJOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            aload 0 /* argumentSignatures */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1659
            iload 1 /* extraArgument */
            bipush 8
            ior
            istore 1 /* extraArgument */
        14: .line 1651
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* argumentSignatures */
            arraylength
            if_icmplt 3
        end local 2 // int i
        16: .line 1662
            iload 1 /* extraArgument */
            ireturn
        end local 1 // int extraArgument
        end local 0 // java.lang.String[] argumentSignatures
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0  argumentSignatures  [Ljava/lang/String;
            1   17     1       extraArgument  I
            2   16     2                   i  I
    MethodParameters:
                    Name  Flags
      argumentSignatures  

  private static org.aspectj.apache.bcel.classfile.annotation.AnnotationGen getAnnotation(org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos, org.aspectj.weaver.UnresolvedType);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
        start local 1 // org.aspectj.weaver.UnresolvedType annotationType
         0: .line 1673
            aload 1 /* annotationType */
            invokevirtual org.aspectj.weaver.UnresolvedType.getName:()Ljava/lang/String;
            astore 2 /* annotationTypeName */
        start local 2 // java.lang.String annotationTypeName
         1: .line 1674
            aload 0 /* rvs */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos.getAnnotations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos org.aspectj.weaver.UnresolvedType java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.apache.bcel.classfile.annotation.AnnotationGen
            astore 3 /* rv */
        start local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen rv
         3: .line 1675
            aload 2 /* annotationTypeName */
            aload 3 /* rv */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.AnnotationGen.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1676
            aload 3 /* rv */
            areturn
        end local 3 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen rv
         5: .line 1674
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1679
            aconst_null
            areturn
        end local 2 // java.lang.String annotationTypeName
        end local 1 // org.aspectj.weaver.UnresolvedType annotationType
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.RuntimeAnnos rvs
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                 rvs  Lorg/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos;
            0    7     1      annotationType  Lorg/aspectj/weaver/UnresolvedType;
            1    7     2  annotationTypeName  Ljava/lang/String;
            3    5     3                  rv  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
    MethodParameters:
                Name  Flags
      rvs             
      annotationType  

  private static org.aspectj.apache.bcel.classfile.annotation.NameValuePair getAnnotationElement(org.aspectj.apache.bcel.classfile.annotation.AnnotationGen, java.lang.String);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Ljava/lang/String;)Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen annotation
        start local 1 // java.lang.String elementName
         0: .line 1690
            aload 0 /* annotation */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.AnnotationGen.getValues:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.apache.bcel.classfile.annotation.NameValuePair
            astore 2 /* element */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair element
         2: .line 1691
            aload 1 /* elementName */
            aload 2 /* element */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getNameString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1692
            aload 2 /* element */
            areturn
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair element
         4: .line 1690
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1695
            aconst_null
            areturn
        end local 1 // java.lang.String elementName
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen annotation
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0   annotation  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            0    6     1  elementName  Ljava/lang/String;
            2    4     2      element  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
    MethodParameters:
             Name  Flags
      annotation   
      elementName  

  private static java.lang.String getArgNamesValue(org.aspectj.apache.bcel.classfile.annotation.AnnotationGen);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen anno
         0: .line 1702
            aload 0 /* anno */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.AnnotationGen.getValues:()Ljava/util/List;
            astore 1 /* elements */
        start local 1 // java.util.List elements
         1: .line 1703
            aload 1 /* elements */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.aspectj.apache.bcel.classfile.annotation.AnnotationGen java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.apache.bcel.classfile.annotation.NameValuePair
            astore 2 /* element */
        start local 2 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair element
         3: .line 1704
            ldc "argNames"
            aload 2 /* element */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getNameString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1705
            aload 2 /* element */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.NameValuePair.getValue:()Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.stringifyValue:()Ljava/lang/String;
            areturn
        end local 2 // org.aspectj.apache.bcel.classfile.annotation.NameValuePair element
         5: .line 1703
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1708
            aconst_null
            areturn
        end local 1 // java.util.List elements
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.AnnotationGen anno
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      anno  Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            1    7     1  elements  Ljava/util/List<Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;>;
            3    5     2   element  Lorg/aspectj/apache/bcel/classfile/annotation/NameValuePair;
    MethodParameters:
      Name  Flags
      anno  

  private static java.lang.String lastbit(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String fqname
         0: .line 1712
            aload 0 /* fqname */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 1713
            iload 1 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1714
            aload 0 /* fqname */
            areturn
         3: .line 1716
      StackMap locals: int
      StackMap stack:
            aload 0 /* fqname */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // java.lang.String fqname
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  fqname  Ljava/lang/String;
            1    4     1       i  I
    MethodParameters:
        Name  Flags
      fqname  

  private static java.lang.String[] getMethodArgumentNames(org.aspectj.apache.bcel.classfile.Method, java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Method;Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.Method method
        start local 1 // java.lang.String argNamesFromAnnotation
        start local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodStruct
         0: .line 1732
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            ifne 2
         1: .line 1733
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.EMPTY_STRINGS:[Ljava/lang/String;
            areturn
         2: .line 1736
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.isStatic:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* startAtStackIndex */
        start local 3 // int startAtStackIndex
         5: .line 1737
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* arguments */
        start local 4 // java.util.List arguments
         6: .line 1738
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getLocalVariableTable:()Lorg/aspectj/apache/bcel/classfile/LocalVariableTable;
            astore 5 /* lt */
        start local 5 // org.aspectj.apache.bcel.classfile.LocalVariableTable lt
         7: .line 1739
            aload 5 /* lt */
            ifnull 41
         8: .line 1740
            aload 5 /* lt */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariableTable.getLocalVariableTable:()[Lorg/aspectj/apache/bcel/classfile/LocalVariable;
            astore 6 /* lvt */
        start local 6 // org.aspectj.apache.bcel.classfile.LocalVariable[] lvt
         9: .line 1741
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        10: goto 24
        11: .line 1742
      StackMap locals: org.aspectj.apache.bcel.classfile.Method java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct int java.util.List org.aspectj.apache.bcel.classfile.LocalVariableTable org.aspectj.apache.bcel.classfile.LocalVariable[] int
      StackMap stack:
            aload 6 /* lvt */
            iload 7 /* j */
            aaload
            astore 8 /* localVariable */
        start local 8 // org.aspectj.apache.bcel.classfile.LocalVariable localVariable
        12: .line 1743
            aload 8 /* localVariable */
            ifnull 17
        13: .line 1744
            aload 8 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getStartPC:()I
            ifne 23
        14: .line 1745
            aload 8 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getIndex:()I
            iload 3 /* startAtStackIndex */
            if_icmplt 23
        15: .line 1746
            aload 4 /* arguments */
            new org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument
            dup
            aload 8 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getName:()Ljava/lang/String;
            aload 8 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getIndex:()I
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument.<init>:(Ljava/lang/String;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1749
            goto 23
        17: .line 1750
      StackMap locals: org.aspectj.apache.bcel.classfile.LocalVariable
      StackMap stack:
            aload 2 /* methodStruct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            ifnull 18
            aload 2 /* methodStruct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            goto 19
      StackMap locals:
      StackMap stack:
        18: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 9 /* typename */
        start local 9 // java.lang.String typename
        20: .line 1751
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "AspectJ: 348488 debug: unusual local variable table for method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* typename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1752
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1751
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // java.lang.String typename
        end local 8 // org.aspectj.apache.bcel.classfile.LocalVariable localVariable
        23: .line 1741
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* j */
            aload 6 /* lvt */
            arraylength
            if_icmplt 11
        end local 7 // int j
        25: .line 1755
            aload 4 /* arguments */
            invokeinterface java.util.List.size:()I
            ifne 45
        26: .line 1758
            aload 1 /* argNamesFromAnnotation */
            ifnull 30
        27: .line 1759
            aload 0 /* method */
            aload 1 /* argNamesFromAnnotation */
            aload 2 /* methodStruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractArgNamesFromAnnotationValue:(Lorg/aspectj/apache/bcel/classfile/Method;Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Ljava/lang/String;
            astore 7 /* argNames */
        start local 7 // java.lang.String[] argNames
        28: .line 1760
            aload 7 /* argNames */
            arraylength
            ifeq 30
        29: .line 1761
            aload 7 /* argNames */
            areturn
        end local 7 // java.lang.String[] argNames
        30: .line 1770
      StackMap locals:
      StackMap stack:
            aload 6 /* lvt */
            iconst_0
            aaload
            astore 7 /* localVariable */
        start local 7 // org.aspectj.apache.bcel.classfile.LocalVariable localVariable
        31: .line 1771
            aload 7 /* localVariable */
            ifnull 45
        32: .line 1772
            aload 7 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getStartPC:()I
            ifeq 45
        33: .line 1774
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        34: goto 39
        35: .line 1775
      StackMap locals: org.aspectj.apache.bcel.classfile.LocalVariable int
      StackMap stack:
            aload 6 /* lvt */
            iload 8 /* j */
            aaload
            astore 7 /* localVariable */
        36: .line 1776
            aload 7 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getIndex:()I
            iload 3 /* startAtStackIndex */
            if_icmplt 38
        37: .line 1777
            aload 4 /* arguments */
            new org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument
            dup
            aload 7 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getName:()Ljava/lang/String;
            aload 7 /* localVariable */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getIndex:()I
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument.<init>:(Ljava/lang/String;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1774
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        39: iload 8 /* j */
            aload 6 /* lvt */
            arraylength
            if_icmpge 45
            aload 4 /* arguments */
            invokeinterface java.util.List.size:()I
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmplt 35
        end local 8 // int j
        end local 7 // org.aspectj.apache.bcel.classfile.LocalVariable localVariable
        end local 6 // org.aspectj.apache.bcel.classfile.LocalVariable[] lvt
        40: .line 1783
            goto 45
        41: .line 1784
      StackMap locals:
      StackMap stack:
            aload 1 /* argNamesFromAnnotation */
            ifnull 45
        42: .line 1785
            aload 0 /* method */
            aload 1 /* argNamesFromAnnotation */
            aload 2 /* methodStruct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.extractArgNamesFromAnnotationValue:(Lorg/aspectj/apache/bcel/classfile/Method;Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Ljava/lang/String;
            astore 6 /* argNames */
        start local 6 // java.lang.String[] argNames
        43: .line 1786
            aload 6 /* argNames */
            ifnull 45
        44: .line 1787
            aload 6 /* argNames */
            areturn
        end local 6 // java.lang.String[] argNames
        45: .line 1792
      StackMap locals:
      StackMap stack:
            aload 4 /* arguments */
            invokeinterface java.util.List.size:()I
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmpeq 47
        46: .line 1793
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.EMPTY_STRINGS:[Ljava/lang/String;
            areturn
        47: .line 1797
      StackMap locals:
      StackMap stack:
            aload 4 /* arguments */
            new org.aspectj.weaver.bcel.AtAjAttributes$1
            dup
            invokespecial org.aspectj.weaver.bcel.AtAjAttributes$1.<init>:()V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        48: .line 1808
            aload 4 /* arguments */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 6 /* argumentNames */
        start local 6 // java.lang.String[] argumentNames
        49: .line 1809
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        50: .line 1810
            aload 4 /* arguments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 53
      StackMap locals: org.aspectj.apache.bcel.classfile.Method java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct int java.util.List org.aspectj.apache.bcel.classfile.LocalVariableTable java.lang.String[] int top java.util.Iterator
      StackMap stack:
        51: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument
            astore 8 /* methodArgument */
        start local 8 // org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument methodArgument
        52: .line 1811
            aload 6 /* argumentNames */
            iload 7 /* i */
            iinc 7 /* i */ 1
            aload 8 /* methodArgument */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument.name:Ljava/lang/String;
            aastore
        end local 8 // org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument methodArgument
        53: .line 1810
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 51
        54: .line 1813
            aload 6 /* argumentNames */
            areturn
        end local 7 // int i
        end local 6 // java.lang.String[] argumentNames
        end local 5 // org.aspectj.apache.bcel.classfile.LocalVariableTable lt
        end local 4 // java.util.List arguments
        end local 3 // int startAtStackIndex
        end local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodStruct
        end local 1 // java.lang.String argNamesFromAnnotation
        end local 0 // org.aspectj.apache.bcel.classfile.Method method
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   55     0                  method  Lorg/aspectj/apache/bcel/classfile/Method;
            0   55     1  argNamesFromAnnotation  Ljava/lang/String;
            0   55     2            methodStruct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            5   55     3       startAtStackIndex  I
            6   55     4               arguments  Ljava/util/List<Lorg/aspectj/weaver/bcel/AtAjAttributes$MethodArgument;>;
            7   55     5                      lt  Lorg/aspectj/apache/bcel/classfile/LocalVariableTable;
            9   40     6                     lvt  [Lorg/aspectj/apache/bcel/classfile/LocalVariable;
           10   25     7                       j  I
           12   23     8           localVariable  Lorg/aspectj/apache/bcel/classfile/LocalVariable;
           20   23     9                typename  Ljava/lang/String;
           28   30     7                argNames  [Ljava/lang/String;
           31   40     7           localVariable  Lorg/aspectj/apache/bcel/classfile/LocalVariable;
           34   40     8                       j  I
           43   45     6                argNames  [Ljava/lang/String;
           49   55     6           argumentNames  [Ljava/lang/String;
           50   55     7                       i  I
           52   53     8          methodArgument  Lorg/aspectj/weaver/bcel/AtAjAttributes$MethodArgument;
    MethodParameters:
                        Name  Flags
      method                  
      argNamesFromAnnotation  
      methodStruct            

  private static java.lang.String[] extractArgNamesFromAnnotationValue(org.aspectj.apache.bcel.classfile.Method, java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/Method;Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.Method method
        start local 1 // java.lang.String argNamesFromAnnotation
        start local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodStruct
         0: .line 1818
            new java.util.StringTokenizer
            dup
            aload 1 /* argNamesFromAnnotation */
            ldc " ,"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
         1: .line 1819
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* args */
        start local 4 // java.util.List args
         2: .line 1820
            goto 4
         3: .line 1821
      StackMap locals: java.util.StringTokenizer java.util.List
      StackMap stack:
            aload 4 /* args */
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1820
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         5: .line 1823
            aload 4 /* args */
            invokeinterface java.util.List.size:()I
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmpeq 25
         6: .line 1824
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getReturnType:()Lorg/aspectj/apache/bcel/generic/Type;
            invokevirtual org.aspectj.apache.bcel.generic.Type.toString:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.lastbit:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         7: .line 1825
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         8: .line 1824
            astore 5 /* shortString */
        start local 5 // java.lang.StringBuffer shortString
         9: .line 1826
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            ifle 19
        10: .line 1827
            aload 5 /* shortString */
            ldc "("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 1828
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 17
        13: .line 1829
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 5 /* shortString */
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            iload 6 /* i */
            aaload
            invokevirtual org.aspectj.apache.bcel.generic.Type.toString:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.lastbit:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 1830
            iload 6 /* i */
            iconst_1
            iadd
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmpge 16
        15: .line 1831
            aload 5 /* shortString */
            ldc ","
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 1828
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 0 /* method */
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getArgumentTypes:()[Lorg/aspectj/apache/bcel/generic/Type;
            arraylength
            if_icmplt 13
        end local 6 // int i
        18: .line 1835
            aload 5 /* shortString */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 1837
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "argNames annotation value does not specify the right number of argument names for the method '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 1838
            aload 5 /* shortString */
            invokevirtual java.lang.StringBuffer.toString:()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;
        21: .line 1837
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1838
            aload 2 /* methodStruct */
        23: .line 1837
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        24: .line 1839
            getstatic org.aspectj.weaver.bcel.AtAjAttributes.EMPTY_STRINGS:[Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuffer shortString
        25: .line 1841
      StackMap locals:
      StackMap stack:
            aload 4 /* args */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 4 // java.util.List args
        end local 3 // java.util.StringTokenizer st
        end local 2 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct methodStruct
        end local 1 // java.lang.String argNamesFromAnnotation
        end local 0 // org.aspectj.apache.bcel.classfile.Method method
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   26     0                  method  Lorg/aspectj/apache/bcel/classfile/Method;
            0   26     1  argNamesFromAnnotation  Ljava/lang/String;
            0   26     2            methodStruct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeMethodStruct;
            1   26     3                      st  Ljava/util/StringTokenizer;
            2   26     4                    args  Ljava/util/List<Ljava/lang/String;>;
            9   25     5             shortString  Ljava/lang/StringBuffer;
           12   18     6                       i  I
    MethodParameters:
                        Name  Flags
      method                  
      argNamesFromAnnotation  
      methodStruct            

  private static boolean isNullOrEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1899
            aload 0 /* s */
            ifnull 1
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static void setIgnoreUnboundBindingNames(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.patterns.FormalBinding[]);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;[Lorg/aspectj/weaver/patterns/FormalBinding;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut pointcut
        start local 1 // org.aspectj.weaver.patterns.FormalBinding[] bindings
         0: .line 1911
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* ignores */
        start local 2 // java.util.List ignores
         1: .line 1912
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 1913
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* bindings */
            iload 3 /* i */
            aaload
            astore 4 /* formalBinding */
        start local 4 // org.aspectj.weaver.patterns.FormalBinding formalBinding
         4: .line 1914
            aload 4 /* formalBinding */
            instanceof org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding
            ifeq 6
         5: .line 1915
            aload 2 /* ignores */
            aload 4 /* formalBinding */
            invokevirtual org.aspectj.weaver.patterns.FormalBinding.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.aspectj.weaver.patterns.FormalBinding formalBinding
         6: .line 1912
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* bindings */
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 1918
            aload 0 /* pointcut */
            aload 2 /* ignores */
            aload 2 /* ignores */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
         9: .line 1919
            return
        end local 2 // java.util.List ignores
        end local 1 // org.aspectj.weaver.patterns.FormalBinding[] bindings
        end local 0 // org.aspectj.weaver.patterns.Pointcut pointcut
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0       pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0   10     1       bindings  [Lorg/aspectj/weaver/patterns/FormalBinding;
            1   10     2        ignores  Ljava/util/List<Ljava/lang/String;>;
            2    8     3              i  I
            4    6     4  formalBinding  Lorg/aspectj/weaver/patterns/FormalBinding;
    MethodParameters:
          Name  Flags
      pointcut  
      bindings  

  private static void reportError(java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
         0: .line 1934
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.handler:Lorg/aspectj/bridge/IMessageHandler;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            invokeinterface org.aspectj.bridge.IMessageHandler.isIgnoring:(Lorg/aspectj/bridge/IMessage$Kind;)Z
            ifne 2
         1: .line 1935
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.handler:Lorg/aspectj/bridge/IMessageHandler;
            new org.aspectj.bridge.Message
            dup
            aload 0 /* message */
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_1
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
         2: .line 1937
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   message  Ljava/lang/String;
            0    3     1  location  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
    MethodParameters:
          Name  Flags
      message   
      location  

  private static void reportWarning(java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
         0: .line 1952
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.handler:Lorg/aspectj/bridge/IMessageHandler;
            getstatic org.aspectj.bridge.IMessage.WARNING:Lorg/aspectj/bridge/IMessage$Kind;
            invokeinterface org.aspectj.bridge.IMessageHandler.isIgnoring:(Lorg/aspectj/bridge/IMessage$Kind;)Z
            ifne 2
         1: .line 1953
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.handler:Lorg/aspectj/bridge/IMessageHandler;
            new org.aspectj.bridge.Message
            dup
            aload 0 /* message */
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_0
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
         2: .line 1955
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   message  Ljava/lang/String;
            0    3     1  location  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
    MethodParameters:
          Name  Flags
      message   
      location  

  private static org.aspectj.weaver.patterns.Pointcut parsePointcut(java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct, boolean);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;Z)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String pointcutString
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        start local 2 // boolean allowIf
         0: .line 1967
            new org.aspectj.weaver.patterns.PatternParser
            dup
            aload 0 /* pointcutString */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.context:Lorg/aspectj/weaver/ISourceContext;
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/ISourceContext;)V
            astore 3 /* parser */
        start local 3 // org.aspectj.weaver.patterns.PatternParser parser
         1: .line 1968
            aload 3 /* parser */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* pointcut */
        start local 4 // org.aspectj.weaver.patterns.Pointcut pointcut
         2: .line 1969
            aload 3 /* parser */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.checkEof:()V
         3: .line 1970
            aload 4 /* pointcut */
            aconst_null
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.enclosingType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.patterns.Pointcut.check:(Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/weaver/World;)V
         4: .line 1971
            iload 2 /* allowIf */
            ifne 7
            aload 0 /* pointcutString */
            ldc "if()"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 7
            aload 4 /* pointcut */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.hasIf:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
            ifeq 7
         5: .line 1972
            new java.lang.StringBuilder
            dup
            ldc "if() pointcut is not allowed at this pointcut location '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* pointcutString */
            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;
            aload 1 /* struct */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         6: .line 1973
            aconst_null
            areturn
         7: .line 1975
      StackMap locals: org.aspectj.weaver.patterns.PatternParser org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 4 /* pointcut */
            aload 1 /* struct */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.Pointcut.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
         8: .line 1977
            aload 4 /* pointcut */
         9: areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 3 // org.aspectj.weaver.patterns.PatternParser parser
        10: .line 1978
      StackMap locals: java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct int
      StackMap stack: org.aspectj.weaver.patterns.ParserException
            astore 3 /* e */
        start local 3 // org.aspectj.weaver.patterns.ParserException e
        11: .line 1979
            new java.lang.StringBuilder
            dup
            ldc "Invalid pointcut '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* pointcutString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual org.aspectj.weaver.patterns.ParserException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1980
            aload 3 /* e */
            invokevirtual org.aspectj.weaver.patterns.ParserException.getLocation:()Lorg/aspectj/weaver/IHasPosition;
            ifnonnull 13
            ldc ""
            goto 14
      StackMap locals: java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct int org.aspectj.weaver.patterns.ParserException
      StackMap stack: java.lang.StringBuilder
        13: new java.lang.StringBuilder
            dup
            ldc " at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual org.aspectj.weaver.patterns.ParserException.getLocation:()Lorg/aspectj/weaver/IHasPosition;
            invokeinterface org.aspectj.weaver.IHasPosition.getStart:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: java.lang.String org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct int org.aspectj.weaver.patterns.ParserException
      StackMap stack: java.lang.StringBuilder java.lang.String
        14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1979
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1980
            aload 1 /* struct */
        17: .line 1979
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
        18: .line 1981
            aconst_null
            areturn
        end local 3 // org.aspectj.weaver.patterns.ParserException e
        end local 2 // boolean allowIf
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct struct
        end local 0 // java.lang.String pointcutString
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0  pointcutString  Ljava/lang/String;
            0   19     1          struct  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
            0   19     2         allowIf  Z
            1   10     3          parser  Lorg/aspectj/weaver/patterns/PatternParser;
            2   10     4        pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
           11   19     3               e  Lorg/aspectj/weaver/patterns/ParserException;
      Exception table:
        from    to  target  type
           0     6      10  Class org.aspectj.weaver.patterns.ParserException
           7     9      10  Class org.aspectj.weaver.patterns.ParserException
    MethodParameters:
                Name  Flags
      pointcutString  
      struct          
      allowIf         

  private static boolean hasIf(org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut pointcut
         0: .line 1986
            new org.aspectj.weaver.bcel.IfFinder
            dup
            invokespecial org.aspectj.weaver.bcel.IfFinder.<init>:()V
            astore 1 /* visitor */
        start local 1 // org.aspectj.weaver.bcel.IfFinder visitor
         1: .line 1987
            aload 0 /* pointcut */
            aload 1 /* visitor */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.Pointcut.accept:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1988
            aload 1 /* visitor */
            getfield org.aspectj.weaver.bcel.IfFinder.hasIf:Z
            ireturn
        end local 1 // org.aspectj.weaver.bcel.IfFinder visitor
        end local 0 // org.aspectj.weaver.patterns.Pointcut pointcut
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            1    3     1   visitor  Lorg/aspectj/weaver/bcel/IfFinder;
    MethodParameters:
          Name  Flags
      pointcut  

  private static org.aspectj.weaver.patterns.TypePattern parseTypePattern(java.lang.String, org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String patternString
        start local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
         0: .line 2000
            new org.aspectj.weaver.patterns.PatternParser
            dup
            aload 0 /* patternString */
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Ljava/lang/String;)V
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* typePattern */
        start local 2 // org.aspectj.weaver.patterns.TypePattern typePattern
         1: .line 2001
            aload 2 /* typePattern */
            aload 1 /* location */
            getfield org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct.context:Lorg/aspectj/weaver/ISourceContext;
            iconst_m1
            iconst_m1
            invokevirtual org.aspectj.weaver.patterns.TypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
         2: .line 2004
            aload 2 /* typePattern */
         3: areturn
        end local 2 // org.aspectj.weaver.patterns.TypePattern typePattern
         4: .line 2005
      StackMap locals:
      StackMap stack: org.aspectj.weaver.patterns.ParserException
            astore 2 /* e */
        start local 2 // org.aspectj.weaver.patterns.ParserException e
         5: .line 2006
            new java.lang.StringBuilder
            dup
            ldc "Invalid type pattern'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* patternString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual org.aspectj.weaver.patterns.ParserException.getLocation:()Lorg/aspectj/weaver/IHasPosition;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* location */
            invokestatic org.aspectj.weaver.bcel.AtAjAttributes.reportError:(Ljava/lang/String;Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;)V
         6: .line 2007
            aconst_null
            areturn
        end local 2 // org.aspectj.weaver.patterns.ParserException e
        end local 1 // org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct location
        end local 0 // java.lang.String patternString
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0  patternString  Ljava/lang/String;
            0    7     1       location  Lorg/aspectj/weaver/bcel/AtAjAttributes$AjAttributeStruct;
            1    4     2    typePattern  Lorg/aspectj/weaver/patterns/TypePattern;
            5    7     2              e  Lorg/aspectj/weaver/patterns/ParserException;
      Exception table:
        from    to  target  type
           0     3       4  Class org.aspectj.weaver.patterns.ParserException
    MethodParameters:
               Name  Flags
      patternString  
      location       
}
SourceFile: "AtAjAttributes.java"
NestMembers:
  org.aspectj.weaver.bcel.AtAjAttributes$1  org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct  org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct  org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct  org.aspectj.weaver.bcel.AtAjAttributes$LazyResolvedPointcutDefinition  org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument  org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException  org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException  org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException
InnerClasses:
  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 AdviceAttribute = org.aspectj.weaver.AjAttribute$AdviceAttribute of org.aspectj.weaver.AjAttribute
  public Aspect = org.aspectj.weaver.AjAttribute$Aspect of org.aspectj.weaver.AjAttribute
  public DeclareAttribute = org.aspectj.weaver.AjAttribute$DeclareAttribute of org.aspectj.weaver.AjAttribute
  public PointcutDeclarationAttribute = org.aspectj.weaver.AjAttribute$PointcutDeclarationAttribute of org.aspectj.weaver.AjAttribute
  public TypeMunger = org.aspectj.weaver.AjAttribute$TypeMunger of org.aspectj.weaver.AjAttribute
  public WeaverVersionInfo = org.aspectj.weaver.AjAttribute$WeaverVersionInfo of org.aspectj.weaver.AjAttribute
  public FieldHostTypeMunger = org.aspectj.weaver.MethodDelegateTypeMunger$FieldHostTypeMunger of org.aspectj.weaver.MethodDelegateTypeMunger
  org.aspectj.weaver.bcel.AtAjAttributes$1
  private AjAttributeFieldStruct = org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeFieldStruct of org.aspectj.weaver.bcel.AtAjAttributes
  private AjAttributeMethodStruct = org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeMethodStruct of org.aspectj.weaver.bcel.AtAjAttributes
  private AjAttributeStruct = org.aspectj.weaver.bcel.AtAjAttributes$AjAttributeStruct of org.aspectj.weaver.bcel.AtAjAttributes
  public LazyResolvedPointcutDefinition = org.aspectj.weaver.bcel.AtAjAttributes$LazyResolvedPointcutDefinition of org.aspectj.weaver.bcel.AtAjAttributes
  private MethodArgument = org.aspectj.weaver.bcel.AtAjAttributes$MethodArgument of org.aspectj.weaver.bcel.AtAjAttributes
  ReturningFormalNotDeclaredInAdviceSignatureException = org.aspectj.weaver.bcel.AtAjAttributes$ReturningFormalNotDeclaredInAdviceSignatureException of org.aspectj.weaver.bcel.AtAjAttributes
  ThrownFormalNotDeclaredInAdviceSignatureException = org.aspectj.weaver.bcel.AtAjAttributes$ThrownFormalNotDeclaredInAdviceSignatureException of org.aspectj.weaver.bcel.AtAjAttributes
  private UnreadableDebugInfoException = org.aspectj.weaver.bcel.AtAjAttributes$UnreadableDebugInfoException of org.aspectj.weaver.bcel.AtAjAttributes
  public ImplicitFormalBinding = org.aspectj.weaver.patterns.FormalBinding$ImplicitFormalBinding of org.aspectj.weaver.patterns.FormalBinding
  public Kind = org.aspectj.weaver.patterns.PerClause$Kind of org.aspectj.weaver.patterns.PerClause
  public KindAnnotationPrefix = org.aspectj.weaver.patterns.PerClause$KindAnnotationPrefix of org.aspectj.weaver.patterns.PerClause