public class org.aspectj.weaver.patterns.CflowPointcut extends org.aspectj.weaver.patterns.Pointcut
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.patterns.CflowPointcut
  super_class: org.aspectj.weaver.patterns.Pointcut
{
  private final org.aspectj.weaver.patterns.Pointcut entry;
    descriptor: Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  boolean isBelow;
    descriptor: Z
    flags: (0x0000) 

  private int[] freeVars;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  public static final org.aspectj.weaver.ResolvedPointcutDefinition CFLOW_MARKER;
    descriptor: Lorg/aspectj/weaver/ResolvedPointcutDefinition;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 56
            new org.aspectj.weaver.ResolvedPointcutDefinition
            dup
            aconst_null
            iconst_0
            aconst_null
         1: .line 57
            getstatic org.aspectj.weaver.UnresolvedType.NONE:[Lorg/aspectj/weaver/UnresolvedType;
            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;
         2: .line 56
            invokespecial org.aspectj.weaver.ResolvedPointcutDefinition.<init>:(Lorg/aspectj/weaver/UnresolvedType;ILjava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/patterns/Pointcut;)V
            putstatic org.aspectj.weaver.patterns.CflowPointcut.CFLOW_MARKER:Lorg/aspectj/weaver/ResolvedPointcutDefinition;
         3: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.aspectj.weaver.patterns.Pointcut, boolean, int[]);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Z[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.patterns.Pointcut entry
        start local 2 // boolean isBelow
        start local 3 // int[] freeVars
         0: .line 59
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.Pointcut.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 1 /* entry */
            putfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
         2: .line 62
            aload 0 /* this */
            iload 2 /* isBelow */
            putfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
         3: .line 63
            aload 0 /* this */
            aload 3 /* freeVars */
            putfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
         4: .line 64
            aload 0 /* this */
            bipush 10
            putfield org.aspectj.weaver.patterns.CflowPointcut.pointcutKind:B
         5: .line 65
            return
        end local 3 // int[] freeVars
        end local 2 // boolean isBelow
        end local 1 // org.aspectj.weaver.patterns.Pointcut entry
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    6     1     entry  Lorg/aspectj/weaver/patterns/Pointcut;
            0    6     2   isBelow  Z
            0    6     3  freeVars  [I
    MethodParameters:
          Name  Flags
      entry     
      isBelow   
      freeVars  

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

  public int couldMatchKinds();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
         0: .line 72
            getstatic org.aspectj.weaver.Shadow.ALL_SHADOW_KINDS_BITS:I
            ireturn
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/CflowPointcut;

  public org.aspectj.weaver.patterns.Pointcut getEntry();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
         0: .line 77
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/CflowPointcut;

  public org.aspectj.util.FuzzyBoolean fastMatch(org.aspectj.weaver.patterns.FastMatchInfo);
    descriptor: (Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.patterns.FastMatchInfo type
         0: .line 81
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 1 // org.aspectj.weaver.patterns.FastMatchInfo type
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    1     1  type  Lorg/aspectj/weaver/patterns/FastMatchInfo;
    MethodParameters:
      Name  Flags
      type  

  protected org.aspectj.util.FuzzyBoolean matchInternal(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
         0: .line 86
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    1     1  shadow  Lorg/aspectj/weaver/Shadow;
    MethodParameters:
        Name  Flags
      shadow  

  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.CflowPointcut this
        start local 1 // org.aspectj.weaver.CompressingDataOutputStream s
         0: .line 90
            aload 1 /* s */
            bipush 10
            invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeByte:(I)V
         1: .line 91
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         2: .line 92
            aload 1 /* s */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeBoolean:(Z)V
         3: .line 93
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            aload 1 /* s */
            invokestatic org.aspectj.util.FileUtil.writeIntArray:([ILjava/io/DataOutputStream;)V
         4: .line 94
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.writeLocation:(Ljava/io/DataOutputStream;)V
         5: .line 95
            return
        end local 1 // org.aspectj.weaver.CompressingDataOutputStream s
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    6     1     s  Lorg/aspectj/weaver/CompressingDataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  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=3, args_size=2
        start local 0 // org.aspectj.weaver.VersionedDataInputStream s
        start local 1 // org.aspectj.weaver.ISourceContext context
         0: .line 99
            new org.aspectj.weaver.patterns.CflowPointcut
            dup
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.Pointcut.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.VersionedDataInputStream.readBoolean:()Z
            aload 0 /* s */
            invokestatic org.aspectj.util.FileUtil.readIntArray:(Ljava/io/DataInputStream;)[I
            invokespecial org.aspectj.weaver.patterns.CflowPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z[I)V
            astore 2 /* ret */
        start local 2 // org.aspectj.weaver.patterns.CflowPointcut ret
         1: .line 100
            aload 2 /* ret */
            aload 1 /* context */
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.readLocation:(Lorg/aspectj/weaver/ISourceContext;Ljava/io/DataInputStream;)V
         2: .line 101
            aload 2 /* ret */
            areturn
        end local 2 // org.aspectj.weaver.patterns.CflowPointcut ret
        end local 1 // org.aspectj.weaver.ISourceContext context
        end local 0 // org.aspectj.weaver.VersionedDataInputStream s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0        s  Lorg/aspectj/weaver/VersionedDataInputStream;
            0    3     1  context  Lorg/aspectj/weaver/ISourceContext;
            1    3     2      ret  Lorg/aspectj/weaver/patterns/CflowPointcut;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      s        
      context  

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // java.util.Map typeVariableMap
        start local 2 // org.aspectj.weaver.World w
         0: .line 105
            new org.aspectj.weaver.patterns.CflowPointcut
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* typeVariableMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            invokespecial org.aspectj.weaver.patterns.CflowPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z[I)V
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.CflowPointcut ret
         1: .line 106
            aload 3 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
         2: .line 107
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.patterns.CflowPointcut ret
        end local 2 // org.aspectj.weaver.World w
        end local 1 // java.util.Map typeVariableMap
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    3     1  typeVariableMap  Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;
            0    3     2                w  Lorg/aspectj/weaver/World;
            1    3     3              ret  Lorg/aspectj/weaver/patterns/CflowPointcut;
    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                

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
        start local 2 // org.aspectj.weaver.patterns.Bindings bindings
         0: .line 111
            aload 2 /* bindings */
            ifnonnull 5
         1: .line 112
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* scope */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
         2: .line 113
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            getstatic org.aspectj.weaver.patterns.CflowPointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         3: .line 114
            aload 0 /* this */
            iconst_0
            newarray 10
            putfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
         4: .line 115
            goto 10
         5: .line 117
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.Bindings
            dup
            aload 2 /* bindings */
            invokevirtual org.aspectj.weaver.patterns.Bindings.size:()I
            invokespecial org.aspectj.weaver.patterns.Bindings.<init>:(I)V
            astore 3 /* entryBindings */
        start local 3 // org.aspectj.weaver.patterns.Bindings entryBindings
         6: .line 119
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* scope */
            aload 3 /* entryBindings */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
         7: .line 120
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            getstatic org.aspectj.weaver.patterns.CflowPointcut.RESOLVED:Lorg/aspectj/weaver/patterns/Pointcut$State;
            putfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
         8: .line 122
            aload 0 /* this */
            aload 3 /* entryBindings */
            invokevirtual org.aspectj.weaver.patterns.Bindings.getUsedFormals:()[I
            putfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
         9: .line 124
            aload 2 /* bindings */
            aload 3 /* entryBindings */
            aload 1 /* scope */
            invokevirtual org.aspectj.weaver.patterns.Bindings.mergeIn:(Lorg/aspectj/weaver/patterns/Bindings;Lorg/aspectj/weaver/patterns/IScope;)V
        end local 3 // org.aspectj.weaver.patterns.Bindings entryBindings
        10: .line 126
      StackMap locals:
      StackMap stack:
            return
        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.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0   11     1          scope  Lorg/aspectj/weaver/patterns/IScope;
            0   11     2       bindings  Lorg/aspectj/weaver/patterns/Bindings;
            6   10     3  entryBindings  Lorg/aspectj/weaver/patterns/Bindings;
    MethodParameters:
          Name  Flags
      scope     
      bindings  

  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.CflowPointcut this
        start local 1 // java.lang.Object other
         0: .line 129
            aload 1 /* other */
            instanceof org.aspectj.weaver.patterns.CflowPointcut
            ifne 2
         1: .line 130
            iconst_0
            ireturn
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.aspectj.weaver.patterns.CflowPointcut
            astore 2 /* o */
        start local 2 // org.aspectj.weaver.patterns.CflowPointcut o
         3: .line 133
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            if_icmpne 4
            iconst_1
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.CflowPointcut o
        end local 1 // java.lang.Object other
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    5     1  other  Ljava/lang/Object;
            3    5     2      o  Lorg/aspectj/weaver/patterns/CflowPointcut;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
         0: .line 137
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 138
            bipush 37
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 139
            bipush 37
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut int
      StackMap stack: int
         3: iconst_1
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut int
      StackMap stack: int int
         4: iadd
            istore 1 /* result */
         5: .line 140
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            1    6     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
         0: .line 144
            new java.lang.StringBuilder
            dup
            ldc "cflow"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            ifeq 1
            ldc "below"
            goto 2
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         1: ldc ""
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut
      StackMap stack: java.lang.StringBuilder java.lang.String
         2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/CflowPointcut;

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
        start local 2 // org.aspectj.weaver.patterns.ExposedState state
         0: .line 148
            new java.lang.RuntimeException
            dup
            ldc "unimplemented - did concretization fail?"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.aspectj.weaver.patterns.ExposedState state
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    1     1  shadow  Lorg/aspectj/weaver/Shadow;
            0    1     2   state  Lorg/aspectj/weaver/patterns/ExposedState;
    MethodParameters:
        Name  Flags
      shadow  
      state   

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=19, args_size=4
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut 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 161
            aload 0 /* this */
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.getEnclosingAdvice:()Lorg/aspectj/weaver/ShadowMunger;
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.isDeclare:(Lorg/aspectj/weaver/ShadowMunger;)Z
            ifeq 8
         1: .line 162
            aload 1 /* inAspect */
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
         2: .line 163
            ldc "cflowInDeclare"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            ifeq 3
            ldc "below"
            goto 4
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap
      StackMap stack: org.aspectj.weaver.World org.aspectj.bridge.IMessage$Kind java.lang.String
         3: ldc ""
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap
      StackMap stack: org.aspectj.weaver.World org.aspectj.bridge.IMessage$Kind java.lang.String java.lang.String
         4: invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
         5: .line 164
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.getEnclosingAdvice:()Lorg/aspectj/weaver/ShadowMunger;
            invokevirtual org.aspectj.weaver.ShadowMunger.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         6: .line 162
            invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
         7: .line 165
            getstatic org.aspectj.weaver.patterns.Pointcut.CONCRETE:Lorg/aspectj/weaver/patterns/Pointcut$State;
            invokestatic org.aspectj.weaver.patterns.Pointcut.makeMatchesNothing:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
         8: .line 169
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.IntMap
            dup
            invokespecial org.aspectj.weaver.IntMap.<init>:()V
            astore 4 /* entryBindings */
        start local 4 // org.aspectj.weaver.IntMap entryBindings
         9: .line 170
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            ifnull 17
        10: .line 171
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            arraylength
            istore 6 /* len */
        start local 6 // int len
        12: goto 16
        13: .line 172
      StackMap locals: org.aspectj.weaver.IntMap int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            iload 5 /* i */
            iaload
            istore 7 /* freeVar */
        start local 7 // int freeVar
        14: .line 174
            aload 4 /* entryBindings */
            iload 7 /* freeVar */
            iload 5 /* i */
            invokevirtual org.aspectj.weaver.IntMap.put:(II)V
        end local 7 // int freeVar
        15: .line 171
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 6 /* len */
            if_icmplt 13
        end local 6 // int len
        end local 5 // int i
        17: .line 177
      StackMap locals:
      StackMap stack:
            aload 4 /* entryBindings */
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.copyContext:(Lorg/aspectj/weaver/IntMap;)V
        18: .line 180
            aload 1 /* inAspect */
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            astore 5 /* world */
        start local 5 // org.aspectj.weaver.World world
        19: .line 184
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.getConcreteAspect:()Lorg/aspectj/weaver/ResolvedType;
            astore 7 /* concreteAspect */
        start local 7 // org.aspectj.weaver.ResolvedType concreteAspect
        20: .line 186
            aload 7 /* concreteAspect */
            getfield org.aspectj.weaver.ResolvedType.crosscuttingMembers:Lorg/aspectj/weaver/CrosscuttingMembers;
            astore 8 /* xcut */
        start local 8 // org.aspectj.weaver.CrosscuttingMembers xcut
        21: .line 187
            aload 8 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowEntries:()Ljava/util/Collection;
            astore 9 /* previousCflowEntries */
        start local 9 // java.util.Collection previousCflowEntries
        22: .line 189
            aload 4 /* entryBindings */
            getstatic org.aspectj.weaver.patterns.CflowPointcut.CFLOW_MARKER:Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            invokevirtual org.aspectj.weaver.IntMap.pushEnclosingDefinition:(Lorg/aspectj/weaver/ResolvedPointcutDefinition;)V
        23: .line 192
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.entry:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* inAspect */
            aload 2 /* declaringType */
            aload 4 /* entryBindings */
            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 6 /* concreteEntry */
        start local 6 // org.aspectj.weaver.patterns.Pointcut concreteEntry
        24: .line 193
            goto 28
        end local 6 // org.aspectj.weaver.patterns.Pointcut concreteEntry
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World top org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection
      StackMap stack: java.lang.Throwable
        25: astore 10
        26: .line 194
            aload 4 /* entryBindings */
            invokevirtual org.aspectj.weaver.IntMap.popEnclosingDefinitition:()V
        27: .line 195
            aload 10
            athrow
        start local 6 // org.aspectj.weaver.patterns.Pointcut concreteEntry
        28: .line 194
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection
      StackMap stack:
            aload 4 /* entryBindings */
            invokevirtual org.aspectj.weaver.IntMap.popEnclosingDefinitition:()V
        29: .line 197
            new java.util.ArrayList
            dup
            aload 8 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowEntries:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 10 /* innerCflowEntries */
        start local 10 // java.util.List innerCflowEntries
        30: .line 198
            aload 10 /* innerCflowEntries */
            aload 9 /* previousCflowEntries */
            invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
            pop
        31: .line 215
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            ifnull 32
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            arraylength
            ifne 53
        32: .line 218
      StackMap locals: java.util.List
      StackMap stack:
            aconst_null
            astore 11 /* localCflowField */
        start local 11 // org.aspectj.weaver.ResolvedMember localCflowField
        33: .line 220
            aload 0 /* this */
            aload 8 /* xcut */
            aload 6 /* concreteEntry */
            aload 7 /* concreteAspect */
            ldc "counter"
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.getCflowfield:(Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/Object;
            astore 12 /* field */
        start local 12 // java.lang.Object field
        34: .line 223
            aload 12 /* field */
            ifnull 37
        35: .line 224
            aload 12 /* field */
            checkcast org.aspectj.weaver.ResolvedMember
            astore 11 /* localCflowField */
        36: .line 227
            goto 50
        37: .line 230
      StackMap locals: org.aspectj.weaver.ResolvedMember java.lang.Object
      StackMap stack:
            new org.aspectj.weaver.ResolvedMemberImpl
            dup
            getstatic org.aspectj.weaver.Member.FIELD:Lorg/aspectj/weaver/MemberKind;
            aload 7 /* concreteAspect */
            bipush 9
        38: .line 231
            aload 8 /* xcut */
            invokestatic org.aspectj.weaver.NameMangler.cflowCounter:(Lorg/aspectj/weaver/CrosscuttingMembers;)Ljava/lang/String;
            ldc "org.aspectj.runtime.internal.CFlowCounter"
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
        39: .line 232
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
        40: .line 230
            invokespecial org.aspectj.weaver.ResolvedMemberImpl.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/UnresolvedType;ILjava/lang/String;Ljava/lang/String;)V
            astore 11 /* localCflowField */
        41: .line 235
            aload 7 /* concreteAspect */
            getfield org.aspectj.weaver.ResolvedType.crosscuttingMembers:Lorg/aspectj/weaver/CrosscuttingMembers;
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.World.getWeavingSupport:()Lorg/aspectj/weaver/IWeavingSupport;
        42: .line 236
            aload 11 /* localCflowField */
        43: .line 235
            invokeinterface org.aspectj.weaver.IWeavingSupport.makeCflowCounterFieldAdder:(Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ConcreteTypeMunger;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;)V
        44: .line 239
            aload 7 /* concreteAspect */
            getfield org.aspectj.weaver.ResolvedType.crosscuttingMembers:Lorg/aspectj/weaver/CrosscuttingMembers;
            aload 5 /* world */
            aload 6 /* concreteEntry */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
        45: .line 240
            aload 11 /* localCflowField */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            ifnonnull 46
            iconst_0
            goto 47
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection java.util.List org.aspectj.weaver.ResolvedMember java.lang.Object
      StackMap stack: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut int org.aspectj.weaver.ResolvedMember
        46: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            arraylength
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection java.util.List org.aspectj.weaver.ResolvedMember java.lang.Object
      StackMap stack: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut int org.aspectj.weaver.ResolvedMember int
        47: aload 10 /* innerCflowEntries */
            aload 1 /* inAspect */
        48: .line 239
            invokestatic org.aspectj.weaver.Advice.makeCflowEntry:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/Pointcut;ZLorg/aspectj/weaver/Member;ILjava/util/List;Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/Advice;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addConcreteShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
        49: .line 242
            aload 0 /* this */
            aload 8 /* xcut */
            aload 6 /* concreteEntry */
            aload 7 /* concreteAspect */
            aload 11 /* localCflowField */
            ldc "counter"
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.putCflowfield:(Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/Object;Ljava/lang/String;)V
        50: .line 246
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ConcreteCflowPointcut
            dup
            aload 7 /* concreteAspect */
            aload 11 /* localCflowField */
            aconst_null
            iconst_1
            invokespecial org.aspectj.weaver.patterns.ConcreteCflowPointcut.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/Member;Ljava/util/List;Z)V
            astore 13 /* ret */
        start local 13 // org.aspectj.weaver.patterns.Pointcut ret
        51: .line 247
            aload 13 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
        52: .line 248
            aload 13 /* ret */
            areturn
        end local 13 // org.aspectj.weaver.patterns.Pointcut ret
        end local 12 // java.lang.Object field
        end local 11 // org.aspectj.weaver.ResolvedMember localCflowField
        53: .line 251
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* slots */
        start local 11 // java.util.List slots
        54: .line 253
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        55: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            arraylength
            istore 13 /* len */
        start local 13 // int len
        56: goto 70
        57: .line 254
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            iload 12 /* i */
            iaload
            istore 14 /* freeVar */
        start local 14 // int freeVar
        58: .line 260
            aload 3 /* bindings */
            iload 14 /* freeVar */
            invokevirtual org.aspectj.weaver.IntMap.hasKey:(I)Z
            ifne 60
        59: .line 261
            goto 69
        60: .line 264
      StackMap locals: int
      StackMap stack:
            aload 3 /* bindings */
            iload 14 /* freeVar */
            invokevirtual org.aspectj.weaver.IntMap.get:(I)I
            istore 15 /* formalIndex */
        start local 15 // int formalIndex
        61: .line 275
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.peekEnclosingDefinition:()Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            astore 16 /* enclosingDef */
        start local 16 // org.aspectj.weaver.ResolvedPointcutDefinition enclosingDef
        62: .line 276
            aconst_null
            astore 17 /* formalType */
        start local 17 // org.aspectj.weaver.ResolvedType formalType
        63: .line 279
            aload 16 /* enclosingDef */
            ifnull 66
            aload 16 /* enclosingDef */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            arraylength
            ifle 66
        64: .line 280
            aload 16 /* enclosingDef */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 14 /* freeVar */
            aaload
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 17 /* formalType */
        65: .line 281
            goto 67
        66: .line 282
      StackMap locals: int org.aspectj.weaver.ResolvedPointcutDefinition org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 3 /* bindings */
            invokevirtual org.aspectj.weaver.IntMap.getAdviceSignature:()Lorg/aspectj/weaver/Member;
            invokeinterface org.aspectj.weaver.Member.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
            iload 15 /* formalIndex */
            aaload
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 17 /* formalType */
        67: .line 285
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ConcreteCflowPointcut$Slot
            dup
            iload 15 /* formalIndex */
            aload 17 /* formalType */
            iload 12 /* i */
            invokespecial org.aspectj.weaver.patterns.ConcreteCflowPointcut$Slot.<init>:(ILorg/aspectj/weaver/ResolvedType;I)V
            astore 18 /* slot */
        start local 18 // org.aspectj.weaver.patterns.ConcreteCflowPointcut$Slot slot
        68: .line 286
            aload 11 /* slots */
            aload 18 /* slot */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // org.aspectj.weaver.patterns.ConcreteCflowPointcut$Slot slot
        end local 17 // org.aspectj.weaver.ResolvedType formalType
        end local 16 // org.aspectj.weaver.ResolvedPointcutDefinition enclosingDef
        end local 15 // int formalIndex
        end local 14 // int freeVar
        69: .line 253
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection java.util.List java.util.List int int
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        70: iload 12 /* i */
            iload 13 /* len */
            if_icmplt 57
        end local 13 // int len
        end local 12 // int i
        71: .line 288
            aconst_null
            astore 12 /* localCflowField */
        start local 12 // org.aspectj.weaver.ResolvedMember localCflowField
        72: .line 289
            aload 0 /* this */
            aload 8 /* xcut */
            aload 6 /* concreteEntry */
            aload 7 /* concreteAspect */
            ldc "stack"
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.getCflowfield:(Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/Object;
            astore 13 /* field */
        start local 13 // java.lang.Object field
        73: .line 290
            aload 13 /* field */
            ifnull 76
        74: .line 291
            aload 13 /* field */
            checkcast org.aspectj.weaver.ResolvedMember
            astore 12 /* localCflowField */
        75: .line 292
            goto 87
        76: .line 294
      StackMap locals: org.aspectj.weaver.patterns.CflowPointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.ResolvedType org.aspectj.weaver.IntMap org.aspectj.weaver.IntMap org.aspectj.weaver.World org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.ResolvedType org.aspectj.weaver.CrosscuttingMembers java.util.Collection java.util.List java.util.List org.aspectj.weaver.ResolvedMember java.lang.Object
      StackMap stack:
            new org.aspectj.weaver.ResolvedMemberImpl
            dup
            getstatic org.aspectj.weaver.Member.FIELD:Lorg/aspectj/weaver/MemberKind;
            aload 7 /* concreteAspect */
            bipush 9
        77: .line 295
            aload 8 /* xcut */
            invokestatic org.aspectj.weaver.NameMangler.cflowStack:(Lorg/aspectj/weaver/CrosscuttingMembers;)Ljava/lang/String;
            ldc "org.aspectj.runtime.internal.CFlowStack"
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
        78: .line 296
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
        79: .line 294
            invokespecial org.aspectj.weaver.ResolvedMemberImpl.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/UnresolvedType;ILjava/lang/String;Ljava/lang/String;)V
            astore 12 /* localCflowField */
        80: .line 304
            aload 7 /* concreteAspect */
            getfield org.aspectj.weaver.ResolvedType.crosscuttingMembers:Lorg/aspectj/weaver/CrosscuttingMembers;
            aload 5 /* world */
            aload 6 /* concreteEntry */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
        81: .line 305
            aload 12 /* localCflowField */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.freeVars:[I
            arraylength
            aload 10 /* innerCflowEntries */
            aload 1 /* inAspect */
        82: .line 304
            invokestatic org.aspectj.weaver.Advice.makeCflowEntry:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/Pointcut;ZLorg/aspectj/weaver/Member;ILjava/util/List;Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/Advice;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addConcreteShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
        83: .line 307
            aload 7 /* concreteAspect */
            getfield org.aspectj.weaver.ResolvedType.crosscuttingMembers:Lorg/aspectj/weaver/CrosscuttingMembers;
            aload 5 /* world */
            invokevirtual org.aspectj.weaver.World.getWeavingSupport:()Lorg/aspectj/weaver/IWeavingSupport;
        84: .line 308
            aload 12 /* localCflowField */
            invokeinterface org.aspectj.weaver.IWeavingSupport.makeCflowStackFieldAdder:(Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ConcreteTypeMunger;
        85: .line 307
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;)V
        86: .line 309
            aload 0 /* this */
            aload 8 /* xcut */
            aload 6 /* concreteEntry */
            aload 7 /* concreteAspect */
            aload 12 /* localCflowField */
            ldc "stack"
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.putCflowfield:(Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/Object;Ljava/lang/String;)V
        87: .line 311
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ConcreteCflowPointcut
            dup
            aload 7 /* concreteAspect */
            aload 12 /* localCflowField */
            aload 11 /* slots */
            iconst_0
            invokespecial org.aspectj.weaver.patterns.ConcreteCflowPointcut.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/Member;Ljava/util/List;Z)V
            astore 14 /* ret */
        start local 14 // org.aspectj.weaver.patterns.Pointcut ret
        88: .line 312
            aload 14 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
        89: .line 313
            aload 14 /* ret */
            areturn
        end local 14 // org.aspectj.weaver.patterns.Pointcut ret
        end local 13 // java.lang.Object field
        end local 12 // org.aspectj.weaver.ResolvedMember localCflowField
        end local 11 // java.util.List slots
        end local 10 // java.util.List innerCflowEntries
        end local 9 // java.util.Collection previousCflowEntries
        end local 8 // org.aspectj.weaver.CrosscuttingMembers xcut
        end local 7 // org.aspectj.weaver.ResolvedType concreteAspect
        end local 6 // org.aspectj.weaver.patterns.Pointcut concreteEntry
        end local 5 // org.aspectj.weaver.World world
        end local 4 // org.aspectj.weaver.IntMap entryBindings
        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.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   90     0                  this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0   90     1              inAspect  Lorg/aspectj/weaver/ResolvedType;
            0   90     2         declaringType  Lorg/aspectj/weaver/ResolvedType;
            0   90     3              bindings  Lorg/aspectj/weaver/IntMap;
            9   90     4         entryBindings  Lorg/aspectj/weaver/IntMap;
           11   17     5                     i  I
           12   17     6                   len  I
           14   15     7               freeVar  I
           19   90     5                 world  Lorg/aspectj/weaver/World;
           24   25     6         concreteEntry  Lorg/aspectj/weaver/patterns/Pointcut;
           28   90     6         concreteEntry  Lorg/aspectj/weaver/patterns/Pointcut;
           20   90     7        concreteAspect  Lorg/aspectj/weaver/ResolvedType;
           21   90     8                  xcut  Lorg/aspectj/weaver/CrosscuttingMembers;
           22   90     9  previousCflowEntries  Ljava/util/Collection<Lorg/aspectj/weaver/ShadowMunger;>;
           30   90    10     innerCflowEntries  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
           33   53    11       localCflowField  Lorg/aspectj/weaver/ResolvedMember;
           34   53    12                 field  Ljava/lang/Object;
           51   53    13                   ret  Lorg/aspectj/weaver/patterns/Pointcut;
           54   90    11                 slots  Ljava/util/List<Lorg/aspectj/weaver/patterns/ConcreteCflowPointcut$Slot;>;
           55   71    12                     i  I
           56   71    13                   len  I
           58   69    14               freeVar  I
           61   69    15           formalIndex  I
           62   69    16          enclosingDef  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
           63   69    17            formalType  Lorg/aspectj/weaver/ResolvedType;
           68   69    18                  slot  Lorg/aspectj/weaver/patterns/ConcreteCflowPointcut$Slot;
           72   90    12       localCflowField  Lorg/aspectj/weaver/ResolvedMember;
           73   90    13                 field  Ljava/lang/Object;
           88   90    14                   ret  Lorg/aspectj/weaver/patterns/Pointcut;
      Exception table:
        from    to  target  type
          23    25      25  any
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      bindings       

  private java.lang.String getKey(org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.ResolvedType, java.lang.String);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.patterns.Pointcut p
        start local 2 // org.aspectj.weaver.ResolvedType a
        start local 3 // java.lang.String stackOrCounter
         0: .line 319
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
         1: .line 320
            aload 4 /* sb */
            aload 2 /* a */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 321
            aload 4 /* sb */
            ldc "::"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 322
            aload 4 /* sb */
            aload 1 /* p */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 323
            aload 4 /* sb */
            ldc "::"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 324
            aload 4 /* sb */
            aload 3 /* stackOrCounter */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 325
            aload 4 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuffer sb
        end local 3 // java.lang.String stackOrCounter
        end local 2 // org.aspectj.weaver.ResolvedType a
        end local 1 // org.aspectj.weaver.patterns.Pointcut p
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    7     1               p  Lorg/aspectj/weaver/patterns/Pointcut;
            0    7     2               a  Lorg/aspectj/weaver/ResolvedType;
            0    7     3  stackOrCounter  Ljava/lang/String;
            1    7     4              sb  Ljava/lang/StringBuffer;
    MethodParameters:
                Name  Flags
      p               
      a               
      stackOrCounter  

  private java.lang.Object getCflowfield(org.aspectj.weaver.CrosscuttingMembers, org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.ResolvedType, java.lang.String);
    descriptor: (Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.CrosscuttingMembers xcut
        start local 2 // org.aspectj.weaver.patterns.Pointcut pcutkey
        start local 3 // org.aspectj.weaver.ResolvedType concreteAspect
        start local 4 // java.lang.String stackOrCounter
         0: .line 329
            aload 0 /* this */
            aload 2 /* pcutkey */
            aload 3 /* concreteAspect */
            aload 4 /* stackOrCounter */
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.getKey:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* key */
        start local 5 // java.lang.String key
         1: .line 330
            aconst_null
            astore 6 /* o */
        start local 6 // java.lang.Object o
         2: .line 331
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            ifeq 5
         3: .line 332
            aload 1 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowBelowFields:()Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* o */
         4: .line 333
            goto 6
         5: .line 334
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
            aload 1 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowFields:()Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* o */
         6: .line 337
      StackMap locals:
      StackMap stack:
            aload 6 /* o */
            areturn
        end local 6 // java.lang.Object o
        end local 5 // java.lang.String key
        end local 4 // java.lang.String stackOrCounter
        end local 3 // org.aspectj.weaver.ResolvedType concreteAspect
        end local 2 // org.aspectj.weaver.patterns.Pointcut pcutkey
        end local 1 // org.aspectj.weaver.CrosscuttingMembers xcut
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    7     1            xcut  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    7     2         pcutkey  Lorg/aspectj/weaver/patterns/Pointcut;
            0    7     3  concreteAspect  Lorg/aspectj/weaver/ResolvedType;
            0    7     4  stackOrCounter  Ljava/lang/String;
            1    7     5             key  Ljava/lang/String;
            2    7     6               o  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      xcut            
      pcutkey         
      concreteAspect  
      stackOrCounter  

  private void putCflowfield(org.aspectj.weaver.CrosscuttingMembers, org.aspectj.weaver.patterns.Pointcut, org.aspectj.weaver.ResolvedType, java.lang.Object, java.lang.String);
    descriptor: (Lorg/aspectj/weaver/CrosscuttingMembers;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.aspectj.weaver.patterns.CflowPointcut this
        start local 1 // org.aspectj.weaver.CrosscuttingMembers xcut
        start local 2 // org.aspectj.weaver.patterns.Pointcut pcutkey
        start local 3 // org.aspectj.weaver.ResolvedType concreteAspect
        start local 4 // java.lang.Object o
        start local 5 // java.lang.String stackOrCounter
         0: .line 342
            aload 0 /* this */
            aload 2 /* pcutkey */
            aload 3 /* concreteAspect */
            aload 5 /* stackOrCounter */
            invokevirtual org.aspectj.weaver.patterns.CflowPointcut.getKey:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
         1: .line 344
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.CflowPointcut.isBelow:Z
            ifeq 4
         2: .line 345
            aload 1 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowBelowFields:()Ljava/util/Map;
            aload 6 /* key */
            aload 4 /* o */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 346
            goto 5
         4: .line 347
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* xcut */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.getCflowFields:()Ljava/util/Map;
            aload 6 /* key */
            aload 4 /* o */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.String key
        end local 5 // java.lang.String stackOrCounter
        end local 4 // java.lang.Object o
        end local 3 // org.aspectj.weaver.ResolvedType concreteAspect
        end local 2 // org.aspectj.weaver.patterns.Pointcut pcutkey
        end local 1 // org.aspectj.weaver.CrosscuttingMembers xcut
        end local 0 // org.aspectj.weaver.patterns.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    6     1            xcut  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    6     2         pcutkey  Lorg/aspectj/weaver/patterns/Pointcut;
            0    6     3  concreteAspect  Lorg/aspectj/weaver/ResolvedType;
            0    6     4               o  Ljava/lang/Object;
            0    6     5  stackOrCounter  Ljava/lang/String;
            1    6     6             key  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      xcut            
      pcutkey         
      concreteAspect  
      o               
      stackOrCounter  

  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.CflowPointcut this
        start local 1 // org.aspectj.weaver.patterns.PatternNodeVisitor visitor
        start local 2 // java.lang.Object data
         0: .line 352
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* data */
            invokeinterface org.aspectj.weaver.patterns.PatternNodeVisitor.visit:(Lorg/aspectj/weaver/patterns/CflowPointcut;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.CflowPointcut this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    1     1  visitor  Lorg/aspectj/weaver/patterns/PatternNodeVisitor;
            0    1     2     data  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      visitor  
      data     
}
SourceFile: "CflowPointcut.java"
InnerClasses:
  public final Kind = org.aspectj.bridge.IMessage$Kind of org.aspectj.bridge.IMessage
  public Slot = org.aspectj.weaver.patterns.ConcreteCflowPointcut$Slot of org.aspectj.weaver.patterns.ConcreteCflowPointcut
  public final State = org.aspectj.weaver.patterns.Pointcut$State of org.aspectj.weaver.patterns.Pointcut