public class org.aspectj.weaver.patterns.SignaturePattern extends org.aspectj.weaver.patterns.PatternNode implements org.aspectj.weaver.patterns.ISignaturePattern
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.patterns.SignaturePattern
  super_class: org.aspectj.weaver.patterns.PatternNode
{
  private org.aspectj.weaver.MemberKind kind;
    descriptor: Lorg/aspectj/weaver/MemberKind;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private static final int PARAMETER_ANNOTATION_MATCHING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CHECKED_FOR_PARAMETER_ANNOTATION_MATCHING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

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

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

  private transient int hashcode;
    descriptor: I
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean isExactDeclaringTypePattern;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(org.aspectj.weaver.MemberKind, org.aspectj.weaver.patterns.ModifiersPattern, org.aspectj.weaver.patterns.TypePattern, org.aspectj.weaver.patterns.TypePattern, org.aspectj.weaver.patterns.NamePattern, org.aspectj.weaver.patterns.TypePatternList, org.aspectj.weaver.patterns.ThrowsPattern, org.aspectj.weaver.patterns.AnnotationTypePattern);
    descriptor: (Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=9, args_size=9
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.MemberKind kind
        start local 2 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
        start local 3 // org.aspectj.weaver.patterns.TypePattern returnType
        start local 4 // org.aspectj.weaver.patterns.TypePattern declaringType
        start local 5 // org.aspectj.weaver.patterns.NamePattern name
        start local 6 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
        start local 7 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
        start local 8 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
         0: .line 62
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.PatternNode.<init>:()V
         1: .line 52
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
         2: .line 58
            aload 0 /* this */
            iconst_m1
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         3: .line 60
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.SignaturePattern.isExactDeclaringTypePattern:Z
         4: .line 64
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
         5: .line 65
            aload 0 /* this */
            aload 2 /* modifiers */
            putfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
         6: .line 66
            aload 0 /* this */
            aload 3 /* returnType */
            putfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
         7: .line 67
            aload 0 /* this */
            aload 5 /* name */
            putfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
         8: .line 68
            aload 0 /* this */
            aload 4 /* declaringType */
            putfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
         9: .line 69
            aload 0 /* this */
            aload 6 /* parameterTypes */
            putfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
        10: .line 70
            aload 0 /* this */
            aload 7 /* throwsPattern */
            putfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
        11: .line 71
            aload 0 /* this */
            aload 8 /* annotationPattern */
            putfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
        12: .line 72
            aload 0 /* this */
            aload 4 /* declaringType */
            instanceof org.aspectj.weaver.patterns.ExactTypePattern
            putfield org.aspectj.weaver.patterns.SignaturePattern.isExactDeclaringTypePattern:Z
        13: .line 73
            return
        end local 8 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
        end local 7 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
        end local 6 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
        end local 5 // org.aspectj.weaver.patterns.NamePattern name
        end local 4 // org.aspectj.weaver.patterns.TypePattern declaringType
        end local 3 // org.aspectj.weaver.patterns.TypePattern returnType
        end local 2 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
        end local 1 // org.aspectj.weaver.MemberKind kind
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   14     1               kind  Lorg/aspectj/weaver/MemberKind;
            0   14     2          modifiers  Lorg/aspectj/weaver/patterns/ModifiersPattern;
            0   14     3         returnType  Lorg/aspectj/weaver/patterns/TypePattern;
            0   14     4      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
            0   14     5               name  Lorg/aspectj/weaver/patterns/NamePattern;
            0   14     6     parameterTypes  Lorg/aspectj/weaver/patterns/TypePatternList;
            0   14     7      throwsPattern  Lorg/aspectj/weaver/patterns/ThrowsPattern;
            0   14     8  annotationPattern  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
    MethodParameters:
                   Name  Flags
      kind               
      modifiers          
      returnType         
      declaringType      
      name               
      parameterTypes     
      throwsPattern      
      annotationPattern  

  public org.aspectj.weaver.patterns.SignaturePattern resolveBindings(org.aspectj.weaver.patterns.IScope, org.aspectj.weaver.patterns.Bindings);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
        start local 2 // org.aspectj.weaver.patterns.Bindings bindings
         0: .line 77
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            ifnull 3
         1: .line 78
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* scope */
            aload 2 /* bindings */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            putfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
         2: .line 79
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* scope */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
         3: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            ifnull 7
         4: .line 82
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* scope */
            aload 2 /* bindings */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            putfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
         5: .line 83
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* scope */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
         6: .line 84
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            instanceof org.aspectj.weaver.patterns.ExactTypePattern
            putfield org.aspectj.weaver.patterns.SignaturePattern.isExactDeclaringTypePattern:Z
         7: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            ifnull 10
         8: .line 87
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* scope */
            aload 2 /* bindings */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;ZZ)Lorg/aspectj/weaver/patterns/TypePatternList;
            putfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
         9: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* scope */
            iconst_0
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;ZZ)V
        10: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            ifnull 15
        11: .line 91
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 1 /* scope */
            aload 2 /* bindings */
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)Lorg/aspectj/weaver/patterns/ThrowsPattern;
            putfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
        12: .line 92
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.getForbidden:()Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.getTypePatterns:()[Lorg/aspectj/weaver/patterns/TypePattern;
            arraylength
            ifgt 14
        13: .line 93
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.getRequired:()Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.getTypePatterns:()[Lorg/aspectj/weaver/patterns/TypePattern;
            arraylength
            ifle 15
        14: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 1 /* scope */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
        15: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            ifnull 18
        16: .line 98
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 1 /* scope */
            aload 2 /* bindings */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;Z)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            putfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
        17: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 1 /* scope */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
        18: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
        19: .line 102
            aload 0 /* this */
            areturn
        end local 2 // org.aspectj.weaver.patterns.Bindings bindings
        end local 1 // org.aspectj.weaver.patterns.IScope scope
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   20     1     scope  Lorg/aspectj/weaver/patterns/IScope;
            0   20     2  bindings  Lorg/aspectj/weaver/patterns/Bindings;
    MethodParameters:
          Name  Flags
      scope     
      bindings  

  private void checkForIncorrectTargetKind(org.aspectj.weaver.patterns.PatternNode, org.aspectj.weaver.patterns.IScope, boolean);
    descriptor: (Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.PatternNode patternNode
        start local 2 // org.aspectj.weaver.patterns.IScope scope
        start local 3 // boolean targetsOtherThanTypeAllowed
         0: .line 106
            aload 0 /* this */
            aload 1 /* patternNode */
            aload 2 /* scope */
            iload 3 /* targetsOtherThanTypeAllowed */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.checkForIncorrectTargetKind:(Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;ZZ)V
         1: .line 108
            return
        end local 3 // boolean targetsOtherThanTypeAllowed
        end local 2 // org.aspectj.weaver.patterns.IScope scope
        end local 1 // org.aspectj.weaver.patterns.PatternNode patternNode
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    2     1                  patternNode  Lorg/aspectj/weaver/patterns/PatternNode;
            0    2     2                        scope  Lorg/aspectj/weaver/patterns/IScope;
            0    2     3  targetsOtherThanTypeAllowed  Z
    MethodParameters:
                             Name  Flags
      patternNode                  
      scope                        
      targetsOtherThanTypeAllowed  

  private void checkForIncorrectTargetKind(org.aspectj.weaver.patterns.PatternNode, org.aspectj.weaver.patterns.IScope, boolean, boolean);
    descriptor: (Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.PatternNode patternNode
        start local 2 // org.aspectj.weaver.patterns.IScope scope
        start local 3 // boolean targetsOtherThanTypeAllowed
        start local 4 // boolean parameterTargettingAnnotationsAllowed
         0: .line 117
            aload 2 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.isInJava5Mode:()Z
            ifeq 2
            aload 2 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.unmatchedTargetKind:Lorg/aspectj/weaver/Lint$Kind;
            ifnull 2
         1: .line 118
            aload 1 /* patternNode */
            instanceof org.aspectj.weaver.patterns.AnyTypePattern
            ifeq 3
         2: .line 119
      StackMap locals:
      StackMap stack:
            return
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* patternNode */
            instanceof org.aspectj.weaver.patterns.ExactAnnotationTypePattern
            ifeq 17
         4: .line 122
            aload 1 /* patternNode */
            checkcast org.aspectj.weaver.patterns.ExactAnnotationTypePattern
            invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.getAnnotationType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 5 /* resolvedType */
        start local 5 // org.aspectj.weaver.ResolvedType resolvedType
         5: .line 123
            iload 3 /* targetsOtherThanTypeAllowed */
            ifeq 11
         6: .line 124
            aload 5 /* resolvedType */
            invokevirtual org.aspectj.weaver.ResolvedType.getAnnotationTargetKinds:()[Lorg/aspectj/weaver/AnnotationTargetKind;
            astore 6 /* targetKinds */
        start local 6 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
         7: .line 125
            aload 6 /* targetKinds */
            ifnonnull 9
         8: .line 126
            return
         9: .line 128
      StackMap locals: org.aspectj.weaver.ResolvedType org.aspectj.weaver.AnnotationTargetKind[]
      StackMap stack:
            aload 0 /* this */
            aload 6 /* targetKinds */
            aload 1 /* patternNode */
            aload 2 /* scope */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.reportUnmatchedTargetKindMessage:([Lorg/aspectj/weaver/AnnotationTargetKind;Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
        end local 6 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
        10: .line 129
            goto 29
      StackMap locals:
      StackMap stack:
        11: iload 3 /* targetsOtherThanTypeAllowed */
            ifne 29
            aload 5 /* resolvedType */
            invokevirtual org.aspectj.weaver.ResolvedType.canAnnotationTargetType:()Z
            ifne 29
        12: .line 131
            aload 5 /* resolvedType */
            invokevirtual org.aspectj.weaver.ResolvedType.getAnnotationTargetKinds:()[Lorg/aspectj/weaver/AnnotationTargetKind;
            astore 6 /* targetKinds */
        start local 6 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
        13: .line 132
            aload 6 /* targetKinds */
            ifnonnull 15
        14: .line 133
            return
        15: .line 135
      StackMap locals: org.aspectj.weaver.AnnotationTargetKind[]
      StackMap stack:
            aload 0 /* this */
            aload 6 /* targetKinds */
            aload 1 /* patternNode */
            aload 2 /* scope */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.reportUnmatchedTargetKindMessage:([Lorg/aspectj/weaver/AnnotationTargetKind;Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
        end local 6 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
        end local 5 // org.aspectj.weaver.ResolvedType resolvedType
        16: .line 137
            goto 29
        17: .line 138
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor
            dup
            aload 0 /* this */
            aload 2 /* scope */
            iload 3 /* targetsOtherThanTypeAllowed */
        18: .line 139
            iload 4 /* parameterTargettingAnnotationsAllowed */
        19: .line 138
            invokespecial org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor.<init>:(Lorg/aspectj/weaver/patterns/SignaturePattern;Lorg/aspectj/weaver/patterns/IScope;ZZ)V
            astore 5 /* visitor */
        start local 5 // org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor visitor
        20: .line 140
            aload 1 /* patternNode */
            aload 5 /* visitor */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.PatternNode.traverse:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 141
            aload 5 /* visitor */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor.containedIncorrectTargetKind:()Z
            ifeq 29
        22: .line 142
            aload 5 /* visitor */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor.getIncorrectTargetKinds:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 6 /* keys */
        start local 6 // java.util.Set keys
        23: .line 143
            aload 6 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        start local 7 // java.util.Iterator iter
        24: goto 28
        25: .line 144
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor java.util.Set java.util.Iterator
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.PatternNode
            astore 8 /* node */
        start local 8 // org.aspectj.weaver.patterns.PatternNode node
        26: .line 145
            aload 5 /* visitor */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor.getIncorrectTargetKinds:()Ljava/util/Map;
            aload 8 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.aspectj.weaver.AnnotationTargetKind[]
            astore 9 /* targetKinds */
        start local 9 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
        27: .line 146
            aload 0 /* this */
            aload 9 /* targetKinds */
            aload 8 /* node */
            aload 2 /* scope */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.reportUnmatchedTargetKindMessage:([Lorg/aspectj/weaver/AnnotationTargetKind;Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
        end local 9 // org.aspectj.weaver.AnnotationTargetKind[] targetKinds
        end local 8 // org.aspectj.weaver.patterns.PatternNode node
        28: .line 143
      StackMap locals:
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 7 // java.util.Iterator iter
        end local 6 // java.util.Set keys
        end local 5 // org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor visitor
        29: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean parameterTargettingAnnotationsAllowed
        end local 3 // boolean targetsOtherThanTypeAllowed
        end local 2 // org.aspectj.weaver.patterns.IScope scope
        end local 1 // org.aspectj.weaver.patterns.PatternNode patternNode
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                                   Name  Signature
            0   30     0                                   this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   30     1                            patternNode  Lorg/aspectj/weaver/patterns/PatternNode;
            0   30     2                                  scope  Lorg/aspectj/weaver/patterns/IScope;
            0   30     3            targetsOtherThanTypeAllowed  Z
            0   30     4  parameterTargettingAnnotationsAllowed  Z
            5   16     5                           resolvedType  Lorg/aspectj/weaver/ResolvedType;
            7   10     6                            targetKinds  [Lorg/aspectj/weaver/AnnotationTargetKind;
           13   16     6                            targetKinds  [Lorg/aspectj/weaver/AnnotationTargetKind;
           20   29     5                                visitor  Lorg/aspectj/weaver/patterns/SignaturePattern$TypePatternVisitor;
           23   29     6                                   keys  Ljava/util/Set<Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;>;
           24   29     7                                   iter  Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;>;
           26   28     8                                   node  Lorg/aspectj/weaver/patterns/PatternNode;
           27   28     9                            targetKinds  [Lorg/aspectj/weaver/AnnotationTargetKind;
    MethodParameters:
                                       Name  Flags
      patternNode                            
      scope                                  
      targetsOtherThanTypeAllowed            
      parameterTargettingAnnotationsAllowed  

  private void reportUnmatchedTargetKindMessage(org.aspectj.weaver.AnnotationTargetKind[], org.aspectj.weaver.patterns.PatternNode, org.aspectj.weaver.patterns.IScope, boolean);
    descriptor: ([Lorg/aspectj/weaver/AnnotationTargetKind;Lorg/aspectj/weaver/patterns/PatternNode;Lorg/aspectj/weaver/patterns/IScope;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.AnnotationTargetKind[] annotationTargetKinds
        start local 2 // org.aspectj.weaver.patterns.PatternNode node
        start local 3 // org.aspectj.weaver.patterns.IScope scope
        start local 4 // boolean checkMatchesMemberKindName
         0: .line 154
            new java.lang.StringBuffer
            dup
            ldc "{"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 5 /* targetNames */
        start local 5 // java.lang.StringBuffer targetNames
         1: .line 155
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 11
         3: .line 156
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* annotationTargetKinds */
            iload 6 /* i */
            aaload
            astore 7 /* targetKind */
        start local 7 // org.aspectj.weaver.AnnotationTargetKind targetKind
         4: .line 157
            iload 4 /* checkMatchesMemberKindName */
            ifeq 6
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            invokevirtual org.aspectj.weaver.MemberKind.getName:()Ljava/lang/String;
            aload 7 /* targetKind */
            invokevirtual org.aspectj.weaver.AnnotationTargetKind.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 158
            return
         6: .line 160
      StackMap locals: org.aspectj.weaver.AnnotationTargetKind
      StackMap stack:
            iload 6 /* i */
            aload 1 /* annotationTargetKinds */
            arraylength
            iconst_1
            isub
            if_icmpge 9
         7: .line 161
            aload 5 /* targetNames */
            new java.lang.StringBuilder
            dup
            ldc "ElementType."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* targetKind */
            invokevirtual org.aspectj.weaver.AnnotationTargetKind.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 162
            goto 10
         9: .line 163
      StackMap locals:
      StackMap stack:
            aload 5 /* targetNames */
            new java.lang.StringBuilder
            dup
            ldc "ElementType."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* targetKind */
            invokevirtual org.aspectj.weaver.AnnotationTargetKind.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 7 // org.aspectj.weaver.AnnotationTargetKind targetKind
        10: .line 155
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 1 /* annotationTargetKinds */
            arraylength
            if_icmplt 3
        end local 6 // int i
        12: .line 166
            aload 3 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.unmatchedTargetKind:Lorg/aspectj/weaver/Lint$Kind;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* node */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* targetNames */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aastore
        13: .line 167
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            iconst_0
            anewarray org.aspectj.bridge.ISourceLocation
        14: .line 166
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:([Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;[Lorg/aspectj/bridge/ISourceLocation;)V
        15: .line 168
            return
        end local 5 // java.lang.StringBuffer targetNames
        end local 4 // boolean checkMatchesMemberKindName
        end local 3 // org.aspectj.weaver.patterns.IScope scope
        end local 2 // org.aspectj.weaver.patterns.PatternNode node
        end local 1 // org.aspectj.weaver.AnnotationTargetKind[] annotationTargetKinds
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   16     1       annotationTargetKinds  [Lorg/aspectj/weaver/AnnotationTargetKind;
            0   16     2                        node  Lorg/aspectj/weaver/patterns/PatternNode;
            0   16     3                       scope  Lorg/aspectj/weaver/patterns/IScope;
            0   16     4  checkMatchesMemberKindName  Z
            1   16     5                 targetNames  Ljava/lang/StringBuffer;
            2   12     6                           i  I
            4   10     7                  targetKind  Lorg/aspectj/weaver/AnnotationTargetKind;
    MethodParameters:
                            Name  Flags
      annotationTargetKinds       
      node                        
      scope                       
      checkMatchesMemberKindName  

  public void postRead(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.ResolvedType enclosingType
         0: .line 279
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            ifnull 2
         1: .line 280
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* enclosingType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.postRead:(Lorg/aspectj/weaver/ResolvedType;)V
         2: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            ifnull 4
         3: .line 283
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* enclosingType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.postRead:(Lorg/aspectj/weaver/ResolvedType;)V
         4: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            ifnull 6
         5: .line 286
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* enclosingType */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.postRead:(Lorg/aspectj/weaver/ResolvedType;)V
         6: .line 288
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.ResolvedType enclosingType
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    7     1  enclosingType  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
               Name  Flags
      enclosingType  

  public org.aspectj.weaver.patterns.SignaturePattern parameterizeWith(java.util.Map<java.lang.String, org.aspectj.weaver.UnresolvedType>, org.aspectj.weaver.World);
    descriptor: (Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // java.util.Map typeVariableMap
        start local 2 // org.aspectj.weaver.World w
         0: .line 296
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
         1: .line 297
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
         2: .line 298
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
         3: .line 296
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.SignaturePattern ret
         4: .line 299
            aload 3 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
         5: .line 300
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.patterns.SignaturePattern ret
        end local 2 // org.aspectj.weaver.World w
        end local 1 // java.util.Map typeVariableMap
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    6     1  typeVariableMap  Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;
            0    6     2                w  Lorg/aspectj/weaver/World;
            4    6     3              ret  Lorg/aspectj/weaver/patterns/SignaturePattern;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/SignaturePattern;
    MethodParameters:
                 Name  Flags
      typeVariableMap  
      w                

  public boolean matches(org.aspectj.weaver.Member, org.aspectj.weaver.World, boolean);
    descriptor: (Lorg/aspectj/weaver/Member;Lorg/aspectj/weaver/World;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.Member joinPointSignature
        start local 2 // org.aspectj.weaver.World world
        start local 3 // boolean allowBridgeMethods
         0: .line 306
            aload 1 /* joinPointSignature */
            ifnonnull 2
         1: .line 307
            iconst_0
            ireturn
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            aload 1 /* joinPointSignature */
            invokeinterface org.aspectj.weaver.Member.getKind:()Lorg/aspectj/weaver/MemberKind;
            if_acmpeq 4
         3: .line 310
            iconst_0
            ireturn
         4: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.ADVICE:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 6
         5: .line 313
            iconst_1
            ireturn
         6: .line 317
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* subjectMatch */
        start local 4 // boolean subjectMatch
         7: .line 318
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.wantToMatchAnnotationPattern:()Z
            istore 5 /* wantsAnnotationMatch */
        start local 5 // boolean wantsAnnotationMatch
         8: .line 319
            aload 1 /* joinPointSignature */
            aload 2 /* world */
            invokeinterface org.aspectj.weaver.Member.getJoinPointSignatures:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/JoinPointSignatureIterator;
            astore 6 /* candidateMatches */
        start local 6 // org.aspectj.weaver.JoinPointSignatureIterator candidateMatches
         9: .line 320
            goto 19
        10: .line 321
      StackMap locals: int int org.aspectj.weaver.JoinPointSignatureIterator
      StackMap stack:
            aload 6 /* candidateMatches */
            invokevirtual org.aspectj.weaver.JoinPointSignatureIterator.next:()Lorg/aspectj/weaver/JoinPointSignature;
            astore 7 /* aSig */
        start local 7 // org.aspectj.weaver.JoinPointSignature aSig
        11: .line 323
            aload 0 /* this */
            aload 7 /* aSig */
            aload 2 /* world */
            iload 3 /* allowBridgeMethods */
            iload 4 /* subjectMatch */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesExactly:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;ZZ)Lorg/aspectj/util/FuzzyBoolean;
            astore 8 /* matchResult */
        start local 8 // org.aspectj.util.FuzzyBoolean matchResult
        12: .line 324
            aload 8 /* matchResult */
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifeq 14
        13: .line 325
            iconst_1
            ireturn
        14: .line 326
      StackMap locals: org.aspectj.weaver.JoinPointSignature org.aspectj.util.FuzzyBoolean
      StackMap stack:
            aload 8 /* matchResult */
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysFalse:()Z
            ifeq 16
        15: .line 327
            iconst_0
            ireturn
        16: .line 332
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* subjectMatch */
        17: .line 334
            iload 5 /* wantsAnnotationMatch */
            ifeq 19
        18: .line 335
            iconst_0
            ireturn
        end local 8 // org.aspectj.util.FuzzyBoolean matchResult
        end local 7 // org.aspectj.weaver.JoinPointSignature aSig
        19: .line 320
      StackMap locals:
      StackMap stack:
            aload 6 /* candidateMatches */
            invokevirtual org.aspectj.weaver.JoinPointSignatureIterator.hasNext:()Z
            ifne 10
        20: .line 338
            iconst_0
            ireturn
        end local 6 // org.aspectj.weaver.JoinPointSignatureIterator candidateMatches
        end local 5 // boolean wantsAnnotationMatch
        end local 4 // boolean subjectMatch
        end local 3 // boolean allowBridgeMethods
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.Member joinPointSignature
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   21     1    joinPointSignature  Lorg/aspectj/weaver/Member;
            0   21     2                 world  Lorg/aspectj/weaver/World;
            0   21     3    allowBridgeMethods  Z
            7   21     4          subjectMatch  Z
            8   21     5  wantsAnnotationMatch  Z
            9   21     6      candidateMatches  Lorg/aspectj/weaver/JoinPointSignatureIterator;
           11   19     7                  aSig  Lorg/aspectj/weaver/JoinPointSignature;
           12   19     8           matchResult  Lorg/aspectj/util/FuzzyBoolean;
    MethodParameters:
                    Name  Flags
      joinPointSignature  
      world               
      allowBridgeMethods  

  private org.aspectj.util.FuzzyBoolean matchesExactly(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World, boolean, boolean);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;ZZ)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aMember
        start local 2 // org.aspectj.weaver.World inAWorld
        start local 3 // boolean allowBridgeMethods
        start local 4 // boolean subjectMatch
         0: .line 347
            aload 1 /* aMember */
            invokevirtual org.aspectj.weaver.JoinPointSignature.isBridgeMethod:()Z
            ifeq 2
            iload 3 /* allowBridgeMethods */
            ifne 2
         1: .line 348
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 353
      StackMap locals:
      StackMap stack:
            iload 4 /* subjectMatch */
            ifeq 4
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            aload 1 /* aMember */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getModifiers:()I
            invokevirtual org.aspectj.weaver.patterns.ModifiersPattern.matches:(I)Z
            ifne 4
         3: .line 354
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         4: .line 357
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            astore 5 /* matchesIgnoringAnnotations */
        start local 5 // org.aspectj.util.FuzzyBoolean matchesIgnoringAnnotations
         5: .line 358
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.STATIC_INITIALIZATION:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 8
         6: .line 359
            aload 0 /* this */
            aload 1 /* aMember */
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesExactlyStaticInitialization:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
            astore 5 /* matchesIgnoringAnnotations */
         7: .line 360
            goto 16
      StackMap locals: org.aspectj.util.FuzzyBoolean
      StackMap stack:
         8: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.FIELD:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 11
         9: .line 361
            aload 0 /* this */
            aload 1 /* aMember */
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesExactlyField:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
            astore 5 /* matchesIgnoringAnnotations */
        10: .line 362
            goto 16
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.METHOD:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 14
        12: .line 363
            aload 0 /* this */
            aload 1 /* aMember */
            aload 2 /* inAWorld */
            iload 4 /* subjectMatch */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesExactlyMethod:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;Z)Lorg/aspectj/util/FuzzyBoolean;
            astore 5 /* matchesIgnoringAnnotations */
        13: .line 364
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 16
        15: .line 365
            aload 0 /* this */
            aload 1 /* aMember */
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesExactlyConstructor:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
            astore 5 /* matchesIgnoringAnnotations */
        16: .line 367
      StackMap locals:
      StackMap stack:
            aload 5 /* matchesIgnoringAnnotations */
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysFalse:()Z
            ifeq 18
        17: .line 368
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        18: .line 373
      StackMap locals:
      StackMap stack:
            iload 4 /* subjectMatch */
            ifeq 22
        19: .line 375
            aload 0 /* this */
            aload 1 /* aMember */
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesAnnotations:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifne 21
        20: .line 376
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        21: .line 378
      StackMap locals:
      StackMap stack:
            aload 5 /* matchesIgnoringAnnotations */
            areturn
        22: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            instanceof org.aspectj.weaver.patterns.AnyAnnotationTypePattern
            ifeq 24
        23: .line 383
            aload 5 /* matchesIgnoringAnnotations */
            areturn
        24: .line 385
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 5 // org.aspectj.util.FuzzyBoolean matchesIgnoringAnnotations
        end local 4 // boolean subjectMatch
        end local 3 // boolean allowBridgeMethods
        end local 2 // org.aspectj.weaver.World inAWorld
        end local 1 // org.aspectj.weaver.JoinPointSignature aMember
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   25     0                        this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   25     1                     aMember  Lorg/aspectj/weaver/JoinPointSignature;
            0   25     2                    inAWorld  Lorg/aspectj/weaver/World;
            0   25     3          allowBridgeMethods  Z
            0   25     4                subjectMatch  Z
            5   25     5  matchesIgnoringAnnotations  Lorg/aspectj/util/FuzzyBoolean;
    MethodParameters:
                    Name  Flags
      aMember             
      inAWorld            
      allowBridgeMethods  
      subjectMatch        

  private boolean wantToMatchAnnotationPattern();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 399
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            instanceof org.aspectj.weaver.patterns.AnyAnnotationTypePattern
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  private org.aspectj.util.FuzzyBoolean matchesExactlyStaticInitialization(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aMember
        start local 2 // org.aspectj.weaver.World world
         0: .line 406
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aMember */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            invokestatic org.aspectj.util.FuzzyBoolean.fromBoolean:(Z)Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.JoinPointSignature aMember
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    1     1  aMember  Lorg/aspectj/weaver/JoinPointSignature;
            0    1     2    world  Lorg/aspectj/weaver/World;
    MethodParameters:
         Name  Flags
      aMember  
      world    

  private org.aspectj.util.FuzzyBoolean matchesExactlyField(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aField
        start local 2 // org.aspectj.weaver.World world
         0: .line 413
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            aload 1 /* aField */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.matches:(Ljava/lang/String;)Z
            ifne 2
         1: .line 414
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 416
      StackMap locals:
      StackMap stack:
            aload 1 /* aField */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 3 /* fieldDeclaringType */
        start local 3 // org.aspectj.weaver.ResolvedType fieldDeclaringType
         3: .line 417
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 3 /* fieldDeclaringType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 5
         4: .line 418
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         5: .line 420
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aField */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 8
         6: .line 422
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aField */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getGenericReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 8
         7: .line 424
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         8: .line 428
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 3 // org.aspectj.weaver.ResolvedType fieldDeclaringType
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.JoinPointSignature aField
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    9     1              aField  Lorg/aspectj/weaver/JoinPointSignature;
            0    9     2               world  Lorg/aspectj/weaver/World;
            3    9     3  fieldDeclaringType  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
        Name  Flags
      aField  
      world   

  private boolean parametersCannotMatch(org.aspectj.weaver.JoinPointSignature);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature methodJoinpoint
         0: .line 439
            aload 1 /* methodJoinpoint */
            invokevirtual org.aspectj.weaver.JoinPointSignature.isVarargsMethod:()Z
            ifeq 2
         1: .line 441
            iconst_0
            ireturn
         2: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            istore 2 /* patternParameterCount */
        start local 2 // int patternParameterCount
         3: .line 446
            iload 2 /* patternParameterCount */
            ifeq 4
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            getfield org.aspectj.weaver.patterns.TypePatternList.ellipsisCount:I
            ifne 13
         4: .line 447
      StackMap locals: int
      StackMap stack:
            iload 2 /* patternParameterCount */
            aload 1 /* methodJoinpoint */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* equalCount */
        start local 3 // boolean equalCount
         7: .line 450
            iload 2 /* patternParameterCount */
            ifne 9
            iload 3 /* equalCount */
            ifne 9
         8: .line 451
            iconst_1
            ireturn
         9: .line 456
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            getfield org.aspectj.weaver.patterns.TypePatternList.ellipsisCount:I
            ifne 13
            iload 3 /* equalCount */
            ifne 13
        10: .line 457
            iload 2 /* patternParameterCount */
            ifle 12
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 2 /* patternParameterCount */
            iconst_1
            isub
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isVarArgs:()Z
            ifeq 12
        11: .line 458
            iconst_0
            ireturn
        12: .line 460
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // boolean equalCount
        13: .line 464
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int patternParameterCount
        end local 1 // org.aspectj.weaver.JoinPointSignature methodJoinpoint
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   14     1        methodJoinpoint  Lorg/aspectj/weaver/JoinPointSignature;
            3   14     2  patternParameterCount  I
            7   13     3             equalCount  Z
    MethodParameters:
                 Name  Flags
      methodJoinpoint  

  private org.aspectj.util.FuzzyBoolean matchesExactlyMethod(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World, boolean);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;Z)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aMethod
        start local 2 // org.aspectj.weaver.World world
        start local 3 // boolean subjectMatch
         0: .line 471
            aload 0 /* this */
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.parametersCannotMatch:(Lorg/aspectj/weaver/JoinPointSignature;)Z
            ifeq 2
         1: .line 473
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.matches:(Ljava/lang/String;)Z
            ifne 4
         3: .line 477
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         4: .line 480
      StackMap locals:
      StackMap stack:
            iload 3 /* subjectMatch */
            ifeq 6
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getExceptions:()[Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.matches:([Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/World;)Z
            ifne 6
         5: .line 481
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         6: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifne 9
         7: .line 486
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 9
         8: .line 487
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         9: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifne 22
        10: .line 493
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isBangVoid:()Z
            istore 4 /* b */
        start local 4 // boolean b
        11: .line 494
            iload 4 /* b */
            ifeq 15
        12: .line 495
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        13: .line 496
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 22
            aload 5 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 86
            if_icmpne 22
        14: .line 498
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 5 // java.lang.String s
        15: .line 501
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isVoid:()Z
            ifeq 19
        16: .line 502
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        17: .line 503
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 18
            aload 5 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 86
            if_icmpeq 22
        18: .line 505
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 5 // java.lang.String s
        19: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 22
        20: .line 510
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getGenericReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 22
        21: .line 512
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 4 // boolean b
        22: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            iconst_1
            if_icmpne 24
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isEllipsis:()Z
            ifeq 24
        23: .line 521
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        24: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.canMatchSignatureWithNParameters:(I)Z
            ifne 26
        25: .line 525
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        26: .line 532
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.ResolvableTypeList
            dup
            aload 2 /* world */
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            invokespecial org.aspectj.weaver.ResolvableTypeList.<init>:(Lorg/aspectj/weaver/World;[Lorg/aspectj/weaver/UnresolvedType;)V
            astore 4 /* rtl */
        start local 4 // org.aspectj.weaver.ResolvableTypeList rtl
        27: .line 534
            aconst_null
            astore 5 /* parameterAnnotationTypes */
        start local 5 // org.aspectj.weaver.ResolvedType[][] parameterAnnotationTypes
        28: .line 535
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isMatchingParameterAnnotations:()Z
            ifeq 32
        29: .line 536
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterAnnotationTypes:()[[Lorg/aspectj/weaver/ResolvedType;
            astore 5 /* parameterAnnotationTypes */
        30: .line 537
            aload 5 /* parameterAnnotationTypes */
            ifnull 32
            aload 5 /* parameterAnnotationTypes */
            arraylength
            ifne 32
        31: .line 538
            aconst_null
            astore 5 /* parameterAnnotationTypes */
        32: .line 542
      StackMap locals: org.aspectj.weaver.ResolvableTypeList org.aspectj.weaver.ResolvedType[][]
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 4 /* rtl */
            getstatic org.aspectj.weaver.patterns.TypePattern.STATIC:Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;
            aload 5 /* parameterAnnotationTypes */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.matches:(Lorg/aspectj/weaver/ResolvableTypeList;Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;[[Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifne 38
        33: .line 544
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            new org.aspectj.weaver.ResolvableTypeList
            dup
            aload 2 /* world */
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getGenericParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            invokespecial org.aspectj.weaver.ResolvableTypeList.<init>:(Lorg/aspectj/weaver/World;[Lorg/aspectj/weaver/UnresolvedType;)V
            getstatic org.aspectj.weaver.patterns.TypePattern.STATIC:Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;
        34: .line 545
            aload 5 /* parameterAnnotationTypes */
        35: .line 544
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.matches:(Lorg/aspectj/weaver/ResolvableTypeList;Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;[[Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/util/FuzzyBoolean;
        36: .line 545
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifne 38
        37: .line 546
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        38: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aMethod */
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesVarArgs:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Z
            ifne 40
        39: .line 554
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        40: .line 558
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 5 // org.aspectj.weaver.ResolvedType[][] parameterAnnotationTypes
        end local 4 // org.aspectj.weaver.ResolvableTypeList rtl
        end local 3 // boolean subjectMatch
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.JoinPointSignature aMethod
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   41     0                      this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   41     1                   aMethod  Lorg/aspectj/weaver/JoinPointSignature;
            0   41     2                     world  Lorg/aspectj/weaver/World;
            0   41     3              subjectMatch  Z
           11   22     4                         b  Z
           13   15     5                         s  Ljava/lang/String;
           17   19     5                         s  Ljava/lang/String;
           27   41     4                       rtl  Lorg/aspectj/weaver/ResolvableTypeList;
           28   41     5  parameterAnnotationTypes  [[Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
              Name  Flags
      aMethod       
      world         
      subjectMatch  

  private boolean isMatchingParameterAnnotations();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 567
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
            iconst_2
            iand
            ifne 10
         1: .line 568
            aload 0 /* this */
            dup
            getfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
            iconst_2
            ior
            putfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
         2: .line 569
            iconst_0
            istore 1 /* tp */
        start local 1 // int tp
         3: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            istore 2 /* max */
        start local 2 // int max
         4: goto 9
         5: .line 570
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 1 /* tp */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* typePattern */
        start local 3 // org.aspectj.weaver.patterns.TypePattern typePattern
         6: .line 571
            aload 0 /* this */
            aload 3 /* typePattern */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifeq 8
         7: .line 572
            aload 0 /* this */
            dup
            getfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
            iconst_1
            ior
            putfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
        end local 3 // org.aspectj.weaver.patterns.TypePattern typePattern
         8: .line 569
      StackMap locals:
      StackMap stack:
            iinc 1 /* tp */ 1
      StackMap locals:
      StackMap stack:
         9: iload 1 /* tp */
            iload 2 /* max */
            if_icmplt 5
        end local 2 // int max
        end local 1 // int tp
        10: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.bits:I
            iconst_1
            iand
            ifeq 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            3   10     1           tp  I
            4   10     2          max  I
            6    8     3  typePattern  Lorg/aspectj/weaver/patterns/TypePattern;

  private boolean isParameterAnnotationMatching(org.aspectj.weaver.patterns.TypePattern);
    descriptor: (Lorg/aspectj/weaver/patterns/TypePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.TypePattern tp
         0: .line 583
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.OrTypePattern
            ifeq 4
         1: .line 584
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.OrTypePattern
            astore 2 /* orAtp */
        start local 2 // org.aspectj.weaver.patterns.OrTypePattern orAtp
         2: .line 585
            aload 0 /* this */
            aload 2 /* orAtp */
            invokevirtual org.aspectj.weaver.patterns.OrTypePattern.getLeft:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifne 3
            aload 0 /* this */
            aload 2 /* orAtp */
            invokevirtual org.aspectj.weaver.patterns.OrTypePattern.getRight:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.OrTypePattern
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.patterns.OrTypePattern orAtp
         4: .line 586
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.AndTypePattern
            ifeq 8
         5: .line 587
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.AndTypePattern
            astore 2 /* andAtp */
        start local 2 // org.aspectj.weaver.patterns.AndTypePattern andAtp
         6: .line 588
            aload 0 /* this */
            aload 2 /* andAtp */
            invokevirtual org.aspectj.weaver.patterns.AndTypePattern.getLeft:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifne 7
            aload 0 /* this */
            aload 2 /* andAtp */
            invokevirtual org.aspectj.weaver.patterns.AndTypePattern.getRight:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifne 7
            iconst_0
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.AndTypePattern
      StackMap stack:
         7: iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.patterns.AndTypePattern andAtp
         8: .line 589
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.NotTypePattern
            ifeq 11
         9: .line 590
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.NotTypePattern
            astore 2 /* notAtp */
        start local 2 // org.aspectj.weaver.patterns.NotTypePattern notAtp
        10: .line 591
            aload 0 /* this */
            aload 2 /* notAtp */
            invokevirtual org.aspectj.weaver.patterns.NotTypePattern.getNegatedPattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ireturn
        end local 2 // org.aspectj.weaver.patterns.NotTypePattern notAtp
        11: .line 593
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 2 /* atp */
        start local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern atp
        12: .line 594
            aload 0 /* this */
            aload 2 /* atp */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ireturn
        end local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern atp
        end local 1 // org.aspectj.weaver.patterns.TypePattern tp
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   13     1      tp  Lorg/aspectj/weaver/patterns/TypePattern;
            2    4     2   orAtp  Lorg/aspectj/weaver/patterns/OrTypePattern;
            6    8     2  andAtp  Lorg/aspectj/weaver/patterns/AndTypePattern;
           10   11     2  notAtp  Lorg/aspectj/weaver/patterns/NotTypePattern;
           12   13     2     atp  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
    MethodParameters:
      Name  Flags
      tp    

  private boolean isParameterAnnotationMatching(org.aspectj.weaver.patterns.AnnotationTypePattern);
    descriptor: (Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern tp
         0: .line 599
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.OrAnnotationTypePattern
            ifeq 4
         1: .line 600
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.OrAnnotationTypePattern
            astore 2 /* orAtp */
        start local 2 // org.aspectj.weaver.patterns.OrAnnotationTypePattern orAtp
         2: .line 601
            aload 0 /* this */
            aload 2 /* orAtp */
            invokevirtual org.aspectj.weaver.patterns.OrAnnotationTypePattern.getLeft:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ifne 3
            aload 0 /* this */
            aload 2 /* orAtp */
            invokevirtual org.aspectj.weaver.patterns.OrAnnotationTypePattern.getRight:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.OrAnnotationTypePattern
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.patterns.OrAnnotationTypePattern orAtp
         4: .line 602
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.AndAnnotationTypePattern
            ifeq 8
         5: .line 603
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.AndAnnotationTypePattern
            astore 2 /* andAtp */
        start local 2 // org.aspectj.weaver.patterns.AndAnnotationTypePattern andAtp
         6: .line 604
            aload 0 /* this */
            aload 2 /* andAtp */
            invokevirtual org.aspectj.weaver.patterns.AndAnnotationTypePattern.getLeft:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ifne 7
            aload 0 /* this */
            aload 2 /* andAtp */
            invokevirtual org.aspectj.weaver.patterns.AndAnnotationTypePattern.getRight:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ifne 7
            iconst_0
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.AndAnnotationTypePattern
      StackMap stack:
         7: iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.patterns.AndAnnotationTypePattern andAtp
         8: .line 605
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            instanceof org.aspectj.weaver.patterns.NotAnnotationTypePattern
            ifeq 11
         9: .line 606
            aload 1 /* tp */
            checkcast org.aspectj.weaver.patterns.NotAnnotationTypePattern
            astore 2 /* notAtp */
        start local 2 // org.aspectj.weaver.patterns.NotAnnotationTypePattern notAtp
        10: .line 607
            aload 0 /* this */
            aload 2 /* notAtp */
            getfield org.aspectj.weaver.patterns.NotAnnotationTypePattern.negatedPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isParameterAnnotationMatching:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)Z
            ireturn
        end local 2 // org.aspectj.weaver.patterns.NotAnnotationTypePattern notAtp
        11: .line 609
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.isForParameterAnnotationMatch:()Z
            ireturn
        end local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern tp
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   12     1      tp  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            2    4     2   orAtp  Lorg/aspectj/weaver/patterns/OrAnnotationTypePattern;
            6    8     2  andAtp  Lorg/aspectj/weaver/patterns/AndAnnotationTypePattern;
           10   11     2  notAtp  Lorg/aspectj/weaver/patterns/NotAnnotationTypePattern;
    MethodParameters:
      Name  Flags
      tp    

  private org.aspectj.util.FuzzyBoolean matchesExactlyConstructor(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aConstructor
        start local 2 // org.aspectj.weaver.World world
         0: .line 617
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifne 2
         1: .line 618
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.canMatchSignatureWithNParameters:(I)Z
            ifne 4
         3: .line 622
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         4: .line 624
      StackMap locals:
      StackMap stack:
            aload 2 /* world */
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.World.resolve:([Lorg/aspectj/weaver/UnresolvedType;)[Lorg/aspectj/weaver/ResolvedType;
            astore 3 /* resolvedParameters */
        start local 3 // org.aspectj.weaver.ResolvedType[] resolvedParameters
         5: .line 626
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getParameterAnnotationTypes:()[[Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* parameterAnnotationTypes */
        start local 4 // org.aspectj.weaver.ResolvedType[][] parameterAnnotationTypes
         6: .line 628
            aload 4 /* parameterAnnotationTypes */
            ifnull 7
            aload 4 /* parameterAnnotationTypes */
            arraylength
            ifne 8
         7: .line 629
      StackMap locals: org.aspectj.weaver.ResolvedType[] org.aspectj.weaver.ResolvedType[][]
      StackMap stack:
            aconst_null
            astore 4 /* parameterAnnotationTypes */
         8: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 3 /* resolvedParameters */
            getstatic org.aspectj.weaver.patterns.TypePattern.STATIC:Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;
            aload 4 /* parameterAnnotationTypes */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.matches:([Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;[[Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifne 11
         9: .line 634
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 2 /* world */
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getGenericParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.World.resolve:([Lorg/aspectj/weaver/UnresolvedType;)[Lorg/aspectj/weaver/ResolvedType;
            getstatic org.aspectj.weaver.patterns.TypePattern.STATIC:Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;
            aload 4 /* parameterAnnotationTypes */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.matches:([Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;[[Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifne 11
        10: .line 635
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        11: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aConstructor */
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.matchesVarArgs:(Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Z
            ifne 13
        12: .line 643
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        13: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 1 /* aConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.getExceptions:()[Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.matches:([Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/World;)Z
            ifne 15
        14: .line 648
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        15: .line 652
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 4 // org.aspectj.weaver.ResolvedType[][] parameterAnnotationTypes
        end local 3 // org.aspectj.weaver.ResolvedType[] resolvedParameters
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.JoinPointSignature aConstructor
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   16     0                      this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   16     1              aConstructor  Lorg/aspectj/weaver/JoinPointSignature;
            0   16     2                     world  Lorg/aspectj/weaver/World;
            5   16     3        resolvedParameters  [Lorg/aspectj/weaver/ResolvedType;
            6   16     4  parameterAnnotationTypes  [[Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
              Name  Flags
      aConstructor  
      world         

  private boolean matchesVarArgs(org.aspectj.weaver.JoinPointSignature, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/JoinPointSignature;Lorg/aspectj/weaver/World;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.JoinPointSignature aMethodOrConstructor
        start local 2 // org.aspectj.weaver.World inAWorld
         0: .line 661
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            ifne 2
         1: .line 662
            iconst_1
            ireturn
         2: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            iconst_1
            isub
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* lastPattern */
        start local 3 // org.aspectj.weaver.patterns.TypePattern lastPattern
         3: .line 666
            aload 3 /* lastPattern */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifne 4
            aload 3 /* lastPattern */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isVarArgs:()Z
            ifne 4
            aload 3 /* lastPattern */
            getstatic org.aspectj.weaver.patterns.TypePattern.ELLIPSIS:Lorg/aspectj/weaver/patterns/TypePattern;
            if_acmpeq 4
            iconst_0
            goto 5
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* canMatchVarArgsSignature */
        start local 4 // boolean canMatchVarArgsSignature
         6: .line 668
            aload 1 /* aMethodOrConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.isVarargsMethod:()Z
            ifeq 10
         7: .line 670
            iload 4 /* canMatchVarArgsSignature */
            ifne 12
         8: .line 672
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
            getfield org.aspectj.weaver.Lint.cantMatchArrayTypeOnVarargs:Lorg/aspectj/weaver/Lint$Kind;
            aload 1 /* aMethodOrConstructor */
            invokevirtual org.aspectj.weaver.JoinPointSignature.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
         9: .line 673
            iconst_0
            ireturn
        10: .line 677
      StackMap locals: int
      StackMap stack:
            aload 3 /* lastPattern */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isVarArgs:()Z
            ifeq 12
        11: .line 678
            iconst_0
            ireturn
        12: .line 682
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // boolean canMatchVarArgsSignature
        end local 3 // org.aspectj.weaver.patterns.TypePattern lastPattern
        end local 2 // org.aspectj.weaver.World inAWorld
        end local 1 // org.aspectj.weaver.JoinPointSignature aMethodOrConstructor
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   13     0                      this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   13     1      aMethodOrConstructor  Lorg/aspectj/weaver/JoinPointSignature;
            0   13     2                  inAWorld  Lorg/aspectj/weaver/World;
            3   13     3               lastPattern  Lorg/aspectj/weaver/patterns/TypePattern;
            6   13     4  canMatchVarArgsSignature  Z
    MethodParameters:
                      Name  Flags
      aMethodOrConstructor  
      inAWorld              

  private org.aspectj.util.FuzzyBoolean matchesAnnotations(org.aspectj.weaver.ResolvedMember, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/World;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.ResolvedMember member
        start local 2 // org.aspectj.weaver.World world
         0: .line 686
            aload 1 /* member */
            ifnonnull 2
         1: .line 688
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.resolve:(Lorg/aspectj/weaver/World;)V
         3: .line 693
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            instanceof org.aspectj.weaver.patterns.AnyAnnotationTypePattern
            ifeq 5
         4: .line 694
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         5: .line 699
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            invokeinterface org.aspectj.weaver.ResolvedMember.isAnnotatedElsewhere:()Z
            ifeq 16
            aload 1 /* member */
            invokeinterface org.aspectj.weaver.ResolvedMember.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.FIELD:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 16
         6: .line 703
            aload 1 /* member */
            invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getInterTypeMungers:()Ljava/util/List;
            astore 3 /* mungers */
        start local 3 // java.util.List mungers
         7: .line 704
            aload 3 /* mungers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.ResolvedMember org.aspectj.weaver.World java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            astore 4 /* typeMunger */
        start local 4 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
         9: .line 705
            aload 4 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getMunger:()Lorg/aspectj/weaver/ResolvedTypeMunger;
            instanceof org.aspectj.weaver.NewFieldTypeMunger
            ifeq 15
        10: .line 706
            aload 4 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getSignature:()Lorg/aspectj/weaver/ResolvedMember;
            astore 6 /* fakerm */
        start local 6 // org.aspectj.weaver.ResolvedMember fakerm
        11: .line 707
            aload 6 /* fakerm */
            aload 4 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getAspectType:()Lorg/aspectj/weaver/ResolvedType;
            invokestatic org.aspectj.weaver.AjcMemberMaker.interFieldInitializer:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedMember;
            astore 7 /* ajcMethod */
        start local 7 // org.aspectj.weaver.ResolvedMember ajcMethod
        12: .line 708
            aload 0 /* this */
            aload 4 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getAspectType:()Lorg/aspectj/weaver/ResolvedType;
            aload 7 /* ajcMethod */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.findMethod:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ResolvedMember;
            astore 8 /* rmm */
        start local 8 // org.aspectj.weaver.ResolvedMember rmm
        13: .line 709
            aload 6 /* fakerm */
            aload 1 /* member */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 710
            aload 8 /* rmm */
            astore 1 /* member */
        end local 8 // org.aspectj.weaver.ResolvedMember rmm
        end local 7 // org.aspectj.weaver.ResolvedMember ajcMethod
        end local 6 // org.aspectj.weaver.ResolvedMember fakerm
        end local 4 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
        15: .line 704
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 3 // java.util.List mungers
        16: .line 716
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.ResolvedMember org.aspectj.weaver.World
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 1 /* member */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.matches:(Lorg/aspectj/weaver/AnnotatedElement;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
            ifeq 18
        17: .line 717
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        18: .line 721
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.ResolvedMember member
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   19     1      member  Lorg/aspectj/weaver/ResolvedMember;
            0   19     2       world  Lorg/aspectj/weaver/World;
            7   16     3     mungers  Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
            9   15     4  typeMunger  Lorg/aspectj/weaver/ConcreteTypeMunger;
           11   15     6      fakerm  Lorg/aspectj/weaver/ResolvedMember;
           12   15     7   ajcMethod  Lorg/aspectj/weaver/ResolvedMember;
           13   15     8         rmm  Lorg/aspectj/weaver/ResolvedMember;
    MethodParameters:
        Name  Flags
      member  
      world   

  private org.aspectj.weaver.ResolvedMember findMethod(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedMember);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ResolvedMember;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.ResolvedType aspectType
        start local 2 // org.aspectj.weaver.ResolvedMember ajcMethod
         0: .line 726
            aload 1 /* aspectType */
            invokevirtual org.aspectj.weaver.ResolvedType.getDeclaredMethods:()[Lorg/aspectj/weaver/ResolvedMember;
            astore 3 /* decMethods */
        start local 3 // org.aspectj.weaver.ResolvedMember[] decMethods
         1: .line 727
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 728
      StackMap locals: org.aspectj.weaver.ResolvedMember[] int
      StackMap stack:
            aload 3 /* decMethods */
            iload 4 /* i */
            aaload
            astore 5 /* member */
        start local 5 // org.aspectj.weaver.ResolvedMember member
         4: .line 729
            aload 5 /* member */
            aload 2 /* ajcMethod */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 730
            aload 5 /* member */
            areturn
        end local 5 // org.aspectj.weaver.ResolvedMember member
         6: .line 727
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* decMethods */
            arraylength
            if_icmplt 3
        end local 4 // int i
         8: .line 733
            aconst_null
            areturn
        end local 3 // org.aspectj.weaver.ResolvedMember[] decMethods
        end local 2 // org.aspectj.weaver.ResolvedMember ajcMethod
        end local 1 // org.aspectj.weaver.ResolvedType aspectType
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    9     1  aspectType  Lorg/aspectj/weaver/ResolvedType;
            0    9     2   ajcMethod  Lorg/aspectj/weaver/ResolvedMember;
            1    9     3  decMethods  [Lorg/aspectj/weaver/ResolvedMember;
            2    8     4           i  I
            4    6     5      member  Lorg/aspectj/weaver/ResolvedMember;
    MethodParameters:
            Name  Flags
      aspectType  
      ajcMethod   

  public boolean declaringTypeMatchAllowingForCovariance(org.aspectj.weaver.Member, org.aspectj.weaver.UnresolvedType, org.aspectj.weaver.World, org.aspectj.weaver.patterns.TypePattern, org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/Member;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/ResolvedType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=14, args_size=6
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.Member member
        start local 2 // org.aspectj.weaver.UnresolvedType shadowDeclaringType
        start local 3 // org.aspectj.weaver.World world
        start local 4 // org.aspectj.weaver.patterns.TypePattern returnTypePattern
        start local 5 // org.aspectj.weaver.ResolvedType sigReturn
         0: .line 739
            aload 2 /* shadowDeclaringType */
            aload 3 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 6 /* onType */
        start local 6 // org.aspectj.weaver.ResolvedType onType
         1: .line 742
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 6 /* onType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 3
            aload 4 /* returnTypePattern */
            aload 5 /* sigReturn */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 3
         2: .line 743
            iconst_1
            ireturn
         3: .line 746
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 1 /* member */
            aload 3 /* world */
            invokeinterface org.aspectj.weaver.Member.getDeclaringTypes:(Lorg/aspectj/weaver/World;)Ljava/util/Collection;
            astore 7 /* declaringTypes */
        start local 7 // java.util.Collection declaringTypes
         4: .line 748
            iconst_1
            istore 8 /* checkReturnType */
        start local 8 // boolean checkReturnType
         5: .line 759
            aload 7 /* declaringTypes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 19
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Member org.aspectj.weaver.UnresolvedType org.aspectj.weaver.World org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType java.util.Collection int top java.util.Iterator
      StackMap stack:
         6: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedType
            astore 9 /* type */
        start local 9 // org.aspectj.weaver.ResolvedType type
         7: .line 760
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 9 /* type */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 19
         8: .line 761
            iload 8 /* checkReturnType */
            ifne 10
         9: .line 762
            iconst_1
            ireturn
        10: .line 764
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Member org.aspectj.weaver.UnresolvedType org.aspectj.weaver.World org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType java.util.Collection int org.aspectj.weaver.ResolvedType java.util.Iterator
      StackMap stack:
            aload 9 /* type */
            aload 1 /* member */
            invokevirtual org.aspectj.weaver.ResolvedType.lookupMethod:(Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/ResolvedMember;
            astore 11 /* rm */
        start local 11 // org.aspectj.weaver.ResolvedMember rm
        11: .line 765
            aload 11 /* rm */
            ifnonnull 13
        12: .line 766
            aload 9 /* type */
            aload 1 /* member */
            invokevirtual org.aspectj.weaver.ResolvedType.lookupMethodInITDs:(Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/ResolvedMember;
            astore 11 /* rm */
        13: .line 768
      StackMap locals: org.aspectj.weaver.ResolvedMember
      StackMap stack:
            aload 11 /* rm */
            ifnonnull 15
        14: .line 769
            goto 19
        15: .line 772
      StackMap locals:
      StackMap stack:
            aload 11 /* rm */
            invokeinterface org.aspectj.weaver.ResolvedMember.getReturnType:()Lorg/aspectj/weaver/UnresolvedType;
            astore 12 /* returnTypeX */
        start local 12 // org.aspectj.weaver.UnresolvedType returnTypeX
        16: .line 773
            aload 12 /* returnTypeX */
            aload 3 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 13 /* returnType */
        start local 13 // org.aspectj.weaver.ResolvedType returnType
        17: .line 774
            aload 4 /* returnTypePattern */
            aload 13 /* returnType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 19
        18: .line 775
            iconst_1
            ireturn
        end local 13 // org.aspectj.weaver.ResolvedType returnType
        end local 12 // org.aspectj.weaver.UnresolvedType returnTypeX
        end local 11 // org.aspectj.weaver.ResolvedMember rm
        end local 9 // org.aspectj.weaver.ResolvedType type
        19: .line 759
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Member org.aspectj.weaver.UnresolvedType org.aspectj.weaver.World org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        20: .line 779
            iconst_0
            ireturn
        end local 8 // boolean checkReturnType
        end local 7 // java.util.Collection declaringTypes
        end local 6 // org.aspectj.weaver.ResolvedType onType
        end local 5 // org.aspectj.weaver.ResolvedType sigReturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern returnTypePattern
        end local 3 // org.aspectj.weaver.World world
        end local 2 // org.aspectj.weaver.UnresolvedType shadowDeclaringType
        end local 1 // org.aspectj.weaver.Member member
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   21     1               member  Lorg/aspectj/weaver/Member;
            0   21     2  shadowDeclaringType  Lorg/aspectj/weaver/UnresolvedType;
            0   21     3                world  Lorg/aspectj/weaver/World;
            0   21     4    returnTypePattern  Lorg/aspectj/weaver/patterns/TypePattern;
            0   21     5            sigReturn  Lorg/aspectj/weaver/ResolvedType;
            1   21     6               onType  Lorg/aspectj/weaver/ResolvedType;
            4   21     7       declaringTypes  Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedType;>;
            5   21     8      checkReturnType  Z
            7   19     9                 type  Lorg/aspectj/weaver/ResolvedType;
           11   19    11                   rm  Lorg/aspectj/weaver/ResolvedMember;
           16   19    12          returnTypeX  Lorg/aspectj/weaver/UnresolvedType;
           17   19    13           returnType  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
                     Name  Flags
      member               
      shadowDeclaringType  
      world                
      returnTypePattern    
      sigReturn            

  public org.aspectj.weaver.patterns.NamePattern getName();
    descriptor: ()Lorg/aspectj/weaver/patterns/NamePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 813
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.patterns.TypePattern getDeclaringType();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 817
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.MemberKind getKind();
    descriptor: ()Lorg/aspectj/weaver/MemberKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 821
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 826
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 828
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpeq 4
         2: .line 829
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 830
            aload 1 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 833
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            if_acmpeq 7
         5: .line 834
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            invokevirtual org.aspectj.weaver.patterns.ModifiersPattern.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 835
            aload 1 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.STATIC_INITIALIZATION:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 11
         8: .line 839
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 840
            aload 1 /* buf */
            ldc ".<clinit>()"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 841
            goto 28
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.HANDLER:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 16
        12: .line 842
            aload 1 /* buf */
            ldc "handler("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 843
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        14: .line 844
            aload 1 /* buf */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 845
            goto 28
        16: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpeq 19
        17: .line 847
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 848
            aload 1 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            if_acmpeq 22
        20: .line 851
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 852
            aload 1 /* buf */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 25
        23: .line 855
            aload 1 /* buf */
            ldc "new"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        24: .line 856
            goto 26
        25: .line 857
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.METHOD:Lorg/aspectj/weaver/MemberKind;
            if_acmpeq 27
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 28
        27: .line 860
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        28: .line 864
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            1   29     1   buf  Ljava/lang/StringBuffer;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // java.lang.Object other
         0: .line 869
            aload 1 /* other */
            instanceof org.aspectj.weaver.patterns.SignaturePattern
            ifne 2
         1: .line 870
            iconst_0
            ireturn
         2: .line 872
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.aspectj.weaver.patterns.SignaturePattern
            astore 2 /* o */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern o
         3: .line 873
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            invokevirtual org.aspectj.weaver.MemberKind.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            invokevirtual org.aspectj.weaver.patterns.ModifiersPattern.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         4: .line 874
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 875
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 876
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 873
            iconst_1
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern o
        end local 1 // java.lang.Object other
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    9     1  other  Ljava/lang/Object;
            3    9     2      o  Lorg/aspectj/weaver/patterns/SignaturePattern;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 881
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            iconst_m1
            if_icmpne 10
         1: .line 882
            aload 0 /* this */
            bipush 17
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         2: .line 883
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            invokevirtual org.aspectj.weaver.MemberKind.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         3: .line 884
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            invokevirtual org.aspectj.weaver.patterns.ModifiersPattern.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         4: .line 885
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         5: .line 886
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         6: .line 887
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         7: .line 888
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         8: .line 889
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
         9: .line 890
            aload 0 /* this */
            bipush 37
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            putfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
        10: .line 892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.hashcode:I
            ireturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public void write(org.aspectj.weaver.CompressingDataOutputStream);
    descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.CompressingDataOutputStream s
         0: .line 897
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.kind:Lorg/aspectj/weaver/MemberKind;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.MemberKind.write:(Ljava/io/DataOutputStream;)V
         1: .line 898
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.ModifiersPattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         2: .line 899
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         3: .line 900
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         4: .line 901
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.name:Lorg/aspectj/weaver/patterns/NamePattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.NamePattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         5: .line 902
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         6: .line 903
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.ThrowsPattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         7: .line 904
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         8: .line 905
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.writeLocation:(Ljava/io/DataOutputStream;)V
         9: .line 906
            return
        end local 1 // org.aspectj.weaver.CompressingDataOutputStream s
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0   10     1     s  Lorg/aspectj/weaver/CompressingDataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public static org.aspectj.weaver.patterns.SignaturePattern read(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
    descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=11, args_size=2
        start local 0 // org.aspectj.weaver.VersionedDataInputStream s
        start local 1 // org.aspectj.weaver.ISourceContext context
         0: .line 910
            aload 0 /* s */
            invokestatic org.aspectj.weaver.MemberKind.read:(Ljava/io/DataInputStream;)Lorg/aspectj/weaver/MemberKind;
            astore 2 /* kind */
        start local 2 // org.aspectj.weaver.MemberKind kind
         1: .line 911
            aload 0 /* s */
            invokestatic org.aspectj.weaver.patterns.ModifiersPattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;)Lorg/aspectj/weaver/patterns/ModifiersPattern;
            astore 3 /* modifiers */
        start local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
         2: .line 912
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.TypePattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* returnType */
        start local 4 // org.aspectj.weaver.patterns.TypePattern returnType
         3: .line 913
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.TypePattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        start local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
         4: .line 914
            aload 0 /* s */
            invokestatic org.aspectj.weaver.patterns.NamePattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;)Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        start local 6 // org.aspectj.weaver.patterns.NamePattern name
         5: .line 915
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.TypePatternList.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/TypePatternList;
            astore 7 /* parameterTypes */
        start local 7 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
         6: .line 916
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ThrowsPattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/ThrowsPattern;
            astore 8 /* throwsPattern */
        start local 8 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
         7: .line 918
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 9 /* annotationPattern */
        start local 9 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
         8: .line 920
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.VersionedDataInputStream.getMajorVersion:()I
            iconst_2
            if_icmplt 10
         9: .line 921
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.AnnotationTypePattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 9 /* annotationPattern */
        10: .line 924
      StackMap locals: org.aspectj.weaver.VersionedDataInputStream org.aspectj.weaver.ISourceContext org.aspectj.weaver.MemberKind org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.NamePattern org.aspectj.weaver.patterns.TypePatternList org.aspectj.weaver.patterns.ThrowsPattern org.aspectj.weaver.patterns.AnnotationTypePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            aload 2 /* kind */
            aload 3 /* modifiers */
            aload 4 /* returnType */
            aload 5 /* declaringType */
            aload 6 /* name */
            aload 7 /* parameterTypes */
        11: .line 925
            aload 8 /* throwsPattern */
            aload 9 /* annotationPattern */
        12: .line 924
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 10 /* ret */
        start local 10 // org.aspectj.weaver.patterns.SignaturePattern ret
        13: .line 926
            aload 10 /* ret */
            aload 1 /* context */
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.readLocation:(Lorg/aspectj/weaver/ISourceContext;Ljava/io/DataInputStream;)V
        14: .line 927
            aload 10 /* ret */
            areturn
        end local 10 // org.aspectj.weaver.patterns.SignaturePattern ret
        end local 9 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
        end local 8 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
        end local 7 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
        end local 6 // org.aspectj.weaver.patterns.NamePattern name
        end local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        end local 4 // org.aspectj.weaver.patterns.TypePattern returnType
        end local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
        end local 2 // org.aspectj.weaver.MemberKind kind
        end local 1 // org.aspectj.weaver.ISourceContext context
        end local 0 // org.aspectj.weaver.VersionedDataInputStream s
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0                  s  Lorg/aspectj/weaver/VersionedDataInputStream;
            0   15     1            context  Lorg/aspectj/weaver/ISourceContext;
            1   15     2               kind  Lorg/aspectj/weaver/MemberKind;
            2   15     3          modifiers  Lorg/aspectj/weaver/patterns/ModifiersPattern;
            3   15     4         returnType  Lorg/aspectj/weaver/patterns/TypePattern;
            4   15     5      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
            5   15     6               name  Lorg/aspectj/weaver/patterns/NamePattern;
            6   15     7     parameterTypes  Lorg/aspectj/weaver/patterns/TypePatternList;
            7   15     8      throwsPattern  Lorg/aspectj/weaver/patterns/ThrowsPattern;
            8   15     9  annotationPattern  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
           13   15    10                ret  Lorg/aspectj/weaver/patterns/SignaturePattern;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      s        
      context  

  public org.aspectj.weaver.patterns.ModifiersPattern getModifiers();
    descriptor: ()Lorg/aspectj/weaver/patterns/ModifiersPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 934
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.modifiers:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.patterns.TypePatternList getParameterTypes();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 941
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.parameterTypes:Lorg/aspectj/weaver/patterns/TypePatternList;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.patterns.TypePattern getReturnType();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 948
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.returnType:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.patterns.ThrowsPattern getThrowsPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ThrowsPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 955
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.throwsPattern:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public org.aspectj.weaver.patterns.AnnotationTypePattern getAnnotationPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 971
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public boolean isStarAnnotation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 976
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public java.lang.Object accept(org.aspectj.weaver.patterns.PatternNodeVisitor, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.patterns.PatternNodeVisitor visitor
        start local 2 // java.lang.Object data
         0: .line 981
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* data */
            invokeinterface org.aspectj.weaver.patterns.PatternNodeVisitor.visit:(Lorg/aspectj/weaver/patterns/SignaturePattern;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.PatternNodeVisitor visitor
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    1     1  visitor  Lorg/aspectj/weaver/patterns/PatternNodeVisitor;
            0    1     2     data  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      visitor  
      data     

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

  public boolean isMatchOnAnyName();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 990
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getName:()Lorg/aspectj/weaver/patterns/NamePattern;
            invokevirtual org.aspectj.weaver.patterns.NamePattern.isAny:()Z
            ireturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;

  public java.util.List<org.aspectj.weaver.patterns.ExactTypePattern> getExactDeclaringTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
         0: .line 995
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            instanceof org.aspectj.weaver.patterns.ExactTypePattern
            ifeq 4
         1: .line 996
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* l */
        start local 1 // java.util.List l
         2: .line 997
            aload 1 /* l */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            checkcast org.aspectj.weaver.patterns.ExactTypePattern
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 998
            aload 1 /* l */
            areturn
        end local 1 // java.util.List l
         4: .line 1000
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            2    4     1     l  Ljava/util/List<Lorg/aspectj/weaver/patterns/ExactTypePattern;>;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/patterns/ExactTypePattern;>;

  public boolean couldEverMatch(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.SignaturePattern this
        start local 1 // org.aspectj.weaver.ResolvedType type
         0: .line 1006
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.SignaturePattern.declaringType:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 1 /* type */
            getstatic org.aspectj.weaver.patterns.TypePattern.STATIC:Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matches:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/patterns/TypePattern$MatchKind;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.maybeTrue:()Z
            ireturn
        end local 1 // org.aspectj.weaver.ResolvedType type
        end local 0 // org.aspectj.weaver.patterns.SignaturePattern this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/SignaturePattern;
            0    1     1  type  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
      Name  Flags
      type  

  public org.aspectj.weaver.patterns.ISignaturePattern parameterizeWith(java.util.Map, org.aspectj.weaver.World);
    descriptor: (Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/SignaturePattern;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.aspectj.weaver.patterns.ISignaturePattern resolveBindings(org.aspectj.weaver.patterns.IScope, org.aspectj.weaver.patterns.Bindings);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)Lorg/aspectj/weaver/patterns/SignaturePattern;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SignaturePattern.java"
NestMembers:
  org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor
InnerClasses:
  public Kind = org.aspectj.weaver.Lint$Kind of org.aspectj.weaver.Lint
  private TypePatternVisitor = org.aspectj.weaver.patterns.SignaturePattern$TypePatternVisitor of org.aspectj.weaver.patterns.SignaturePattern
  public MatchKind = org.aspectj.weaver.patterns.TypePattern$MatchKind of org.aspectj.weaver.patterns.TypePattern