public abstract class org.aspectj.weaver.patterns.Pointcut extends org.aspectj.weaver.patterns.PatternNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.aspectj.weaver.patterns.Pointcut
  super_class: org.aspectj.weaver.patterns.PatternNode
{
  public java.lang.String[] m_ignoreUnboundBindingForNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

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

  public static final org.aspectj.weaver.patterns.Pointcut$State SYMBOLIC;
    descriptor: Lorg/aspectj/weaver/patterns/Pointcut$State;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.Pointcut$State RESOLVED;
    descriptor: Lorg/aspectj/weaver/patterns/Pointcut$State;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.aspectj.weaver.patterns.Pointcut$State CONCRETE;
    descriptor: Lorg/aspectj/weaver/patterns/Pointcut$State;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected byte pointcutKind;
    descriptor: B
    flags: (0x0004) ACC_PROTECTED

  public org.aspectj.weaver.patterns.Pointcut$State state;
    descriptor: Lorg/aspectj/weaver/patterns/Pointcut$State;
    flags: (0x0001) ACC_PUBLIC

  protected int lastMatchedShadowId;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private org.aspectj.util.FuzzyBoolean lastMatchedShadowResult;
    descriptor: Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] typeVariablesInScope;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected boolean hasBeenParameterized;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public static final byte KINDED;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final byte WITHIN;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final byte THIS_OR_TARGET;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final byte ARGS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final byte AND;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final byte OR;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final byte NOT;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final byte REFERENCE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final byte IF;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final byte CFLOW;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final byte WITHINCODE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final byte HANDLER;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final byte IF_TRUE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  public static final byte IF_FALSE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final byte ANNOTATION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final byte ATWITHIN;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  public static final byte ATWITHINCODE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  public static final byte ATTHIS_OR_TARGET;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  public static final byte NONE;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final byte ATARGS;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  public static final byte USER_EXTENSION;
    descriptor: B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 84
            iconst_0
            anewarray java.lang.String
            putstatic org.aspectj.weaver.patterns.Pointcut.EMPTY_STRING_ARRAY:[Ljava/lang/String;
         1: .line 86
            new org.aspectj.weaver.patterns.Pointcut$State
            dup
            ldc "symbolic"
            iconst_0
            invokespecial org.aspectj.weaver.patterns.Pointcut$State.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.Pointcut.SYMBOLIC:Lorg/aspectj/weaver/patterns/Pointcut$State;
         2: .line 87
            new org.aspectj.weaver.patterns.Pointcut$State
            dup
            ldc "resolved"
            iconst_1
            invokespecial org.aspectj.weaver.patterns.Pointcut$State.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
         3: .line 88
            new org.aspectj.weaver.patterns.Pointcut$State
            dup
            ldc "concrete"
            iconst_2
            invokespecial org.aspectj.weaver.patterns.Pointcut$State.<init>:(Ljava/lang/String;I)V
            putstatic org.aspectj.weaver.patterns.Pointcut.CONCRETE:Lorg/aspectj/weaver/patterns/Pointcut$State;
         4: .line 170
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
         0: .line 104
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.PatternNode.<init>:()V
         1: .line 82
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.Pointcut.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
         2: .line 96
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.Pointcut.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.typeVariablesInScope:[Ljava/lang/String;
         3: .line 98
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.Pointcut.hasBeenParameterized:Z
         4: .line 105
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.Pointcut.SYMBOLIC:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         5: .line 106
            return
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/patterns/Pointcut;

  public abstract org.aspectj.util.FuzzyBoolean fastMatch(org.aspectj.weaver.patterns.FastMatchInfo);
    descriptor: (Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      info  

  public abstract int couldMatchKinds();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String[] getTypeVariablesInScope();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
         0: .line 120
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.typeVariablesInScope:[Ljava/lang/String;
            areturn
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/Pointcut;

  public void setTypeVariablesInScope(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // java.lang.String[] typeVars
         0: .line 124
            aload 0 /* this */
            aload 1 /* typeVars */
            putfield org.aspectj.weaver.patterns.Pointcut.typeVariablesInScope:[Ljava/lang/String;
         1: .line 125
            return
        end local 1 // java.lang.String[] typeVars
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    2     1  typeVars  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      typeVars  

  public final org.aspectj.util.FuzzyBoolean match(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
         0: .line 131
            aload 1 /* shadow */
            getfield org.aspectj.weaver.Shadow.shadowId:I
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.lastMatchedShadowId:I
            if_icmpne 2
         1: .line 132
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.lastMatchedShadowResult:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         2: .line 136
      StackMap locals:
      StackMap stack:
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.Shadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
            invokevirtual org.aspectj.weaver.Shadow$Kind.isSet:(I)Z
            ifeq 5
         3: .line 137
            aload 0 /* this */
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.matchInternal:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
            astore 2 /* ret */
        start local 2 // org.aspectj.util.FuzzyBoolean ret
         4: .line 138
            goto 6
        end local 2 // org.aspectj.util.FuzzyBoolean ret
         5: .line 139
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            astore 2 /* ret */
        start local 2 // org.aspectj.util.FuzzyBoolean ret
         6: .line 141
      StackMap locals: org.aspectj.util.FuzzyBoolean
      StackMap stack:
            aload 0 /* this */
            aload 1 /* shadow */
            getfield org.aspectj.weaver.Shadow.shadowId:I
            putfield org.aspectj.weaver.patterns.Pointcut.lastMatchedShadowId:I
         7: .line 142
            aload 0 /* this */
            aload 2 /* ret */
            putfield org.aspectj.weaver.patterns.Pointcut.lastMatchedShadowResult:Lorg/aspectj/util/FuzzyBoolean;
         8: .line 143
            aload 2 /* ret */
            areturn
        end local 2 // org.aspectj.util.FuzzyBoolean ret
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    9     1  shadow  Lorg/aspectj/weaver/Shadow;
            4    5     2     ret  Lorg/aspectj/util/FuzzyBoolean;
            6    9     2     ret  Lorg/aspectj/util/FuzzyBoolean;
    MethodParameters:
        Name  Flags
      shadow  

  protected abstract org.aspectj.util.FuzzyBoolean matchInternal(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      shadow  

  public byte getPointcutKind();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
         0: .line 173
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.pointcutKind:B
            ireturn
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/Pointcut;

  protected abstract void resolveBindings(org.aspectj.weaver.patterns.IScope, org.aspectj.weaver.patterns.Bindings);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      scope     
      bindings  

  public final org.aspectj.weaver.patterns.Pointcut resolve(org.aspectj.weaver.patterns.IScope);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
         0: .line 183
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.Pointcut.SYMBOLIC:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokevirtual org.aspectj.weaver.patterns.Pointcut.assertState:(Lorg/aspectj/weaver/patterns/Pointcut$State;)V
         1: .line 184
            new org.aspectj.weaver.patterns.Bindings
            dup
            aload 1 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getFormalCount:()I
            invokespecial org.aspectj.weaver.patterns.Bindings.<init>:(I)V
            astore 2 /* bindingTable */
        start local 2 // org.aspectj.weaver.patterns.Bindings bindingTable
         2: .line 185
            aload 1 /* scope */
            astore 3 /* bindingResolutionScope */
        start local 3 // org.aspectj.weaver.patterns.IScope bindingResolutionScope
         3: .line 186
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.typeVariablesInScope:[Ljava/lang/String;
            arraylength
            ifle 5
         4: .line 187
            new org.aspectj.weaver.patterns.ScopeWithTypeVariables
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.typeVariablesInScope:[Ljava/lang/String;
            aload 1 /* scope */
            invokespecial org.aspectj.weaver.patterns.ScopeWithTypeVariables.<init>:([Ljava/lang/String;Lorg/aspectj/weaver/patterns/IScope;)V
            astore 3 /* bindingResolutionScope */
         5: .line 189
      StackMap locals: org.aspectj.weaver.patterns.Bindings org.aspectj.weaver.patterns.IScope
      StackMap stack:
            aload 0 /* this */
            aload 3 /* bindingResolutionScope */
            aload 2 /* bindingTable */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
         6: .line 190
            aload 2 /* bindingTable */
            aload 3 /* bindingResolutionScope */
            invokevirtual org.aspectj.weaver.patterns.Bindings.checkAllBound:(Lorg/aspectj/weaver/patterns/IScope;)V
         7: .line 191
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         8: .line 192
            aload 0 /* this */
            areturn
        end local 3 // org.aspectj.weaver.patterns.IScope bindingResolutionScope
        end local 2 // org.aspectj.weaver.patterns.Bindings bindingTable
        end local 1 // org.aspectj.weaver.patterns.IScope scope
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    9     0                    this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    9     1                   scope  Lorg/aspectj/weaver/patterns/IScope;
            2    9     2            bindingTable  Lorg/aspectj/weaver/patterns/Bindings;
            3    9     3  bindingResolutionScope  Lorg/aspectj/weaver/patterns/IScope;
    MethodParameters:
       Name  Flags
      scope  

  public final org.aspectj.weaver.patterns.Pointcut concretize(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, int);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;I)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // org.aspectj.weaver.ResolvedType declaringType
        start local 3 // int arity
         0: .line 199
            aload 0 /* this */
            aload 1 /* inAspect */
            aload 2 /* declaringType */
            iload 3 /* arity */
            invokestatic org.aspectj.weaver.IntMap.idMap:(I)Lorg/aspectj/weaver/IntMap;
            invokevirtual org.aspectj.weaver.patterns.Pointcut.concretize:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.patterns.Pointcut ret
         1: .line 201
            aload 4 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
         2: .line 202
            aload 4 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut ret
        end local 3 // int arity
        end local 2 // org.aspectj.weaver.ResolvedType declaringType
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    3     1       inAspect  Lorg/aspectj/weaver/ResolvedType;
            0    3     2  declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    3     3          arity  I
            1    3     4            ret  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      arity          

  public final org.aspectj.weaver.patterns.Pointcut concretize(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, int, org.aspectj.weaver.ShadowMunger);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;ILorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // org.aspectj.weaver.ResolvedType declaringType
        start local 3 // int arity
        start local 4 // org.aspectj.weaver.ShadowMunger advice
         0: .line 208
            iload 3 /* arity */
            invokestatic org.aspectj.weaver.IntMap.idMap:(I)Lorg/aspectj/weaver/IntMap;
            astore 5 /* map */
        start local 5 // org.aspectj.weaver.IntMap map
         1: .line 209
            aload 5 /* map */
            aload 4 /* advice */
            invokevirtual org.aspectj.weaver.IntMap.setEnclosingAdvice:(Lorg/aspectj/weaver/ShadowMunger;)V
         2: .line 210
            aload 5 /* map */
            aload 1 /* inAspect */
            invokevirtual org.aspectj.weaver.IntMap.setConcreteAspect:(Lorg/aspectj/weaver/ResolvedType;)V
         3: .line 211
            aload 0 /* this */
            aload 1 /* inAspect */
            aload 2 /* declaringType */
            aload 5 /* map */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.concretize:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        end local 5 // org.aspectj.weaver.IntMap map
        end local 4 // org.aspectj.weaver.ShadowMunger advice
        end local 3 // int arity
        end local 2 // org.aspectj.weaver.ResolvedType declaringType
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    4     1       inAspect  Lorg/aspectj/weaver/ResolvedType;
            0    4     2  declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    4     3          arity  I
            0    4     4         advice  Lorg/aspectj/weaver/ShadowMunger;
            1    4     5            map  Lorg/aspectj/weaver/IntMap;
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      arity          
      advice         

  public boolean isDeclare(org.aspectj.weaver.ShadowMunger);
    descriptor: (Lorg/aspectj/weaver/ShadowMunger;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ShadowMunger munger
         0: .line 215
            aload 1 /* munger */
            ifnonnull 2
         1: .line 216
            iconst_0
            ireturn
         2: .line 218
      StackMap locals:
      StackMap stack:
            aload 1 /* munger */
            instanceof org.aspectj.weaver.Checker
            ifeq 4
         3: .line 219
            iconst_1
            ireturn
         4: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* munger */
            checkcast org.aspectj.weaver.Advice
            invokevirtual org.aspectj.weaver.Advice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Softener:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 222
            iconst_1
            ireturn
         6: .line 224
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.aspectj.weaver.ShadowMunger munger
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    7     1  munger  Lorg/aspectj/weaver/ShadowMunger;
    MethodParameters:
        Name  Flags
      munger  

  public final org.aspectj.weaver.patterns.Pointcut concretize(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // org.aspectj.weaver.ResolvedType declaringType
        start local 3 // org.aspectj.weaver.IntMap bindings
         0: .line 229
            aload 0 /* this */
            aload 1 /* inAspect */
            aload 2 /* declaringType */
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.concretize1:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.patterns.Pointcut ret
         1: .line 230
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.shouldCopyLocationForConcretize:()Z
            ifeq 3
         2: .line 231
            aload 4 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
         3: .line 233
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 4 /* ret */
            getstatic org.aspectj.weaver.patterns.Pointcut.CONCRETE:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         4: .line 235
            aload 4 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
         5: .line 236
            aload 4 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut ret
        end local 3 // org.aspectj.weaver.IntMap bindings
        end local 2 // org.aspectj.weaver.ResolvedType declaringType
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    6     1       inAspect  Lorg/aspectj/weaver/ResolvedType;
            0    6     2  declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    6     3       bindings  Lorg/aspectj/weaver/IntMap;
            1    6     4            ret  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      bindings       

  protected boolean shouldCopyLocationForConcretize();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
         0: .line 240
            iconst_1
            ireturn
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/Pointcut;

  protected abstract org.aspectj.weaver.patterns.Pointcut concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      bindings       

  public final org.aspectj.weaver.ast.Test findResidue(org.aspectj.weaver.Shadow, org.aspectj.weaver.patterns.ExposedState);
    descriptor: (Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
        start local 2 // org.aspectj.weaver.patterns.ExposedState state
         0: .line 260
            aload 0 /* this */
            aload 1 /* shadow */
            aload 2 /* state */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.findResidueInternal:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.ast.Test ret
         1: .line 262
            aload 0 /* this */
            aload 1 /* shadow */
            getfield org.aspectj.weaver.Shadow.shadowId:I
            putfield org.aspectj.weaver.patterns.Pointcut.lastMatchedShadowId:I
         2: .line 263
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.ast.Test ret
        end local 2 // org.aspectj.weaver.patterns.ExposedState state
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    3     1  shadow  Lorg/aspectj/weaver/Shadow;
            0    3     2   state  Lorg/aspectj/weaver/patterns/ExposedState;
            1    3     3     ret  Lorg/aspectj/weaver/ast/Test;
    MethodParameters:
        Name  Flags
      shadow  
      state   

  protected abstract org.aspectj.weaver.ast.Test findResidueInternal(org.aspectj.weaver.Shadow, org.aspectj.weaver.patterns.ExposedState);
    descriptor: (Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      shadow  
      state   

  public void postRead(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ResolvedType enclosingType
         0: .line 271
            return
        end local 1 // org.aspectj.weaver.ResolvedType enclosingType
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    1     1  enclosingType  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
               Name  Flags
      enclosingType  

  public static org.aspectj.weaver.patterns.Pointcut read(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
    descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.VersionedDataInputStream s
        start local 1 // org.aspectj.weaver.ISourceContext context
         0: .line 274
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.VersionedDataInputStream.readByte:()B
            istore 2 /* kind */
        start local 2 // byte kind
         1: .line 277
            iload 2 /* kind */
            tableswitch { // 1 - 21
                    1: 2
                    2: 4
                    3: 6
                    4: 8
                    5: 10
                    6: 12
                    7: 14
                    8: 16
                    9: 18
                   10: 20
                   11: 42
                   12: 22
                   13: 24
                   14: 26
                   15: 28
                   16: 30
                   17: 32
                   18: 34
                   19: 36
                   20: 40
                   21: 38
              default: 42
          }
         2: .line 279
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.KindedPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
         3: .line 280
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
         4: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.WithinPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
         5: .line 283
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
         6: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ThisOrTargetPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
         7: .line 286
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
         8: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ArgsPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
         9: .line 289
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        10: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.AndPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        11: .line 292
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        12: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.OrPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        13: .line 295
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        14: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.NotPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        15: .line 298
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        16: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ReferencePointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        17: .line 301
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        18: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.IfPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        19: .line 304
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        20: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.CflowPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        21: .line 307
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        22: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.WithincodePointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        23: .line 310
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        24: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.HandlerPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        25: .line 313
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        26: .line 315
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokestatic org.aspectj.weaver.patterns.IfPointcut.makeIfTruePointcut:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/IfPointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        27: .line 316
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        28: .line 318
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokestatic org.aspectj.weaver.patterns.IfPointcut.makeIfFalsePointcut:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/IfPointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        29: .line 319
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        30: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.AnnotationPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        31: .line 322
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        32: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.WithinAnnotationPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        33: .line 325
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        34: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        35: .line 328
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        36: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        37: .line 331
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        38: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.ArgsAnnotationPointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        39: .line 334
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        40: .line 336
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokestatic org.aspectj.weaver.patterns.Pointcut.makeMatchesNothing:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        41: .line 337
            goto 43
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        42: .line 339
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* kind */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // org.aspectj.weaver.patterns.Pointcut ret
        43: .line 341
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 3 /* ret */
            getstatic org.aspectj.weaver.patterns.Pointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
        44: .line 342
            aload 3 /* ret */
            iload 2 /* kind */
            putfield org.aspectj.weaver.patterns.Pointcut.pointcutKind:B
        45: .line 343
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.patterns.Pointcut ret
        end local 2 // byte kind
        end local 1 // org.aspectj.weaver.ISourceContext context
        end local 0 // org.aspectj.weaver.VersionedDataInputStream s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   46     0        s  Lorg/aspectj/weaver/VersionedDataInputStream;
            0   46     1  context  Lorg/aspectj/weaver/ISourceContext;
            1   46     2     kind  B
            3    4     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
            5    6     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
            7    8     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
            9   10     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           11   12     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           13   14     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           15   16     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           17   18     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           19   20     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           21   22     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           23   24     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           25   26     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           27   28     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           29   30     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           31   32     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           33   34     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           35   36     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           37   38     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           39   40     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           41   42     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
           43   46     3      ret  Lorg/aspectj/weaver/patterns/Pointcut;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      s        
      context  

  public void check(org.aspectj.weaver.ISourceContext, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/ISourceContext;Lorg/aspectj/weaver/World;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.ISourceContext ctx
        start local 2 // org.aspectj.weaver.World world
         0: .line 349
            new org.aspectj.weaver.PoliceExtensionUse
            dup
            aload 2 /* world */
            aload 0 /* this */
            invokespecial org.aspectj.weaver.PoliceExtensionUse.<init>:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/Pointcut;)V
            astore 3 /* pointcutPolice */
        start local 3 // org.aspectj.weaver.PoliceExtensionUse pointcutPolice
         1: .line 350
            aload 0 /* this */
            aload 3 /* pointcutPolice */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.Pointcut.accept:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 351
            aload 3 /* pointcutPolice */
            invokevirtual org.aspectj.weaver.PoliceExtensionUse.synchronizationDesignatorEncountered:()Z
            ifeq 4
         3: .line 352
            aload 2 /* world */
            invokevirtual org.aspectj.weaver.World.setSynchronizationPointcutsInUse:()V
         4: .line 354
      StackMap locals: org.aspectj.weaver.PoliceExtensionUse
      StackMap stack:
            return
        end local 3 // org.aspectj.weaver.PoliceExtensionUse pointcutPolice
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.ISourceContext ctx
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    5     1             ctx  Lorg/aspectj/weaver/ISourceContext;
            0    5     2           world  Lorg/aspectj/weaver/World;
            1    5     3  pointcutPolice  Lorg/aspectj/weaver/PoliceExtensionUse;
    MethodParameters:
       Name  Flags
      ctx    
      world  

  public static org.aspectj.weaver.patterns.Pointcut fromString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String str
         0: .line 361
            new org.aspectj.weaver.patterns.PatternParser
            dup
            aload 0 /* str */
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Ljava/lang/String;)V
            astore 1 /* parser */
        start local 1 // org.aspectj.weaver.patterns.PatternParser parser
         1: .line 362
            aload 1 /* parser */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        end local 1 // org.aspectj.weaver.patterns.PatternParser parser
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     str  Ljava/lang/String;
            1    2     1  parser  Lorg/aspectj/weaver/patterns/PatternParser;
    MethodParameters:
      Name  Flags
      str   

  public static org.aspectj.weaver.patterns.Pointcut makeMatchesNothing(org.aspectj.weaver.patterns.Pointcut$State);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.Pointcut$State state
         0: .line 423
            new org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
            dup
            invokespecial org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut.<init>:()V
            astore 1 /* ret */
        start local 1 // org.aspectj.weaver.patterns.Pointcut ret
         1: .line 424
            aload 1 /* ret */
            aload 0 /* state */
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         2: .line 425
            aload 1 /* ret */
            areturn
        end local 1 // org.aspectj.weaver.patterns.Pointcut ret
        end local 0 // org.aspectj.weaver.patterns.Pointcut$State state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  state  Lorg/aspectj/weaver/patterns/Pointcut$State;
            1    3     1    ret  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
       Name  Flags
      state  

  public void assertState(org.aspectj.weaver.patterns.Pointcut$State);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut$State;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.Pointcut this
        start local 1 // org.aspectj.weaver.patterns.Pointcut$State state
         0: .line 429
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
            aload 1 /* state */
            if_acmpeq 2
         1: .line 430
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "expected state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* state */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " got: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 432
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.patterns.Pointcut$State state
        end local 0 // org.aspectj.weaver.patterns.Pointcut this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/aspectj/weaver/patterns/Pointcut;
            0    3     1  state  Lorg/aspectj/weaver/patterns/Pointcut$State;
    MethodParameters:
       Name  Flags
      state  

  public abstract org.aspectj.weaver.patterns.Pointcut 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/Pointcut;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
                 Name  Flags
      typeVariableMap  
      w                
}
SourceFile: "Pointcut.java"
NestMembers:
  org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut  org.aspectj.weaver.patterns.Pointcut$State
InnerClasses:
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow
  MatchesNothingPointcut = org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut of org.aspectj.weaver.patterns.Pointcut
  public final State = org.aspectj.weaver.patterns.Pointcut$State of org.aspectj.weaver.patterns.Pointcut