class org.aspectj.weaver.bcel.BcelAdvice extends org.aspectj.weaver.Advice
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.aspectj.weaver.bcel.BcelAdvice
  super_class: org.aspectj.weaver.Advice
{
  private org.aspectj.weaver.ast.Test runtimeTest;
    descriptor: Lorg/aspectj/weaver/ast/Test;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.patterns.ExposedState exposedState;
    descriptor: Lorg/aspectj/weaver/patterns/ExposedState;
    flags: (0x0002) ACC_PRIVATE

  private int containsInvokedynamic;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.Collection<org.aspectj.weaver.ResolvedType> thrownExceptions;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedType;>;

  public void <init>(org.aspectj.weaver.AjAttribute$AdviceAttribute, org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.Member, org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/Member;Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.AjAttribute$AdviceAttribute attribute
        start local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        start local 3 // org.aspectj.weaver.Member adviceSignature
        start local 4 // org.aspectj.weaver.ResolvedType concreteAspect
         0: .line 76
            aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* pointcut */
            aload 1 /* attribute */
            invokevirtual org.aspectj.weaver.AjAttribute$AdviceAttribute.getKind:()Lorg/aspectj/weaver/AdviceKind;
            aload 3 /* adviceSignature */
            invokestatic org.aspectj.weaver.bcel.BcelAdvice.simplify:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/Member;
            invokespecial org.aspectj.weaver.Advice.<init>:(Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/Member;)V
         1: .line 73
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.bcel.BcelAdvice.containsInvokedynamic:I
         2: .line 450
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
         3: .line 77
            aload 0 /* this */
            aload 4 /* concreteAspect */
            putfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
         4: .line 78
            return
        end local 4 // org.aspectj.weaver.ResolvedType concreteAspect
        end local 3 // org.aspectj.weaver.Member adviceSignature
        end local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // org.aspectj.weaver.AjAttribute$AdviceAttribute attribute
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    5     1        attribute  Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;
            0    5     2         pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0    5     3  adviceSignature  Lorg/aspectj/weaver/Member;
            0    5     4   concreteAspect  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
                 Name  Flags
      attribute        
      pointcut         
      adviceSignature  
      concreteAspect   

  public boolean bindsProceedingJoinPoint();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 81
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            astore 1 /* parameterTypes */
        start local 1 // org.aspectj.weaver.UnresolvedType[] parameterTypes
         1: .line 82
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 83
      StackMap locals: org.aspectj.weaver.UnresolvedType[] int
      StackMap stack:
            aload 1 /* parameterTypes */
            iload 2 /* i */
            aaload
            getstatic org.aspectj.weaver.UnresolvedType.PROCEEDING_JOINPOINT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 84
            iconst_1
            ireturn
         5: .line 82
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* parameterTypes */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 87
            iconst_0
            ireturn
        end local 1 // org.aspectj.weaver.UnresolvedType[] parameterTypes
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            1    8     1  parameterTypes  [Lorg/aspectj/weaver/UnresolvedType;
            2    7     2               i  I

  private static org.aspectj.weaver.Member simplify(org.aspectj.weaver.AdviceKind, org.aspectj.weaver.Member);
    descriptor: (Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/Member;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.AdviceKind kind
        start local 1 // org.aspectj.weaver.Member adviceSignature
         0: .line 95
            aload 1 /* adviceSignature */
            ifnull 14
         1: .line 96
            aload 1 /* adviceSignature */
            invokeinterface org.aspectj.weaver.Member.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            astore 2 /* adviceDeclaringType */
        start local 2 // org.aspectj.weaver.UnresolvedType adviceDeclaringType
         2: .line 98
            aload 0 /* kind */
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 5
         3: .line 99
            aload 2 /* adviceDeclaringType */
            instanceof org.aspectj.weaver.ResolvedType
            ifeq 14
            aload 2 /* adviceDeclaringType */
            checkcast org.aspectj.weaver.ResolvedType
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
         4: .line 100
            invokevirtual org.aspectj.weaver.World.isXnoInline:()Z
            ifeq 14
         5: .line 101
      StackMap locals: org.aspectj.weaver.UnresolvedType
      StackMap stack:
            aload 1 /* adviceSignature */
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 14
         6: .line 102
            aload 1 /* adviceSignature */
            checkcast org.aspectj.weaver.bcel.BcelMethod
            astore 3 /* bm */
        start local 3 // org.aspectj.weaver.bcel.BcelMethod bm
         7: .line 103
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getMethod:()Lorg/aspectj/apache/bcel/classfile/Method;
            ifnull 9
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getMethod:()Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getAnnotations:()[Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            ifnull 9
         8: .line 104
            aload 1 /* adviceSignature */
            areturn
         9: .line 106
      StackMap locals: org.aspectj.weaver.bcel.BcelMethod
      StackMap stack:
            new org.aspectj.weaver.ResolvedMemberImpl
            dup
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getKind:()Lorg/aspectj/weaver/MemberKind;
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
        10: .line 107
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getModifiers:()I
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getName:()Ljava/lang/String;
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
        11: .line 106
            invokespecial org.aspectj.weaver.ResolvedMemberImpl.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/UnresolvedType;ILorg/aspectj/weaver/UnresolvedType;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            astore 4 /* simplermember */
        start local 4 // org.aspectj.weaver.ResolvedMemberImpl simplermember
        12: .line 109
            aload 4 /* simplermember */
            aload 3 /* bm */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getParameterNames:()[Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ResolvedMemberImpl.setParameterNames:([Ljava/lang/String;)V
        13: .line 110
            aload 4 /* simplermember */
            areturn
        end local 4 // org.aspectj.weaver.ResolvedMemberImpl simplermember
        end local 3 // org.aspectj.weaver.bcel.BcelMethod bm
        end local 2 // org.aspectj.weaver.UnresolvedType adviceDeclaringType
        14: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* adviceSignature */
            areturn
        end local 1 // org.aspectj.weaver.Member adviceSignature
        end local 0 // org.aspectj.weaver.AdviceKind kind
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 kind  Lorg/aspectj/weaver/AdviceKind;
            0   15     1      adviceSignature  Lorg/aspectj/weaver/Member;
            2   14     2  adviceDeclaringType  Lorg/aspectj/weaver/UnresolvedType;
            7   14     3                   bm  Lorg/aspectj/weaver/bcel/BcelMethod;
           12   14     4        simplermember  Lorg/aspectj/weaver/ResolvedMemberImpl;
    MethodParameters:
                 Name  Flags
      kind             
      adviceSignature  

  public org.aspectj.weaver.ShadowMunger concretize(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.World, org.aspectj.weaver.patterns.PerClause);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/PerClause;)Lorg/aspectj/weaver/ShadowMunger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.ResolvedType fromType
        start local 2 // org.aspectj.weaver.World world
        start local 3 // org.aspectj.weaver.patterns.PerClause clause
         0: .line 119
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.areAllLintIgnored:()Z
            ifne 2
         1: .line 120
            aload 0 /* this */
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.suppressLintWarnings:(Lorg/aspectj/weaver/World;)V
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fromType */
            aload 2 /* world */
            aload 3 /* clause */
            invokespecial org.aspectj.weaver.Advice.concretize:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/PerClause;)Lorg/aspectj/weaver/ShadowMunger;
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.ShadowMunger ret
         3: .line 123
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.areAllLintIgnored:()Z
            ifne 5
         4: .line 124
            aload 0 /* this */
            aload 2 /* world */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.clearLintSuppressions:(Lorg/aspectj/weaver/World;Ljava/util/Collection;)V
         5: .line 126
      StackMap locals: org.aspectj.weaver.ShadowMunger
      StackMap stack:
            new org.aspectj.weaver.bcel.IfFinder
            dup
            invokespecial org.aspectj.weaver.bcel.IfFinder.<init>:()V
            astore 5 /* ifinder */
        start local 5 // org.aspectj.weaver.bcel.IfFinder ifinder
         6: .line 127
            aload 4 /* ret */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 5 /* ifinder */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.Pointcut.accept:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 128
            aload 5 /* ifinder */
            getfield org.aspectj.weaver.bcel.IfFinder.hasIf:Z
            ifeq 8
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpeq 8
            iconst_1
            goto 9
      StackMap locals: org.aspectj.weaver.bcel.IfFinder
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 6 /* hasGuardTest */
        start local 6 // boolean hasGuardTest
        10: .line 129
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 11
            iconst_1
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 7 /* isAround */
        start local 7 // boolean isAround
        13: .line 130
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_2
            iand
            ifeq 16
        14: .line 131
            iload 7 /* isAround */
            ifne 16
            iload 6 /* hasGuardTest */
            ifne 16
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.noGuardForLazyTjp:Lorg/aspectj/weaver/Lint$Kind;
            invokevirtual org.aspectj.weaver.Lint$Kind.isEnabled:()Z
            ifeq 16
        15: .line 134
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.noGuardForLazyTjp:Lorg/aspectj/weaver/Lint$Kind;
            ldc ""
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
        16: .line 137
      StackMap locals: int
      StackMap stack:
            aload 4 /* ret */
            areturn
        end local 7 // boolean isAround
        end local 6 // boolean hasGuardTest
        end local 5 // org.aspectj.weaver.bcel.IfFinder ifinder
        end local 4 // org.aspectj.weaver.ShadowMunger ret
        end local 3 // org.aspectj.weaver.patterns.PerClause clause
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.ResolvedType fromType
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   17     1      fromType  Lorg/aspectj/weaver/ResolvedType;
            0   17     2         world  Lorg/aspectj/weaver/World;
            0   17     3        clause  Lorg/aspectj/weaver/patterns/PerClause;
            3   17     4           ret  Lorg/aspectj/weaver/ShadowMunger;
            6   17     5       ifinder  Lorg/aspectj/weaver/bcel/IfFinder;
           10   17     6  hasGuardTest  Z
           13   17     7      isAround  Z
    MethodParameters:
          Name  Flags
      fromType  
      world     
      clause    

  public org.aspectj.weaver.ShadowMunger parameterizeWith(org.aspectj.weaver.ResolvedType, java.util.Map<java.lang.String, org.aspectj.weaver.UnresolvedType>);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Ljava/util/Map;)Lorg/aspectj/weaver/ShadowMunger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.ResolvedType declaringType
        start local 2 // java.util.Map typeVariableMap
         0: .line 142
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* typeVariableMap */
            aload 1 /* declaringType */
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.patterns.Pointcut.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* pc */
        start local 3 // org.aspectj.weaver.patterns.Pointcut pc
         1: .line 144
            aconst_null
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.bcel.BcelAdvice ret
         2: .line 145
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            astore 5 /* adviceSignature */
        start local 5 // org.aspectj.weaver.Member adviceSignature
         3: .line 147
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            instanceof org.aspectj.weaver.ResolvedMember
            ifeq 7
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.isGenericType:()Z
            ifeq 7
         4: .line 148
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            checkcast org.aspectj.weaver.ResolvedMember
            aload 1 /* declaringType */
            invokevirtual org.aspectj.weaver.ResolvedType.getTypeParameters:()[Lorg/aspectj/weaver/UnresolvedType;
            aload 1 /* declaringType */
         5: .line 149
            aload 1 /* declaringType */
            invokevirtual org.aspectj.weaver.ResolvedType.isParameterizedType:()Z
         6: .line 148
            invokeinterface org.aspectj.weaver.ResolvedMember.parameterizedWith:([Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/ResolvedType;Z)Lorg/aspectj/weaver/ResolvedMemberImpl;
            astore 5 /* adviceSignature */
         7: .line 151
      StackMap locals: org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.Member
      StackMap stack:
            new org.aspectj.weaver.bcel.BcelAdvice
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.attribute:Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;
            aload 3 /* pc */
            aload 5 /* adviceSignature */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokespecial org.aspectj.weaver.bcel.BcelAdvice.<init>:(Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/Member;Lorg/aspectj/weaver/ResolvedType;)V
            astore 4 /* ret */
         8: .line 152
            aload 4 /* ret */
            areturn
        end local 5 // org.aspectj.weaver.Member adviceSignature
        end local 4 // org.aspectj.weaver.bcel.BcelAdvice ret
        end local 3 // org.aspectj.weaver.patterns.Pointcut pc
        end local 2 // java.util.Map typeVariableMap
        end local 1 // org.aspectj.weaver.ResolvedType declaringType
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    9     1    declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    9     2  typeVariableMap  Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;
            1    9     3               pc  Lorg/aspectj/weaver/patterns/Pointcut;
            2    9     4              ret  Lorg/aspectj/weaver/bcel/BcelAdvice;
            3    9     5  adviceSignature  Lorg/aspectj/weaver/Member;
    Signature: (Lorg/aspectj/weaver/ResolvedType;Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;)Lorg/aspectj/weaver/ShadowMunger;
    MethodParameters:
                 Name  Flags
      declaringType    
      typeVariableMap  

  public boolean match(org.aspectj.weaver.Shadow, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/World;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.Shadow shadow
        start local 2 // org.aspectj.weaver.World world
         0: .line 157
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.areAllLintIgnored:()Z
            ifeq 2
         1: .line 158
            aload 0 /* this */
            aload 1 /* shadow */
            aload 2 /* world */
            invokespecial org.aspectj.weaver.Advice.match:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/World;)Z
            ireturn
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.suppressLintWarnings:(Lorg/aspectj/weaver/World;)V
         3: .line 161
            aload 0 /* this */
            aload 1 /* shadow */
            aload 2 /* world */
            invokespecial org.aspectj.weaver.Advice.match:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/World;)Z
            istore 3 /* ret */
        start local 3 // boolean ret
         4: .line 162
            aload 0 /* this */
            aload 2 /* world */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.clearLintSuppressions:(Lorg/aspectj/weaver/World;Ljava/util/Collection;)V
         5: .line 163
            iload 3 /* ret */
            ireturn
        end local 3 // boolean ret
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    6     1  shadow  Lorg/aspectj/weaver/Shadow;
            0    6     2   world  Lorg/aspectj/weaver/World;
            4    6     3     ret  Z
    MethodParameters:
        Name  Flags
      shadow  
      world   

  public void specializeOn(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.Shadow shadow
         0: .line 169
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 2
         1: .line 170
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.initializeForAroundClosure:()V
         2: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            ifnonnull 5
         3: .line 175
            aload 0 /* this */
            new org.aspectj.weaver.patterns.ExposedState
            dup
            iconst_0
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(I)V
            putfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
         4: .line 176
            return
         5: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isPerEntry:()Z
            ifeq 8
         6: .line 179
            aload 0 /* this */
            new org.aspectj.weaver.patterns.ExposedState
            dup
            iconst_0
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(I)V
            putfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
         7: .line 180
            goto 16
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isCflow:()Z
            ifeq 11
         9: .line 181
            aload 0 /* this */
            new org.aspectj.weaver.patterns.ExposedState
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.nFreeVars:I
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(I)V
            putfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
        10: .line 182
            goto 16
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            ifnull 14
        12: .line 183
            aload 0 /* this */
            new org.aspectj.weaver.patterns.ExposedState
            dup
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(Lorg/aspectj/weaver/Member;)V
            putfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
        13: .line 184
            goto 16
        14: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.aspectj.weaver.patterns.ExposedState
            dup
            iconst_0
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(I)V
            putfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
        15: .line 186
            return
        16: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
            astore 2 /* world */
        start local 2 // org.aspectj.weaver.World world
        17: .line 190
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.areAllLintIgnored:()Z
            ifne 19
        18: .line 191
            aload 0 /* this */
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.suppressLintWarnings:(Lorg/aspectj/weaver/World;)V
        19: .line 193
      StackMap locals: org.aspectj.weaver.World
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.ExposedState.setConcreteAspect:(Lorg/aspectj/weaver/ResolvedType;)V
        20: .line 194
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* shadow */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            invokevirtual org.aspectj.weaver.patterns.Pointcut.findResidue:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
            putfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
        21: .line 195
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.areAllLintIgnored:()Z
            ifne 23
        22: .line 196
            aload 0 /* this */
            aload 2 /* world */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.clearLintSuppressions:(Lorg/aspectj/weaver/World;Ljava/util/Collection;)V
        23: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.PerThisEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 26
        24: .line 202
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.Shadow.getThisVar:()Lorg/aspectj/weaver/ast/Var;
            pop
        25: .line 203
            goto 28
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.PerTargetEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 28
        27: .line 204
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.Shadow.getTargetVar:()Lorg/aspectj/weaver/ast/Var;
            pop
        28: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_4
            iand
            ifeq 31
        29: .line 209
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisJoinPointStaticPartVar:()Lorg/aspectj/weaver/ast/Var;
            pop
        30: .line 210
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingClass:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            aload 1 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.warnOnAddedStaticInitializer:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/bridge/ISourceLocation;)V
        31: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_2
            iand
            ifeq 42
        32: .line 214
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
            getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
            if_acmpeq 33
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpeq 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: istore 3 /* hasGuardTest */
        start local 3 // boolean hasGuardTest
        35: .line 215
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 36
            iconst_1
            goto 37
      StackMap locals: int
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: istore 4 /* isAround */
        start local 4 // boolean isAround
        38: .line 216
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            iload 3 /* hasGuardTest */
            iload 4 /* isAround */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.requireThisJoinPoint:(ZZ)V
        39: .line 217
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingClass:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            aload 1 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.warnOnAddedStaticInitializer:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/bridge/ISourceLocation;)V
        40: .line 218
            iload 3 /* hasGuardTest */
            ifne 42
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.multipleAdviceStoppingLazyTjp:Lorg/aspectj/weaver/Lint$Kind;
            invokevirtual org.aspectj.weaver.Lint$Kind.isEnabled:()Z
            ifeq 42
        41: .line 220
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.addAdvicePreventingLazyTjp:(Lorg/aspectj/weaver/bcel/BcelAdvice;)V
        end local 4 // boolean isAround
        end local 3 // boolean hasGuardTest
        42: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            bipush 8
            iand
            ifeq 45
        43: .line 225
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisEnclosingJoinPointStaticPartVar:()Lorg/aspectj/weaver/ast/Var;
            pop
        44: .line 226
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingClass:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            aload 1 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.warnOnAddedStaticInitializer:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/bridge/ISourceLocation;)V
        45: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0          this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   46     1        shadow  Lorg/aspectj/weaver/Shadow;
           17   46     2         world  Lorg/aspectj/weaver/World;
           35   42     3  hasGuardTest  Z
           38   42     4      isAround  Z
    MethodParameters:
        Name  Flags
      shadow  

  private boolean canInline(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.Shadow s
         0: .line 231
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.attribute:Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;
            invokevirtual org.aspectj.weaver.AjAttribute$AdviceAttribute.isProceedInInners:()Z
            ifeq 2
         1: .line 232
            iconst_0
            ireturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            ifnull 3
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 4
         3: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.isXnoInline:()Z
            ifeq 6
         5: .line 240
            iconst_0
            ireturn
         6: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.bcel.BcelWorld.getBcelObjectType:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/bcel/BcelObjectType;
            astore 2 /* boType */
        start local 2 // org.aspectj.weaver.bcel.BcelObjectType boType
         7: .line 244
            aload 2 /* boType */
            ifnonnull 9
         8: .line 246
            iconst_0
            ireturn
         9: .line 250
      StackMap locals: org.aspectj.weaver.bcel.BcelObjectType
      StackMap stack:
            aload 2 /* boType */
            getfield org.aspectj.weaver.bcel.BcelObjectType.javaClass:Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getMajor:()I
            bipush 52
            if_icmplt 33
        10: .line 251
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.containsInvokedynamic:I
            ifne 33
        11: .line 252
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelAdvice.containsInvokedynamic:I
        12: .line 253
            aload 2 /* boType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getSignature:()Ljava/lang/String;
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getLazyMethodGen:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/aspectj/weaver/bcel/LazyMethodGen;
            astore 3 /* lmg */
        start local 3 // org.aspectj.weaver.bcel.LazyMethodGen lmg
        13: .line 255
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* searchType */
        start local 4 // org.aspectj.weaver.ResolvedType searchType
        14: .line 256
            goto 23
        15: .line 257
      StackMap locals: org.aspectj.weaver.bcel.LazyMethodGen org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 4 /* searchType */
            invokevirtual org.aspectj.weaver.ResolvedType.getSuperclass:()Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* searchType */
        16: .line 258
            aload 4 /* searchType */
            ifnonnull 17
            goto 24
        17: .line 259
      StackMap locals:
      StackMap stack:
            aload 4 /* searchType */
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 5 /* rtd */
        start local 5 // org.aspectj.weaver.ReferenceTypeDelegate rtd
        18: .line 260
            aload 5 /* rtd */
            instanceof org.aspectj.weaver.bcel.BcelObjectType
            ifeq 23
        19: .line 261
            aload 5 /* rtd */
            checkcast org.aspectj.weaver.bcel.BcelObjectType
            astore 6 /* bot */
        start local 6 // org.aspectj.weaver.bcel.BcelObjectType bot
        20: .line 262
            aload 6 /* bot */
            getfield org.aspectj.weaver.bcel.BcelObjectType.javaClass:Lorg/aspectj/apache/bcel/classfile/JavaClass;
            invokevirtual org.aspectj.apache.bcel.classfile.JavaClass.getMajor:()I
            bipush 52
            if_icmpge 22
        21: .line 263
            goto 24
        22: .line 265
      StackMap locals: org.aspectj.weaver.ReferenceTypeDelegate org.aspectj.weaver.bcel.BcelObjectType
      StackMap stack:
            aload 6 /* bot */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getSignature:()Ljava/lang/String;
            iconst_1
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.getLazyMethodGen:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/aspectj/weaver/bcel/LazyMethodGen;
            astore 3 /* lmg */
        end local 6 // org.aspectj.weaver.bcel.BcelObjectType bot
        end local 5 // org.aspectj.weaver.ReferenceTypeDelegate rtd
        23: .line 256
      StackMap locals:
      StackMap stack:
            aload 3 /* lmg */
            ifnull 15
        24: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* lmg */
            ifnull 33
        25: .line 269
            aload 3 /* lmg */
            invokevirtual org.aspectj.weaver.bcel.LazyMethodGen.getBody:()Lorg/aspectj/apache/bcel/generic/InstructionList;
            astore 5 /* ilist */
        start local 5 // org.aspectj.apache.bcel.generic.InstructionList ilist
        26: .line 270
            aload 5 /* ilist */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.getStart:()Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            astore 6 /* src */
        start local 6 // org.aspectj.apache.bcel.generic.InstructionHandle src
        27: goto 32
        28: .line 271
      StackMap locals: org.aspectj.apache.bcel.generic.InstructionList org.aspectj.apache.bcel.generic.InstructionHandle
      StackMap stack:
            aload 6 /* src */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionHandle.getInstruction:()Lorg/aspectj/apache/bcel/generic/Instruction;
            getfield org.aspectj.apache.bcel.generic.Instruction.opcode:S
            sipush 186
            if_icmpne 31
        29: .line 272
            aload 0 /* this */
            iconst_2
            putfield org.aspectj.weaver.bcel.BcelAdvice.containsInvokedynamic:I
        30: .line 273
            goto 33
        31: .line 270
      StackMap locals:
      StackMap stack:
            aload 6 /* src */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionHandle.getNext:()Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            astore 6 /* src */
      StackMap locals:
      StackMap stack:
        32: aload 6 /* src */
            ifnonnull 28
        end local 6 // org.aspectj.apache.bcel.generic.InstructionHandle src
        end local 5 // org.aspectj.apache.bcel.generic.InstructionList ilist
        end local 4 // org.aspectj.weaver.ResolvedType searchType
        end local 3 // org.aspectj.weaver.bcel.LazyMethodGen lmg
        33: .line 279
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.Shadow org.aspectj.weaver.bcel.BcelObjectType
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.containsInvokedynamic:I
            iconst_2
            if_icmpne 35
        34: .line 280
            iconst_0
            ireturn
        35: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* boType */
            invokevirtual org.aspectj.weaver.bcel.BcelObjectType.getLazyClassGen:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.isWoven:()Z
            ireturn
        end local 2 // org.aspectj.weaver.bcel.BcelObjectType boType
        end local 1 // org.aspectj.weaver.Shadow s
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   36     1           s  Lorg/aspectj/weaver/Shadow;
            7   36     2      boType  Lorg/aspectj/weaver/bcel/BcelObjectType;
           13   33     3         lmg  Lorg/aspectj/weaver/bcel/LazyMethodGen;
           14   33     4  searchType  Lorg/aspectj/weaver/ResolvedType;
           18   23     5         rtd  Lorg/aspectj/weaver/ReferenceTypeDelegate;
           20   23     6         bot  Lorg/aspectj/weaver/bcel/BcelObjectType;
           26   33     5       ilist  Lorg/aspectj/apache/bcel/generic/InstructionList;
           27   33     6         src  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
    MethodParameters:
      Name  Flags
      s     

  private boolean aspectIsBroken();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 286
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            instanceof org.aspectj.weaver.ReferenceType
            ifeq 4
         1: .line 287
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 1 /* rtDelegate */
        start local 1 // org.aspectj.weaver.ReferenceTypeDelegate rtDelegate
         2: .line 288
            aload 1 /* rtDelegate */
            instanceof org.aspectj.weaver.bcel.BcelObjectType
            ifne 4
         3: .line 289
            iconst_1
            ireturn
        end local 1 // org.aspectj.weaver.ReferenceTypeDelegate rtDelegate
         4: .line 292
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            2    4     1  rtDelegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;

  public boolean implementOn(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.Shadow s
         0: .line 297
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelAdvice.hasMatchedAtLeastOnce:Z
         1: .line 300
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.aspectIsBroken:()Z
            ifeq 3
         2: .line 301
            iconst_0
            ireturn
         3: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            checkcast org.aspectj.weaver.bcel.BcelShadow
            astore 2 /* shadow */
        start local 2 // org.aspectj.weaver.bcel.BcelShadow shadow
         4: .line 310
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.isIgnoringUnusedDeclaredThrownException:()Z
            ifne 16
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getThrownExceptions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 16
         5: .line 311
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getSignature:()Lorg/aspectj/weaver/Member;
            astore 3 /* member */
        start local 3 // org.aspectj.weaver.Member member
         6: .line 312
            aload 3 /* member */
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 9
         7: .line 313
            aload 0 /* this */
            aload 3 /* member */
            checkcast org.aspectj.weaver.bcel.BcelMethod
            aload 3 /* member */
            checkcast org.aspectj.weaver.bcel.BcelMethod
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.removeUnnecessaryProblems:(Lorg/aspectj/weaver/bcel/BcelMethod;I)V
         8: .line 314
            goto 16
         9: .line 320
      StackMap locals: org.aspectj.weaver.bcel.BcelShadow org.aspectj.weaver.Member
      StackMap stack:
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getSignature:()Lorg/aspectj/weaver/Member;
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            invokeinterface org.aspectj.weaver.Member.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedMember;
            astore 4 /* resolvedMember */
        start local 4 // org.aspectj.weaver.ResolvedMember resolvedMember
        10: .line 321
            aload 4 /* resolvedMember */
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 16
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingShadow:()Lorg/aspectj/weaver/Shadow;
            instanceof org.aspectj.weaver.bcel.BcelShadow
            ifeq 16
        11: .line 322
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingShadow:()Lorg/aspectj/weaver/Shadow;
            invokevirtual org.aspectj.weaver.Shadow.getSignature:()Lorg/aspectj/weaver/Member;
            astore 5 /* enclosingMember */
        start local 5 // org.aspectj.weaver.Member enclosingMember
        12: .line 323
            aload 5 /* enclosingMember */
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 16
        13: .line 324
            aload 0 /* this */
            aload 5 /* enclosingMember */
            checkcast org.aspectj.weaver.bcel.BcelMethod
        14: .line 325
            aload 4 /* resolvedMember */
            checkcast org.aspectj.weaver.bcel.BcelMethod
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getDeclarationLineNumber:()I
        15: .line 324
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.removeUnnecessaryProblems:(Lorg/aspectj/weaver/bcel/BcelMethod;I)V
        end local 5 // org.aspectj.weaver.Member enclosingMember
        end local 4 // org.aspectj.weaver.ResolvedMember resolvedMember
        end local 3 // org.aspectj.weaver.Member member
        16: .line 331
      StackMap locals:
      StackMap stack:
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getIWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.isJoinpointSynchronizationEnabled:()Z
            ifeq 21
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
            if_acmpne 21
        17: .line 332
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.Shadow.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getModifiers:()I
            bipush 32
            iand
            ifeq 21
        18: .line 333
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getIWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.advisingSynchronizedMethods:Lorg/aspectj/weaver/Lint$Kind;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.toString:()Ljava/lang/String;
            aastore
        19: .line 334
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_1
            anewarray org.aspectj.bridge.ISourceLocation
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aastore
        20: .line 333
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:([Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;[Lorg/aspectj/bridge/ISourceLocation;)V
        21: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
            getstatic org.aspectj.weaver.ast.Literal.FALSE:Lorg/aspectj/weaver/ast/Literal;
            if_acmpne 26
        22: .line 355
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getSignature:()Lorg/aspectj/weaver/Member;
            astore 3 /* sig */
        start local 3 // org.aspectj.weaver.Member sig
        23: .line 356
            aload 3 /* sig */
            invokeinterface org.aspectj.weaver.Member.getArity:()I
            ifne 26
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodCall:Lorg/aspectj/weaver/Shadow$Kind;
            if_acmpne 26
            aload 3 /* sig */
            invokeinterface org.aspectj.weaver.Member.getName:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 99
            if_icmpne 26
        24: .line 357
            aload 3 /* sig */
            invokeinterface org.aspectj.weaver.Member.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            getstatic org.aspectj.weaver.ResolvedType.OBJECT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifeq 26
            aload 3 /* sig */
            invokeinterface org.aspectj.weaver.Member.getName:()Ljava/lang/String;
            ldc "clone"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 358
            iconst_0
            ireturn
        end local 3 // org.aspectj.weaver.Member sig
        26: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Before:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 29
        27: .line 363
            aload 2 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveBefore:(Lorg/aspectj/weaver/bcel/BcelAdvice;)V
        28: .line 364
            goto 72
      StackMap locals:
      StackMap stack:
        29: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.AfterReturning:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 32
        30: .line 365
            aload 2 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAfterReturning:(Lorg/aspectj/weaver/bcel/BcelAdvice;)V
        31: .line 366
            goto 72
      StackMap locals:
      StackMap stack:
        32: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.AfterThrowing:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 38
        33: .line 367
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasExtraParameter:()Z
            ifeq 34
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterType:()Lorg/aspectj/weaver/UnresolvedType;
            goto 35
      StackMap locals:
      StackMap stack:
        34: getstatic org.aspectj.weaver.UnresolvedType.THROWABLE:Lorg/aspectj/weaver/UnresolvedType;
      StackMap locals:
      StackMap stack: org.aspectj.weaver.UnresolvedType
        35: astore 3 /* catchType */
        start local 3 // org.aspectj.weaver.UnresolvedType catchType
        36: .line 368
            aload 2 /* shadow */
            aload 0 /* this */
            aload 3 /* catchType */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAfterThrowing:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/UnresolvedType;)V
        end local 3 // org.aspectj.weaver.UnresolvedType catchType
        37: .line 369
            goto 72
      StackMap locals:
      StackMap stack:
        38: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.After:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 41
        39: .line 370
            aload 2 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAfter:(Lorg/aspectj/weaver/bcel/BcelAdvice;)V
        40: .line 371
            goto 72
      StackMap locals:
      StackMap stack:
        41: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 53
        42: .line 381
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingClass:()Lorg/aspectj/weaver/bcel/LazyClassGen;
            astore 3 /* enclosingClass */
        start local 3 // org.aspectj.weaver.bcel.LazyClassGen enclosingClass
        43: .line 382
            aload 3 /* enclosingClass */
            ifnull 48
            aload 3 /* enclosingClass */
            invokevirtual org.aspectj.weaver.bcel.LazyClassGen.isInterface:()Z
            ifeq 48
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingMethod:()Lorg/aspectj/weaver/bcel/LazyMethodGen;
            invokevirtual org.aspectj.weaver.bcel.LazyMethodGen.getName:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 48
        44: .line 384
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            invokevirtual org.aspectj.weaver.bcel.BcelWorld.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.cannotAdviseJoinpointInInterfaceWithAroundAdvice:Lorg/aspectj/weaver/Lint$Kind;
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.toString:()Ljava/lang/String;
        45: .line 385
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        46: .line 384
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
        47: .line 386
            iconst_0
            ireturn
        48: .line 388
      StackMap locals: org.aspectj.weaver.bcel.LazyClassGen
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.canInline:(Lorg/aspectj/weaver/Shadow;)Z
            ifne 51
        49: .line 389
            aload 2 /* shadow */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasDynamicTests:()Z
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAroundClosure:(Lorg/aspectj/weaver/bcel/BcelAdvice;Z)V
        50: .line 390
            goto 72
        51: .line 391
      StackMap locals:
      StackMap stack:
            aload 2 /* shadow */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasDynamicTests:()Z
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAroundInline:(Lorg/aspectj/weaver/bcel/BcelAdvice;Z)V
        end local 3 // org.aspectj.weaver.bcel.LazyClassGen enclosingClass
        52: .line 393
            goto 72
      StackMap locals:
      StackMap stack:
        53: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.InterInitializer:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 56
        54: .line 394
            aload 2 /* shadow */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveAfterReturning:(Lorg/aspectj/weaver/bcel/BcelAdvice;)V
        55: .line 395
            goto 72
      StackMap locals:
      StackMap stack:
        56: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isCflow:()Z
            ifeq 59
        57: .line 396
            aload 2 /* shadow */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveCflowEntry:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/Member;)V
        58: .line 397
            goto 72
      StackMap locals:
      StackMap stack:
        59: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.PerThisEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 62
        60: .line 398
            aload 2 /* shadow */
            aload 0 /* this */
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisVar:()Lorg/aspectj/weaver/ast/Var;
            checkcast org.aspectj.weaver.bcel.BcelVar
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weavePerObjectEntry:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/bcel/BcelVar;)V
        61: .line 399
            goto 72
      StackMap locals:
      StackMap stack:
        62: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.PerTargetEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 65
        63: .line 400
            aload 2 /* shadow */
            aload 0 /* this */
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getTargetVar:()Lorg/aspectj/weaver/ast/Var;
            checkcast org.aspectj.weaver.bcel.BcelVar
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weavePerObjectEntry:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/bcel/BcelVar;)V
        64: .line 401
            goto 72
      StackMap locals:
      StackMap stack:
        65: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Softener:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 68
        66: .line 402
            aload 2 /* shadow */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exceptionType:Lorg/aspectj/weaver/patterns/TypePattern;
            checkcast org.aspectj.weaver.patterns.ExactTypePattern
            invokevirtual org.aspectj.weaver.patterns.ExactTypePattern.getType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weaveSoftener:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/UnresolvedType;)V
        67: .line 403
            goto 72
      StackMap locals:
      StackMap stack:
        68: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.PerTypeWithinEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 71
        69: .line 405
            aload 2 /* shadow */
            aload 0 /* this */
            aload 2 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingType:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.weavePerTypeWithinAspectInitialization:(Lorg/aspectj/weaver/bcel/BcelAdvice;Lorg/aspectj/weaver/UnresolvedType;)V
        70: .line 406
            goto 72
        71: .line 407
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unimplemented kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        72: .line 409
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.bcel.BcelShadow shadow
        end local 1 // org.aspectj.weaver.Shadow s
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   73     0             this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   73     1                s  Lorg/aspectj/weaver/Shadow;
            4   73     2           shadow  Lorg/aspectj/weaver/bcel/BcelShadow;
            6   16     3           member  Lorg/aspectj/weaver/Member;
           10   16     4   resolvedMember  Lorg/aspectj/weaver/ResolvedMember;
           12   16     5  enclosingMember  Lorg/aspectj/weaver/Member;
           23   26     3              sig  Lorg/aspectj/weaver/Member;
           36   37     3        catchType  Lorg/aspectj/weaver/UnresolvedType;
           43   52     3   enclosingClass  Lorg/aspectj/weaver/bcel/LazyClassGen;
    MethodParameters:
      Name  Flags
      s     

  private void removeUnnecessaryProblems(org.aspectj.weaver.bcel.BcelMethod, int);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelMethod;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.bcel.BcelMethod method
        start local 2 // int problemLineNumber
         0: .line 413
            aload 1 /* method */
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            astore 3 /* sourceContext */
        start local 3 // org.aspectj.weaver.ISourceContext sourceContext
         1: .line 414
            aload 3 /* sourceContext */
            instanceof org.aspectj.weaver.IEclipseSourceContext
            ifeq 3
         2: .line 415
            aload 3 /* sourceContext */
            checkcast org.aspectj.weaver.IEclipseSourceContext
            aload 1 /* method */
            iload 2 /* problemLineNumber */
            invokeinterface org.aspectj.weaver.IEclipseSourceContext.removeUnnecessaryProblems:(Lorg/aspectj/weaver/Member;I)V
         3: .line 417
      StackMap locals: org.aspectj.weaver.ISourceContext
      StackMap stack:
            return
        end local 3 // org.aspectj.weaver.ISourceContext sourceContext
        end local 2 // int problemLineNumber
        end local 1 // org.aspectj.weaver.bcel.BcelMethod method
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    4     1             method  Lorg/aspectj/weaver/bcel/BcelMethod;
            0    4     2  problemLineNumber  I
            1    4     3      sourceContext  Lorg/aspectj/weaver/ISourceContext;
    MethodParameters:
                   Name  Flags
      method             
      problemLineNumber  

  private java.util.Collection<org.aspectj.weaver.ResolvedType> collectCheckedExceptions(org.aspectj.weaver.UnresolvedType[]);
    descriptor: ([Lorg/aspectj/weaver/UnresolvedType;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.UnresolvedType[] excs
         0: .line 422
            aload 1 /* excs */
            ifnull 1
            aload 1 /* excs */
            arraylength
            ifne 2
         1: .line 423
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* ret */
        start local 2 // java.util.Collection ret
         3: .line 427
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            astore 3 /* world */
        start local 3 // org.aspectj.weaver.World world
         4: .line 428
            aload 3 /* world */
            getstatic org.aspectj.weaver.UnresolvedType.RUNTIME_EXCEPTION:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.World.getCoreType:(Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* runtimeException */
        start local 4 // org.aspectj.weaver.ResolvedType runtimeException
         5: .line 429
            aload 3 /* world */
            getstatic org.aspectj.weaver.UnresolvedType.ERROR:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.World.getCoreType:(Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedType;
            astore 5 /* error */
        start local 5 // org.aspectj.weaver.ResolvedType error
         6: .line 431
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: aload 1 /* excs */
            arraylength
            istore 7 /* len */
        start local 7 // int len
         8: goto 18
         9: .line 432
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.UnresolvedType[] java.util.Collection org.aspectj.weaver.World org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType int int
      StackMap stack:
            aload 3 /* world */
            aload 1 /* excs */
            iload 6 /* i */
            aaload
            iconst_1
            invokevirtual org.aspectj.weaver.World.resolve:(Lorg/aspectj/weaver/UnresolvedType;Z)Lorg/aspectj/weaver/ResolvedType;
            astore 8 /* t */
        start local 8 // org.aspectj.weaver.ResolvedType t
        10: .line 433
            aload 8 /* t */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 15
        11: .line 434
            aload 3 /* world */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.cantFindType:Lorg/aspectj/weaver/Lint$Kind;
        12: .line 435
            ldc "cftExceptionType"
            aload 1 /* excs */
            iload 6 /* i */
            aaload
            invokevirtual org.aspectj.weaver.UnresolvedType.getName:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
        13: .line 436
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        14: .line 435
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
        15: .line 442
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 4 /* runtimeException */
            aload 8 /* t */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 17
            aload 5 /* error */
            aload 8 /* t */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 17
        16: .line 443
            aload 2 /* ret */
            aload 8 /* t */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.aspectj.weaver.ResolvedType t
        17: .line 431
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 7 /* len */
            if_icmplt 9
        end local 7 // int len
        end local 6 // int i
        19: .line 447
            aload 2 /* ret */
            areturn
        end local 5 // org.aspectj.weaver.ResolvedType error
        end local 4 // org.aspectj.weaver.ResolvedType runtimeException
        end local 3 // org.aspectj.weaver.World world
        end local 2 // java.util.Collection ret
        end local 1 // org.aspectj.weaver.UnresolvedType[] excs
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   20     1              excs  [Lorg/aspectj/weaver/UnresolvedType;
            3   20     2               ret  Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedType;>;
            4   20     3             world  Lorg/aspectj/weaver/World;
            5   20     4  runtimeException  Lorg/aspectj/weaver/ResolvedType;
            6   20     5             error  Lorg/aspectj/weaver/ResolvedType;
            7   19     6                 i  I
            8   19     7               len  I
           10   17     8                 t  Lorg/aspectj/weaver/ResolvedType;
    Signature: ([Lorg/aspectj/weaver/UnresolvedType;)Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedType;>;
    MethodParameters:
      Name  Flags
      excs  

  public java.util.Collection<org.aspectj.weaver.ResolvedType> getThrownExceptions();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 454
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
            ifnonnull 11
         1: .line 456
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            ifnull 10
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            ifnull 10
         2: .line 457
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isAfter:()Z
            ifne 3
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Before:Lorg/aspectj/weaver/AdviceKind;
            if_acmpeq 3
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 10
         3: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            astore 1 /* world */
        start local 1 // org.aspectj.weaver.World world
         4: .line 459
            aload 1 /* world */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokevirtual org.aspectj.weaver.World.resolve:(Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/ResolvedMember;
            astore 2 /* m */
        start local 2 // org.aspectj.weaver.ResolvedMember m
         5: .line 460
            aload 2 /* m */
            ifnonnull 8
         6: .line 461
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
         7: .line 462
            goto 11
         8: .line 463
      StackMap locals: org.aspectj.weaver.World org.aspectj.weaver.ResolvedMember
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* m */
            invokeinterface org.aspectj.weaver.ResolvedMember.getExceptions:()[Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.collectCheckedExceptions:([Lorg/aspectj/weaver/UnresolvedType;)Ljava/util/Collection;
            putfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
        end local 2 // org.aspectj.weaver.ResolvedMember m
        end local 1 // org.aspectj.weaver.World world
         9: .line 465
            goto 11
        10: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
        11: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
            areturn
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            4    9     1  world  Lorg/aspectj/weaver/World;
            5    9     2      m  Lorg/aspectj/weaver/ResolvedMember;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedType;>;

  public boolean mustCheckExceptions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 480
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            ifnonnull 2
         1: .line 481
            iconst_1
            ireturn
         2: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/bcel/BcelAdvice;

  public boolean hasDynamicTests();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 496
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
            ifnull 1
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
            getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/bcel/BcelAdvice;

  org.aspectj.apache.bcel.generic.InstructionList getAdviceInstructions(org.aspectj.weaver.bcel.BcelShadow, org.aspectj.weaver.bcel.BcelVar, org.aspectj.apache.bcel.generic.InstructionHandle);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelShadow;Lorg/aspectj/weaver/bcel/BcelVar;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)Lorg/aspectj/apache/bcel/generic/InstructionList;
    flags: (0x0000) 
    Code:
      stack=7, locals=15, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.bcel.BcelShadow s
        start local 2 // org.aspectj.weaver.bcel.BcelVar extraArgVar
        start local 3 // org.aspectj.apache.bcel.generic.InstructionHandle ifNoAdvice
         0: .line 508
            aload 1 /* s */
            astore 4 /* shadow */
        start local 4 // org.aspectj.weaver.bcel.BcelShadow shadow
         1: .line 509
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getFactory:()Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            astore 5 /* fact */
        start local 5 // org.aspectj.apache.bcel.generic.InstructionFactory fact
         2: .line 510
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            astore 6 /* world */
        start local 6 // org.aspectj.weaver.bcel.BcelWorld world
         3: .line 512
            new org.aspectj.apache.bcel.generic.InstructionList
            dup
            invokespecial org.aspectj.apache.bcel.generic.InstructionList.<init>:()V
            astore 7 /* il */
        start local 7 // org.aspectj.apache.bcel.generic.InstructionList il
         4: .line 516
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasExtraParameter:()Z
            ifeq 10
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.AfterReturning:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 10
         5: .line 517
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterType:()Lorg/aspectj/weaver/UnresolvedType;
            astore 8 /* extraParameterType */
        start local 8 // org.aspectj.weaver.UnresolvedType extraParameterType
         6: .line 518
            aload 8 /* extraParameterType */
            getstatic org.aspectj.weaver.UnresolvedType.OBJECT:Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 10
            aload 8 /* extraParameterType */
            invokevirtual org.aspectj.weaver.UnresolvedType.isPrimitiveType:()Z
            ifne 10
         7: .line 519
            aload 7 /* il */
            aload 5 /* fact */
            aload 6 /* world */
         8: .line 520
            aload 2 /* extraArgVar */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 6 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.ast.Test.makeInstanceof:(Lorg/aspectj/weaver/ast/Var;Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ast/Test;
            aconst_null
            aload 3 /* ifNoAdvice */
            aconst_null
         9: .line 519
            invokestatic org.aspectj.weaver.bcel.BcelRenderer.renderTest:(Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/ast/Test;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        end local 8 // org.aspectj.weaver.UnresolvedType extraParameterType
        10: .line 523
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.bcel.BcelShadow org.aspectj.weaver.bcel.BcelVar org.aspectj.apache.bcel.generic.InstructionHandle org.aspectj.weaver.bcel.BcelShadow org.aspectj.apache.bcel.generic.InstructionFactory org.aspectj.weaver.bcel.BcelWorld org.aspectj.apache.bcel.generic.InstructionList
      StackMap stack:
            aload 7 /* il */
            aload 0 /* this */
            aload 4 /* shadow */
            aload 2 /* extraArgVar */
            aconst_null
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getAdviceArgSetup:(Lorg/aspectj/weaver/bcel/BcelShadow;Lorg/aspectj/weaver/bcel/BcelVar;Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        11: .line 524
            aload 7 /* il */
            aload 0 /* this */
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getNonTestAdviceInstructions:(Lorg/aspectj/weaver/bcel/BcelShadow;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        12: .line 526
            aload 7 /* il */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.getStart:()Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            astore 8 /* ifYesAdvice */
        start local 8 // org.aspectj.apache.bcel.generic.InstructionHandle ifYesAdvice
        13: .line 527
            aload 7 /* il */
            aload 0 /* this */
            aload 4 /* shadow */
            aload 8 /* ifYesAdvice */
            aload 3 /* ifNoAdvice */
            aload 8 /* ifYesAdvice */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions:(Lorg/aspectj/weaver/bcel/BcelShadow;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.insert:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        14: .line 531
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
            if_acmpne 30
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Before:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 30
        15: .line 532
            iconst_0
            istore 9 /* lineNumber */
        start local 9 // int lineNumber
        16: .line 539
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingMethod:()Lorg/aspectj/weaver/bcel/LazyMethodGen;
            invokevirtual org.aspectj.weaver.bcel.LazyMethodGen.getMemberView:()Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getLineNumberOfFirstInstruction:()I
            istore 9 /* lineNumber */
        17: .line 541
            aload 7 /* il */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.getStart:()Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            astore 10 /* start */
        start local 10 // org.aspectj.apache.bcel.generic.InstructionHandle start
        18: .line 542
            iload 9 /* lineNumber */
            ifle 20
        19: .line 543
            aload 10 /* start */
            new org.aspectj.apache.bcel.generic.LineNumberTag
            dup
            iload 9 /* lineNumber */
            invokespecial org.aspectj.apache.bcel.generic.LineNumberTag.<init>:(I)V
            invokevirtual org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter:(Lorg/aspectj/apache/bcel/generic/InstructionTargeter;)V
        20: .line 546
      StackMap locals: org.aspectj.apache.bcel.generic.InstructionHandle int org.aspectj.apache.bcel.generic.InstructionHandle
      StackMap stack:
            aload 4 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getEnclosingMethod:()Lorg/aspectj/weaver/bcel/LazyMethodGen;
            invokevirtual org.aspectj.weaver.bcel.LazyMethodGen.getMemberView:()Lorg/aspectj/weaver/bcel/BcelMethod;
            invokevirtual org.aspectj.weaver.bcel.BcelMethod.getMethod:()Lorg/aspectj/apache/bcel/classfile/Method;
            invokevirtual org.aspectj.apache.bcel.classfile.Method.getLocalVariableTable:()Lorg/aspectj/apache/bcel/classfile/LocalVariableTable;
            astore 11 /* lvt */
        start local 11 // org.aspectj.apache.bcel.classfile.LocalVariableTable lvt
        21: .line 547
            aload 11 /* lvt */
            ifnull 30
        22: .line 548
            aload 11 /* lvt */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariableTable.getLocalVariableTable:()[Lorg/aspectj/apache/bcel/classfile/LocalVariable;
            astore 12 /* lvTable */
        start local 12 // org.aspectj.apache.bcel.classfile.LocalVariable[] lvTable
        23: .line 549
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        24: goto 29
        25: .line 550
      StackMap locals: org.aspectj.apache.bcel.classfile.LocalVariableTable org.aspectj.apache.bcel.classfile.LocalVariable[] int
      StackMap stack:
            aload 12 /* lvTable */
            iload 13 /* i */
            aaload
            astore 14 /* lv */
        start local 14 // org.aspectj.apache.bcel.classfile.LocalVariable lv
        26: .line 551
            aload 14 /* lv */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getStartPC:()I
            ifne 28
        27: .line 552
            aload 10 /* start */
            new org.aspectj.apache.bcel.generic.LocalVariableTag
            dup
            aload 14 /* lv */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getSignature:()Ljava/lang/String;
            aload 14 /* lv */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getName:()Ljava/lang/String;
            aload 14 /* lv */
            invokevirtual org.aspectj.apache.bcel.classfile.LocalVariable.getIndex:()I
            iconst_0
            invokespecial org.aspectj.apache.bcel.generic.LocalVariableTag.<init>:(Ljava/lang/String;Ljava/lang/String;II)V
            invokevirtual org.aspectj.apache.bcel.generic.InstructionHandle.addTargeter:(Lorg/aspectj/apache/bcel/generic/InstructionTargeter;)V
        end local 14 // org.aspectj.apache.bcel.classfile.LocalVariable lv
        28: .line 549
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 13 /* i */
            aload 12 /* lvTable */
            arraylength
            if_icmplt 25
        end local 13 // int i
        end local 12 // org.aspectj.apache.bcel.classfile.LocalVariable[] lvTable
        end local 11 // org.aspectj.apache.bcel.classfile.LocalVariableTable lvt
        end local 10 // org.aspectj.apache.bcel.generic.InstructionHandle start
        end local 9 // int lineNumber
        30: .line 558
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.bcel.BcelShadow org.aspectj.weaver.bcel.BcelVar org.aspectj.apache.bcel.generic.InstructionHandle org.aspectj.weaver.bcel.BcelShadow org.aspectj.apache.bcel.generic.InstructionFactory org.aspectj.weaver.bcel.BcelWorld org.aspectj.apache.bcel.generic.InstructionList org.aspectj.apache.bcel.generic.InstructionHandle
      StackMap stack:
            aload 7 /* il */
            areturn
        end local 8 // org.aspectj.apache.bcel.generic.InstructionHandle ifYesAdvice
        end local 7 // org.aspectj.apache.bcel.generic.InstructionList il
        end local 6 // org.aspectj.weaver.bcel.BcelWorld world
        end local 5 // org.aspectj.apache.bcel.generic.InstructionFactory fact
        end local 4 // org.aspectj.weaver.bcel.BcelShadow shadow
        end local 3 // org.aspectj.apache.bcel.generic.InstructionHandle ifNoAdvice
        end local 2 // org.aspectj.weaver.bcel.BcelVar extraArgVar
        end local 1 // org.aspectj.weaver.bcel.BcelShadow s
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   31     0                this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   31     1                   s  Lorg/aspectj/weaver/bcel/BcelShadow;
            0   31     2         extraArgVar  Lorg/aspectj/weaver/bcel/BcelVar;
            0   31     3          ifNoAdvice  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            1   31     4              shadow  Lorg/aspectj/weaver/bcel/BcelShadow;
            2   31     5                fact  Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            3   31     6               world  Lorg/aspectj/weaver/bcel/BcelWorld;
            4   31     7                  il  Lorg/aspectj/apache/bcel/generic/InstructionList;
            6   10     8  extraParameterType  Lorg/aspectj/weaver/UnresolvedType;
           13   31     8         ifYesAdvice  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
           16   30     9          lineNumber  I
           18   30    10               start  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
           21   30    11                 lvt  Lorg/aspectj/apache/bcel/classfile/LocalVariableTable;
           23   30    12             lvTable  [Lorg/aspectj/apache/bcel/classfile/LocalVariable;
           24   30    13                   i  I
           26   28    14                  lv  Lorg/aspectj/apache/bcel/classfile/LocalVariable;
    MethodParameters:
             Name  Flags
      s            
      extraArgVar  
      ifNoAdvice   

  public org.aspectj.apache.bcel.generic.InstructionList getAdviceArgSetup(org.aspectj.weaver.bcel.BcelShadow, org.aspectj.weaver.bcel.BcelVar, org.aspectj.apache.bcel.generic.InstructionList);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelShadow;Lorg/aspectj/weaver/bcel/BcelVar;Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=4
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
        start local 2 // org.aspectj.weaver.bcel.BcelVar extraVar
        start local 3 // org.aspectj.apache.bcel.generic.InstructionList closureInstantiation
         0: .line 562
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getFactory:()Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            astore 4 /* fact */
        start local 4 // org.aspectj.apache.bcel.generic.InstructionFactory fact
         1: .line 563
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            astore 5 /* world */
        start local 5 // org.aspectj.weaver.bcel.BcelWorld world
         2: .line 564
            new org.aspectj.apache.bcel.generic.InstructionList
            dup
            invokespecial org.aspectj.apache.bcel.generic.InstructionList.<init>:()V
            astore 6 /* il */
        start local 6 // org.aspectj.apache.bcel.generic.InstructionList il
         3: .line 576
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            invokevirtual org.aspectj.weaver.patterns.ExposedState.getAspectInstance:()Lorg/aspectj/weaver/ast/Expr;
            ifnull 5
         4: .line 577
            aload 6 /* il */
            aload 4 /* fact */
            aload 5 /* world */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            invokevirtual org.aspectj.weaver.patterns.ExposedState.getAspectInstance:()Lorg/aspectj/weaver/ast/Expr;
            invokestatic org.aspectj.weaver.bcel.BcelRenderer.renderExpr:(Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/ast/Expr;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
         5: .line 580
      StackMap locals: org.aspectj.apache.bcel.generic.InstructionFactory org.aspectj.weaver.bcel.BcelWorld org.aspectj.apache.bcel.generic.InstructionList
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            istore 7 /* x */
        start local 7 // boolean x
         6: .line 581
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            ifnull 7
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifeq 7
            iload 7 /* x */
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* isAnnotationStyleAspect */
        start local 8 // boolean isAnnotationStyleAspect
         9: .line 582
            iconst_0
            istore 9 /* previousIsClosure */
        start local 9 // boolean previousIsClosure
        10: .line 583
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            invokevirtual org.aspectj.weaver.patterns.ExposedState.size:()I
            istore 11 /* len */
        start local 11 // int len
        12: goto 75
        13: .line 584
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice org.aspectj.weaver.bcel.BcelShadow org.aspectj.weaver.bcel.BcelVar org.aspectj.apache.bcel.generic.InstructionList org.aspectj.apache.bcel.generic.InstructionFactory org.aspectj.weaver.bcel.BcelWorld org.aspectj.apache.bcel.generic.InstructionList int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            iload 10 /* i */
            invokevirtual org.aspectj.weaver.patterns.ExposedState.isErroneousVar:(I)Z
            ifeq 15
        14: .line 585
            goto 74
        15: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            iload 10 /* i */
            invokevirtual org.aspectj.weaver.patterns.ExposedState.get:(I)Lorg/aspectj/weaver/ast/Var;
            checkcast org.aspectj.weaver.bcel.BcelVar
            astore 12 /* v */
        start local 12 // org.aspectj.weaver.bcel.BcelVar v
        16: .line 589
            aload 12 /* v */
            ifnonnull 72
        17: .line 591
            iload 8 /* isAnnotationStyleAspect */
            ifeq 74
        18: .line 598
            ldc "Lorg/aspectj/lang/ProceedingJoinPoint;"
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 10 /* i */
            aaload
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        19: .line 600
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpeq 30
        20: .line 601
            iconst_0
            istore 9 /* previousIsClosure */
        21: .line 602
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
        22: .line 603
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
        23: .line 604
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
        24: .line 606
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "use of ProceedingJoinPoint is allowed only on around advice (arg "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 607
            iload 10 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_1
        26: .line 606
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
        27: .line 605
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        28: .line 609
            aload 6 /* il */
            getstatic org.aspectj.apache.bcel.generic.InstructionConstants.ACONST_NULL:Lorg/aspectj/apache/bcel/generic/Instruction;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/Instruction;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        29: .line 610
            goto 74
        30: .line 611
      StackMap locals: org.aspectj.weaver.bcel.BcelVar
      StackMap stack:
            iload 9 /* previousIsClosure */
            ifeq 33
        31: .line 612
            aload 6 /* il */
            getstatic org.aspectj.apache.bcel.generic.InstructionConstants.DUP:Lorg/aspectj/apache/bcel/generic/Instruction;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/Instruction;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        32: .line 613
            goto 74
        33: .line 614
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* previousIsClosure */
        34: .line 615
            aload 6 /* il */
            aload 3 /* closureInstantiation */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.copy:()Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        35: .line 616
            aload 1 /* shadow */
            iconst_1
            putfield org.aspectj.weaver.bcel.BcelShadow.closureVarInitialized:Z
        36: .line 619
            goto 74
      StackMap locals:
      StackMap stack:
        37: ldc "Lorg/aspectj/lang/JoinPoint$StaticPart;"
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 10 /* i */
            aaload
        38: .line 620
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
        39: .line 619
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        40: .line 620
            ifeq 45
        41: .line 621
            iconst_0
            istore 9 /* previousIsClosure */
        42: .line 622
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_4
            iand
            ifeq 74
        43: .line 623
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisJoinPointStaticPartBcelVar:()Lorg/aspectj/weaver/bcel/BcelVar;
            aload 6 /* il */
            aload 4 /* fact */
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoad:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;)V
        44: .line 625
            goto 74
      StackMap locals:
      StackMap stack:
        45: ldc "Lorg/aspectj/lang/JoinPoint;"
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 10 /* i */
            aaload
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        46: .line 626
            iconst_0
            istore 9 /* previousIsClosure */
        47: .line 627
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_2
            iand
            ifeq 74
        48: .line 628
            aload 6 /* il */
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.loadThisJoinPoint:()Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        49: .line 630
            goto 74
      StackMap locals:
      StackMap stack:
        50: ldc "Lorg/aspectj/lang/JoinPoint$EnclosingStaticPart;"
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 10 /* i */
            aaload
        51: .line 631
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
        52: .line 630
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        53: .line 631
            ifeq 58
        54: .line 632
            iconst_0
            istore 9 /* previousIsClosure */
        55: .line 633
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            bipush 8
            iand
            ifeq 74
        56: .line 634
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisEnclosingJoinPointStaticPartBcelVar:()Lorg/aspectj/weaver/bcel/BcelVar;
            aload 6 /* il */
            aload 4 /* fact */
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoad:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;)V
        57: .line 636
            goto 74
      StackMap locals:
      StackMap stack:
        58: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasExtraParameter:()Z
            ifeq 62
        59: .line 637
            iconst_0
            istore 9 /* previousIsClosure */
        60: .line 638
            aload 2 /* extraVar */
            aload 6 /* il */
            aload 4 /* fact */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoadAndConvert:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/ResolvedType;)V
        61: .line 639
            goto 74
        62: .line 640
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* previousIsClosure */
        63: .line 641
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
        64: .line 642
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
        65: .line 643
            invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
        66: .line 645
            new org.aspectj.bridge.Message
            dup
            new java.lang.StringBuilder
            dup
            ldc "use of ProceedingJoinPoint is allowed only on around advice (arg "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        67: .line 646
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_1
        68: .line 645
            invokespecial org.aspectj.bridge.Message.<init>:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Z)V
        69: .line 644
            invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
            pop
        70: .line 648
            aload 6 /* il */
            getstatic org.aspectj.apache.bcel.generic.InstructionConstants.ACONST_NULL:Lorg/aspectj/apache/bcel/generic/Instruction;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/Instruction;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        71: .line 651
            goto 74
        72: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getBindingParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 10 /* i */
            aaload
            astore 13 /* desiredTy */
        start local 13 // org.aspectj.weaver.UnresolvedType desiredTy
        73: .line 653
            aload 12 /* v */
            aload 6 /* il */
            aload 4 /* fact */
            aload 13 /* desiredTy */
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoadAndConvert:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/ResolvedType;)V
        end local 13 // org.aspectj.weaver.UnresolvedType desiredTy
        end local 12 // org.aspectj.weaver.bcel.BcelVar v
        74: .line 583
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 10 /* i */
            iload 11 /* len */
            if_icmplt 13
        end local 11 // int len
        end local 10 // int i
        76: .line 659
            iload 8 /* isAnnotationStyleAspect */
            ifne 88
        77: .line 660
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 80
        78: .line 661
            aload 6 /* il */
            aload 3 /* closureInstantiation */
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        79: .line 662
            goto 82
      StackMap locals:
      StackMap stack:
        80: aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.hasExtraParameter:()Z
            ifeq 82
        81: .line 663
            aload 2 /* extraVar */
            aload 6 /* il */
            aload 4 /* fact */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoadAndConvert:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/ResolvedType;)V
        82: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_4
            iand
            ifeq 84
        83: .line 670
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisJoinPointStaticPartBcelVar:()Lorg/aspectj/weaver/bcel/BcelVar;
            aload 6 /* il */
            aload 4 /* fact */
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoad:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;)V
        84: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            iconst_2
            iand
            ifeq 86
        85: .line 674
            aload 6 /* il */
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.loadThisJoinPoint:()Lorg/aspectj/apache/bcel/generic/InstructionList;
            invokevirtual org.aspectj.apache.bcel.generic.InstructionList.append:(Lorg/aspectj/apache/bcel/generic/InstructionList;)Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            pop
        86: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getExtraParameterFlags:()I
            bipush 8
            iand
            ifeq 88
        87: .line 678
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getThisEnclosingJoinPointStaticPartBcelVar:()Lorg/aspectj/weaver/bcel/BcelVar;
            aload 6 /* il */
            aload 4 /* fact */
            invokevirtual org.aspectj.weaver.bcel.BcelVar.appendLoad:(Lorg/aspectj/apache/bcel/generic/InstructionList;Lorg/aspectj/apache/bcel/generic/InstructionFactory;)V
        88: .line 682
      StackMap locals:
      StackMap stack:
            aload 6 /* il */
            areturn
        end local 9 // boolean previousIsClosure
        end local 8 // boolean isAnnotationStyleAspect
        end local 7 // boolean x
        end local 6 // org.aspectj.apache.bcel.generic.InstructionList il
        end local 5 // org.aspectj.weaver.bcel.BcelWorld world
        end local 4 // org.aspectj.apache.bcel.generic.InstructionFactory fact
        end local 3 // org.aspectj.apache.bcel.generic.InstructionList closureInstantiation
        end local 2 // org.aspectj.weaver.bcel.BcelVar extraVar
        end local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   89     0                     this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   89     1                   shadow  Lorg/aspectj/weaver/bcel/BcelShadow;
            0   89     2                 extraVar  Lorg/aspectj/weaver/bcel/BcelVar;
            0   89     3     closureInstantiation  Lorg/aspectj/apache/bcel/generic/InstructionList;
            1   89     4                     fact  Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            2   89     5                    world  Lorg/aspectj/weaver/bcel/BcelWorld;
            3   89     6                       il  Lorg/aspectj/apache/bcel/generic/InstructionList;
            6   89     7                        x  Z
            9   89     8  isAnnotationStyleAspect  Z
           10   89     9        previousIsClosure  Z
           11   76    10                        i  I
           12   76    11                      len  I
           16   74    12                        v  Lorg/aspectj/weaver/bcel/BcelVar;
           73   74    13                desiredTy  Lorg/aspectj/weaver/UnresolvedType;
    MethodParameters:
                      Name  Flags
      shadow                
      extraVar              
      closureInstantiation  

  public org.aspectj.apache.bcel.generic.InstructionList getNonTestAdviceInstructions(org.aspectj.weaver.bcel.BcelShadow);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelShadow;)Lorg/aspectj/apache/bcel/generic/InstructionList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
         0: .line 686
            new org.aspectj.apache.bcel.generic.InstructionList
            dup
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getFactory:()Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getOriginalSignature:()Lorg/aspectj/weaver/Member;
            invokestatic org.aspectj.weaver.bcel.Utility.createInvoke:(Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/Member;)Lorg/aspectj/apache/bcel/generic/Instruction;
            invokespecial org.aspectj.apache.bcel.generic.InstructionList.<init>:(Lorg/aspectj/apache/bcel/generic/Instruction;)V
            areturn
        end local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    1     1  shadow  Lorg/aspectj/weaver/bcel/BcelShadow;
    MethodParameters:
        Name  Flags
      shadow  

  public org.aspectj.weaver.Member getOriginalSignature();
    descriptor: ()Lorg/aspectj/weaver/Member;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
         0: .line 691
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getSignature:()Lorg/aspectj/weaver/Member;
            astore 1 /* sig */
        start local 1 // org.aspectj.weaver.Member sig
         1: .line 692
            aload 1 /* sig */
            instanceof org.aspectj.weaver.ResolvedMember
            ifeq 5
         2: .line 693
            aload 1 /* sig */
            checkcast org.aspectj.weaver.ResolvedMember
            astore 2 /* rsig */
        start local 2 // org.aspectj.weaver.ResolvedMember rsig
         3: .line 694
            aload 2 /* rsig */
            invokeinterface org.aspectj.weaver.ResolvedMember.hasBackingGenericMember:()Z
            ifeq 5
         4: .line 695
            aload 2 /* rsig */
            invokeinterface org.aspectj.weaver.ResolvedMember.getBackingGenericMember:()Lorg/aspectj/weaver/ResolvedMember;
            areturn
        end local 2 // org.aspectj.weaver.ResolvedMember rsig
         5: .line 698
      StackMap locals: org.aspectj.weaver.Member
      StackMap stack:
            aload 1 /* sig */
            areturn
        end local 1 // org.aspectj.weaver.Member sig
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            1    6     1   sig  Lorg/aspectj/weaver/Member;
            3    5     2  rsig  Lorg/aspectj/weaver/ResolvedMember;

  public org.aspectj.apache.bcel.generic.InstructionList getTestInstructions(org.aspectj.weaver.bcel.BcelShadow, org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle, org.aspectj.apache.bcel.generic.InstructionHandle);
    descriptor: (Lorg/aspectj/weaver/bcel/BcelShadow;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)Lorg/aspectj/apache/bcel/generic/InstructionList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
        start local 2 // org.aspectj.apache.bcel.generic.InstructionHandle sk
        start local 3 // org.aspectj.apache.bcel.generic.InstructionHandle fk
        start local 4 // org.aspectj.apache.bcel.generic.InstructionHandle next
         0: .line 703
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getFactory:()Lorg/aspectj/apache/bcel/generic/InstructionFactory;
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.bcel.BcelShadow.getWorld:()Lorg/aspectj/weaver/bcel/BcelWorld;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.runtimeTest:Lorg/aspectj/weaver/ast/Test;
            aload 2 /* sk */
            aload 3 /* fk */
            aload 4 /* next */
            invokestatic org.aspectj.weaver.bcel.BcelRenderer.renderTest:(Lorg/aspectj/apache/bcel/generic/InstructionFactory;Lorg/aspectj/weaver/bcel/BcelWorld;Lorg/aspectj/weaver/ast/Test;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;Lorg/aspectj/apache/bcel/generic/InstructionHandle;)Lorg/aspectj/apache/bcel/generic/InstructionList;
            areturn
        end local 4 // org.aspectj.apache.bcel.generic.InstructionHandle next
        end local 3 // org.aspectj.apache.bcel.generic.InstructionHandle fk
        end local 2 // org.aspectj.apache.bcel.generic.InstructionHandle sk
        end local 1 // org.aspectj.weaver.bcel.BcelShadow shadow
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    1     1  shadow  Lorg/aspectj/weaver/bcel/BcelShadow;
            0    1     2      sk  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            0    1     3      fk  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
            0    1     4    next  Lorg/aspectj/apache/bcel/generic/InstructionHandle;
    MethodParameters:
        Name  Flags
      shadow  
      sk      
      fk      
      next    

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // java.lang.Object other
         0: .line 707
            aload 1 /* other */
            instanceof org.aspectj.weaver.bcel.BcelAdvice
            ifne 2
         1: .line 708
            iconst_0
            ireturn
         2: .line 710
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.aspectj.weaver.bcel.BcelAdvice
            astore 2 /* o */
        start local 2 // org.aspectj.weaver.bcel.BcelAdvice o
         3: .line 713
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.getPrecedence:()I
            aload 2 /* o */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.getPrecedence:()I
            if_icmpeq 7
         4: .line 714
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.getPrecedence:()I
            aload 2 /* o */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.getPrecedence:()I
            if_icmple 6
         5: .line 715
            iconst_1
            ireturn
         6: .line 717
      StackMap locals: org.aspectj.weaver.bcel.BcelAdvice
      StackMap stack:
            iconst_m1
            ireturn
         7: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isCflow:()Z
            ifeq 20
         8: .line 724
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.CflowBelowEntry:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 3 /* isBelow */
        start local 3 // boolean isBelow
        11: .line 726
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.innerCflowEntries:Ljava/util/List;
            aload 2 /* o */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 727
            iload 3 /* isBelow */
            ifeq 13
            iconst_1
            goto 14
      StackMap locals: int
      StackMap stack:
        13: iconst_m1
      StackMap locals:
      StackMap stack: int
        14: ireturn
        15: .line 728
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            getfield org.aspectj.weaver.bcel.BcelAdvice.innerCflowEntries:Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 729
            iload 3 /* isBelow */
            ifeq 17
            iconst_m1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: ireturn
        19: .line 731
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean isBelow
        20: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isPerEntry:()Z
            ifne 21
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Softener:Lorg/aspectj/weaver/AdviceKind;
            if_acmpne 22
        21: .line 736
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            astore 3 /* world */
        start local 3 // org.aspectj.weaver.World world
        23: .line 742
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            aload 2 /* o */
            getfield org.aspectj.weaver.bcel.BcelAdvice.concreteAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.World.compareByPrecedence:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;)I
            istore 4 /* ret */
        start local 4 // int ret
        24: .line 743
            iload 4 /* ret */
            ifeq 26
        25: .line 744
            iload 4 /* ret */
            ireturn
        26: .line 747
      StackMap locals: org.aspectj.weaver.World int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            aload 3 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 5 /* declaringAspect */
        start local 5 // org.aspectj.weaver.ResolvedType declaringAspect
        27: .line 748
            aload 2 /* o */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getDeclaringAspect:()Lorg/aspectj/weaver/UnresolvedType;
            aload 3 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 6 /* o_declaringAspect */
        start local 6 // org.aspectj.weaver.ResolvedType o_declaringAspect
        28: .line 750
            aload 5 /* declaringAspect */
            aload 6 /* o_declaringAspect */
            if_acmpne 36
        29: .line 751
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isAfter:()Z
            ifne 30
            aload 2 /* o */
            getfield org.aspectj.weaver.bcel.BcelAdvice.kind:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isAfter:()Z
            ifeq 33
        30: .line 752
      StackMap locals: org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getStart:()I
            aload 2 /* o */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getStart:()I
            if_icmpge 31
            iconst_m1
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: ireturn
        33: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getStart:()I
            aload 2 /* o */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getStart:()I
            if_icmpge 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_m1
      StackMap locals:
      StackMap stack: int
        35: ireturn
        36: .line 756
      StackMap locals:
      StackMap stack:
            aload 5 /* declaringAspect */
            aload 6 /* o_declaringAspect */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 38
        37: .line 757
            iconst_m1
            ireturn
        38: .line 758
      StackMap locals:
      StackMap stack:
            aload 6 /* o_declaringAspect */
            aload 5 /* declaringAspect */
            invokevirtual org.aspectj.weaver.ResolvedType.isAssignableFrom:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 40
        39: .line 759
            iconst_1
            ireturn
        40: .line 761
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.aspectj.weaver.ResolvedType o_declaringAspect
        end local 5 // org.aspectj.weaver.ResolvedType declaringAspect
        end local 4 // int ret
        end local 3 // org.aspectj.weaver.World world
        end local 2 // org.aspectj.weaver.bcel.BcelAdvice o
        end local 1 // java.lang.Object other
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   41     1              other  Ljava/lang/Object;
            3   41     2                  o  Lorg/aspectj/weaver/bcel/BcelAdvice;
           11   20     3            isBelow  Z
           23   41     3              world  Lorg/aspectj/weaver/World;
           24   41     4                ret  I
           27   41     5    declaringAspect  Lorg/aspectj/weaver/ResolvedType;
           28   41     6  o_declaringAspect  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
       Name  Flags
      other  

  public org.aspectj.weaver.bcel.BcelVar[] getExposedStateAsBcelVars(boolean);
    descriptor: (Z)[Lorg/aspectj/weaver/bcel/BcelVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // boolean isAround
         0: .line 767
            iload 1 /* isAround */
            ifeq 3
         1: .line 769
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            ifnull 3
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.bcel.BcelAdvice.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifeq 3
         2: .line 770
            getstatic org.aspectj.weaver.bcel.BcelVar.NONE:[Lorg/aspectj/weaver/bcel/BcelVar;
            areturn
         3: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            ifnonnull 5
         4: .line 776
            getstatic org.aspectj.weaver.bcel.BcelVar.NONE:[Lorg/aspectj/weaver/bcel/BcelVar;
            areturn
         5: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            getfield org.aspectj.weaver.patterns.ExposedState.vars:[Lorg/aspectj/weaver/ast/Var;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         6: .line 779
            iload 2 /* len */
            anewarray org.aspectj.weaver.bcel.BcelVar
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.bcel.BcelVar[] ret
         7: .line 780
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 781
      StackMap locals: int org.aspectj.weaver.bcel.BcelVar[] int
      StackMap stack:
            aload 3 /* ret */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.exposedState:Lorg/aspectj/weaver/patterns/ExposedState;
            getfield org.aspectj.weaver.patterns.ExposedState.vars:[Lorg/aspectj/weaver/ast/Var;
            iload 4 /* i */
            aaload
            checkcast org.aspectj.weaver.bcel.BcelVar
            aastore
        10: .line 780
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 9
        end local 4 // int i
        12: .line 783
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.bcel.BcelVar[] ret
        end local 2 // int len
        end local 1 // boolean isAround
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0   13     1  isAround  Z
            6   13     2       len  I
            7   13     3       ret  [Lorg/aspectj/weaver/bcel/BcelVar;
            8   12     4         i  I
    MethodParameters:
          Name  Flags
      isAround  

  protected void suppressLintWarnings(org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/World;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.World inWorld
         0: .line 787
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
            ifnonnull 6
         1: .line 788
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            instanceof org.aspectj.weaver.bcel.BcelMethod
            ifeq 4
         2: .line 789
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.signature:Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getAnnotations:()[Lorg/aspectj/weaver/AnnotationAJ;
            aload 1 /* inWorld */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            invokestatic org.aspectj.weaver.bcel.Utility.getSuppressedWarnings:([Lorg/aspectj/weaver/AnnotationAJ;Lorg/aspectj/weaver/Lint;)Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
         3: .line 790
            goto 6
         4: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
         5: .line 792
            return
         6: .line 795
      StackMap locals:
      StackMap stack:
            aload 1 /* inWorld */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            aload 0 /* this */
            getfield org.aspectj.weaver.bcel.BcelAdvice.suppressedLintKinds:Ljava/util/List;
            invokevirtual org.aspectj.weaver.Lint.suppressKinds:(Ljava/util/Collection;)V
         7: .line 796
            return
        end local 1 // org.aspectj.weaver.World inWorld
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    8     1  inWorld  Lorg/aspectj/weaver/World;
    MethodParameters:
         Name  Flags
      inWorld  

  protected void clearLintSuppressions(org.aspectj.weaver.World, java.util.Collection<org.aspectj.weaver.Lint$Kind>);
    descriptor: (Lorg/aspectj/weaver/World;Ljava/util/Collection;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.World inWorld
        start local 2 // java.util.Collection toClear
         0: .line 799
            aload 1 /* inWorld */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            aload 2 /* toClear */
            invokevirtual org.aspectj.weaver.Lint.clearSuppressions:(Ljava/util/Collection;)V
         1: .line 800
            return
        end local 2 // java.util.Collection toClear
        end local 1 // org.aspectj.weaver.World inWorld
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    2     1  inWorld  Lorg/aspectj/weaver/World;
            0    2     2  toClear  Ljava/util/Collection<Lorg/aspectj/weaver/Lint$Kind;>;
    Signature: (Lorg/aspectj/weaver/World;Ljava/util/Collection<Lorg/aspectj/weaver/Lint$Kind;>;)V
    MethodParameters:
         Name  Flags
      inWorld  
      toClear  

  public void <init>(org.aspectj.weaver.AdviceKind, org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.Member, int, int, int, org.aspectj.weaver.ISourceContext, org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/Member;IIILorg/aspectj/weaver/ISourceContext;Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=9
        start local 0 // org.aspectj.weaver.bcel.BcelAdvice this
        start local 1 // org.aspectj.weaver.AdviceKind kind
        start local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        start local 3 // org.aspectj.weaver.Member signature
        start local 4 // int extraArgumentFlags
        start local 5 // int start
        start local 6 // int end
        start local 7 // org.aspectj.weaver.ISourceContext sourceContext
        start local 8 // org.aspectj.weaver.ResolvedType concreteAspect
         0: .line 807
            aload 0 /* this */
            new org.aspectj.weaver.AjAttribute$AdviceAttribute
            dup
            aload 1 /* kind */
            aload 2 /* pointcut */
            iload 4 /* extraArgumentFlags */
            iload 5 /* start */
            iload 6 /* end */
            aload 7 /* sourceContext */
            invokespecial org.aspectj.weaver.AjAttribute$AdviceAttribute.<init>:(Lorg/aspectj/weaver/AdviceKind;Lorg/aspectj/weaver/patterns/Pointcut;IIILorg/aspectj/weaver/ISourceContext;)V
            aload 2 /* pointcut */
            aload 3 /* signature */
         1: .line 808
            aload 8 /* concreteAspect */
            invokespecial org.aspectj.weaver.bcel.BcelAdvice.<init>:(Lorg/aspectj/weaver/AjAttribute$AdviceAttribute;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/Member;Lorg/aspectj/weaver/ResolvedType;)V
         2: .line 809
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.aspectj.weaver.bcel.BcelAdvice.thrownExceptions:Ljava/util/Collection;
         3: .line 810
            return
        end local 8 // org.aspectj.weaver.ResolvedType concreteAspect
        end local 7 // org.aspectj.weaver.ISourceContext sourceContext
        end local 6 // int end
        end local 5 // int start
        end local 4 // int extraArgumentFlags
        end local 3 // org.aspectj.weaver.Member signature
        end local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // org.aspectj.weaver.AdviceKind kind
        end local 0 // org.aspectj.weaver.bcel.BcelAdvice this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/aspectj/weaver/bcel/BcelAdvice;
            0    4     1                kind  Lorg/aspectj/weaver/AdviceKind;
            0    4     2            pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0    4     3           signature  Lorg/aspectj/weaver/Member;
            0    4     4  extraArgumentFlags  I
            0    4     5               start  I
            0    4     6                 end  I
            0    4     7       sourceContext  Lorg/aspectj/weaver/ISourceContext;
            0    4     8      concreteAspect  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
                    Name  Flags
      kind                
      pointcut            
      signature           
      extraArgumentFlags  
      start               
      end                 
      sourceContext       
      concreteAspect      
}
SourceFile: "BcelAdvice.java"
InnerClasses:
  public AdviceAttribute = org.aspectj.weaver.AjAttribute$AdviceAttribute of org.aspectj.weaver.AjAttribute
  public Kind = org.aspectj.weaver.Lint$Kind of org.aspectj.weaver.Lint
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow