public class org.aspectj.weaver.CrosscuttingMembers
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.CrosscuttingMembers
  super_class: java.lang.Object
{
  private final org.aspectj.weaver.ResolvedType inAspect;
    descriptor: Lorg/aspectj/weaver/ResolvedType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.aspectj.weaver.World world;
    descriptor: Lorg/aspectj/weaver/World;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.util.List<org.aspectj.weaver.ShadowMunger> shadowMungers;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;

  private java.util.List<org.aspectj.weaver.ConcreteTypeMunger> typeMungers;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  private java.util.List<org.aspectj.weaver.ConcreteTypeMunger> lateTypeMungers;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareParents> declareParents;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareParents;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareSoft> declareSofts;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareSoft;>;

  private java.util.List<org.aspectj.weaver.patterns.Declare> declareDominates;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/aspectj/weaver/patterns/Declare;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareAnnotation> declareAnnotationsOnType;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareAnnotation> declareAnnotationsOnField;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareAnnotation> declareAnnotationsOnMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  private java.util.Set<org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning> declareTypeEow;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareTypeErrorOrWarning;>;

  private boolean shouldConcretizeIfNeeded;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Hashtable<java.lang.String, java.lang.Object> cflowFields;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  private final java.util.Hashtable<java.lang.String, java.lang.Object> cflowBelowFields;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  public void <init>(org.aspectj.weaver.ResolvedType, boolean);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // boolean shouldConcretizeIfNeeded
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
         2: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
         3: .line 55
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_0
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
         4: .line 57
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
         5: .line 58
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
         6: .line 59
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
         7: .line 62
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
         8: .line 63
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
         9: .line 64
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
        10: .line 67
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
        11: .line 69
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.CrosscuttingMembers.shouldConcretizeIfNeeded:Z
        12: .line 77
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.cflowFields:Ljava/util/Hashtable;
        13: .line 78
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.aspectj.weaver.CrosscuttingMembers.cflowBelowFields:Ljava/util/Hashtable;
        14: .line 72
            aload 0 /* this */
            aload 1 /* inAspect */
            putfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
        15: .line 73
            aload 0 /* this */
            aload 1 /* inAspect */
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            putfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
        16: .line 74
            aload 0 /* this */
            iload 2 /* shouldConcretizeIfNeeded */
            putfield org.aspectj.weaver.CrosscuttingMembers.shouldConcretizeIfNeeded:Z
        17: .line 75
            return
        end local 2 // boolean shouldConcretizeIfNeeded
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   18     0                      this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0   18     1                  inAspect  Lorg/aspectj/weaver/ResolvedType;
            0   18     2  shouldConcretizeIfNeeded  Z
    MethodParameters:
                          Name  Flags
      inAspect                  
      shouldConcretizeIfNeeded  

  public void addConcreteShadowMunger(org.aspectj.weaver.ShadowMunger);
    descriptor: (Lorg/aspectj/weaver/ShadowMunger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ShadowMunger m
         0: .line 86
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            aload 1 /* m */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 87
            return
        end local 1 // org.aspectj.weaver.ShadowMunger m
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    2     1     m  Lorg/aspectj/weaver/ShadowMunger;
    MethodParameters:
      Name  Flags
      m     

  public void addShadowMungers(java.util.Collection<org.aspectj.weaver.ShadowMunger>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Collection c
         0: .line 90
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 2 /* munger */
        start local 2 // org.aspectj.weaver.ShadowMunger munger
         2: .line 91
            aload 0 /* this */
            aload 2 /* munger */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
        end local 2 // org.aspectj.weaver.ShadowMunger munger
         3: .line 90
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 93
            return
        end local 1 // java.util.Collection c
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    5     1       c  Ljava/util/Collection<Lorg/aspectj/weaver/ShadowMunger;>;
            2    3     2  munger  Lorg/aspectj/weaver/ShadowMunger;
    Signature: (Ljava/util/Collection<Lorg/aspectj/weaver/ShadowMunger;>;)V
    MethodParameters:
      Name  Flags
      c     

  private void addShadowMunger(org.aspectj.weaver.ShadowMunger);
    descriptor: (Lorg/aspectj/weaver/ShadowMunger;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ShadowMunger m
         0: .line 96
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.isAbstract:()Z
            ifeq 2
         1: .line 97
            return
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* m */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
            invokevirtual org.aspectj.weaver.ShadowMunger.concretize:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/PerClause;)Lorg/aspectj/weaver/ShadowMunger;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addConcreteShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
         3: .line 100
            return
        end local 1 // org.aspectj.weaver.ShadowMunger m
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    4     1     m  Lorg/aspectj/weaver/ShadowMunger;
    MethodParameters:
      Name  Flags
      m     

  public void addTypeMungers(java.util.Collection<org.aspectj.weaver.ConcreteTypeMunger>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Collection c
         0: .line 103
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            aload 1 /* c */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 104
            return
        end local 1 // java.util.Collection c
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    2     1     c  Ljava/util/Collection<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
    Signature: (Ljava/util/Collection<Lorg/aspectj/weaver/ConcreteTypeMunger;>;)V
    MethodParameters:
      Name  Flags
      c     

  public void addTypeMunger(org.aspectj.weaver.ConcreteTypeMunger);
    descriptor: (Lorg/aspectj/weaver/ConcreteTypeMunger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ConcreteTypeMunger m
         0: .line 107
            aload 1 /* m */
            ifnonnull 2
         1: .line 108
            new java.lang.Error
            dup
            ldc "FIXME AV - should not happen or what ?"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            aload 1 /* m */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 111
            return
        end local 1 // org.aspectj.weaver.ConcreteTypeMunger m
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    4     1     m  Lorg/aspectj/weaver/ConcreteTypeMunger;
    MethodParameters:
      Name  Flags
      m     

  public void addLateTypeMungers(java.util.Collection<org.aspectj.weaver.ConcreteTypeMunger>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Collection c
         0: .line 114
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            aload 1 /* c */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 115
            return
        end local 1 // java.util.Collection c
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    2     1     c  Ljava/util/Collection<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
    Signature: (Ljava/util/Collection<Lorg/aspectj/weaver/ConcreteTypeMunger;>;)V
    MethodParameters:
      Name  Flags
      c     

  public void addLateTypeMunger(org.aspectj.weaver.ConcreteTypeMunger);
    descriptor: (Lorg/aspectj/weaver/ConcreteTypeMunger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ConcreteTypeMunger m
         0: .line 118
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            aload 1 /* m */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 119
            return
        end local 1 // org.aspectj.weaver.ConcreteTypeMunger m
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    2     1     m  Lorg/aspectj/weaver/ConcreteTypeMunger;
    MethodParameters:
      Name  Flags
      m     

  public void addDeclares(java.util.Collection<org.aspectj.weaver.patterns.Declare>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Collection declares
         0: .line 122
            aload 1 /* declares */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.Declare
            astore 2 /* declare */
        start local 2 // org.aspectj.weaver.patterns.Declare declare
         2: .line 123
            aload 0 /* this */
            aload 2 /* declare */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addDeclare:(Lorg/aspectj/weaver/patterns/Declare;)V
        end local 2 // org.aspectj.weaver.patterns.Declare declare
         3: .line 122
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 125
            return
        end local 1 // java.util.Collection declares
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    5     1  declares  Ljava/util/Collection<Lorg/aspectj/weaver/patterns/Declare;>;
            2    3     2   declare  Lorg/aspectj/weaver/patterns/Declare;
    Signature: (Ljava/util/Collection<Lorg/aspectj/weaver/patterns/Declare;>;)V
    MethodParameters:
          Name  Flags
      declares  

  public void addDeclare(org.aspectj.weaver.patterns.Declare);
    descriptor: (Lorg/aspectj/weaver/patterns/Declare;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.patterns.Declare declare
         0: .line 129
            aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclareErrorOrWarning
            ifeq 5
         1: .line 130
            new org.aspectj.weaver.Checker
            dup
            aload 1 /* declare */
            checkcast org.aspectj.weaver.patterns.DeclareErrorOrWarning
            invokespecial org.aspectj.weaver.Checker.<init>:(Lorg/aspectj/weaver/patterns/DeclareErrorOrWarning;)V
            astore 2 /* m */
        start local 2 // org.aspectj.weaver.ShadowMunger m
         2: .line 131
            aload 2 /* m */
            aload 1 /* declare */
            invokevirtual org.aspectj.weaver.patterns.Declare.getDeclaringType:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ShadowMunger.setDeclaringType:(Lorg/aspectj/weaver/ResolvedType;)V
         3: .line 132
            aload 0 /* this */
            aload 2 /* m */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
        end local 2 // org.aspectj.weaver.ShadowMunger m
         4: .line 133
            goto 39
      StackMap locals:
      StackMap stack:
         5: aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclarePrecedence
            ifeq 8
         6: .line 134
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
            aload 1 /* declare */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 135
            goto 39
      StackMap locals:
      StackMap stack:
         8: aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclareParents
            ifeq 13
         9: .line 136
            aload 1 /* declare */
            checkcast org.aspectj.weaver.patterns.DeclareParents
            astore 2 /* dp */
        start local 2 // org.aspectj.weaver.patterns.DeclareParents dp
        10: .line 137
            aload 0 /* this */
            aload 2 /* dp */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.getParents:()Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.getExactTypes:()Ljava/util/List;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.exposeTypes:(Ljava/util/List;)V
        11: .line 138
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            aload 2 /* dp */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.aspectj.weaver.patterns.DeclareParents dp
        12: .line 139
            goto 39
      StackMap locals:
      StackMap stack:
        13: aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclareSoft
            ifeq 22
        14: .line 140
            aload 1 /* declare */
            checkcast org.aspectj.weaver.patterns.DeclareSoft
            astore 2 /* d */
        start local 2 // org.aspectj.weaver.patterns.DeclareSoft d
        15: .line 143
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getException:()Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            aload 2 /* d */
            invokestatic org.aspectj.weaver.Advice.makeSoftener:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IHasSourceLocation;)Lorg/aspectj/weaver/Advice;
            astore 3 /* m */
        start local 3 // org.aspectj.weaver.ShadowMunger m
        16: .line 144
            aload 3 /* m */
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getDeclaringType:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ShadowMunger.setDeclaringType:(Lorg/aspectj/weaver/ResolvedType;)V
        17: .line 145
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getDeclaringType:()Lorg/aspectj/weaver/ResolvedType;
            iconst_0
            aload 3 /* m */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.concretize:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;ILorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* concretePointcut */
        start local 4 // org.aspectj.weaver.patterns.Pointcut concretePointcut
        18: .line 146
            aload 3 /* m */
            aload 4 /* concretePointcut */
            putfield org.aspectj.weaver.ShadowMunger.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
        19: .line 147
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
            new org.aspectj.weaver.patterns.DeclareSoft
            dup
            aload 2 /* d */
            invokevirtual org.aspectj.weaver.patterns.DeclareSoft.getException:()Lorg/aspectj/weaver/patterns/TypePattern;
            aload 4 /* concretePointcut */
            invokespecial org.aspectj.weaver.patterns.DeclareSoft.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/Pointcut;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 148
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addConcreteShadowMunger:(Lorg/aspectj/weaver/ShadowMunger;)V
        end local 4 // org.aspectj.weaver.patterns.Pointcut concretePointcut
        end local 3 // org.aspectj.weaver.ShadowMunger m
        end local 2 // org.aspectj.weaver.patterns.DeclareSoft d
        21: .line 149
            goto 39
      StackMap locals:
      StackMap stack:
        22: aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclareAnnotation
            ifeq 35
        23: .line 152
            aload 1 /* declare */
            checkcast org.aspectj.weaver.patterns.DeclareAnnotation
            astore 2 /* da */
        start local 2 // org.aspectj.weaver.patterns.DeclareAnnotation da
        24: .line 153
            aload 2 /* da */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.getAspect:()Lorg/aspectj/weaver/UnresolvedType;
            ifnonnull 26
        25: .line 154
            aload 2 /* da */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.setAspect:(Lorg/aspectj/weaver/ResolvedType;)V
        26: .line 156
      StackMap locals: org.aspectj.weaver.patterns.DeclareAnnotation
      StackMap stack:
            aload 2 /* da */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.isDeclareAtType:()Z
            ifeq 29
        27: .line 157
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
            aload 2 /* da */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 158
            goto 39
      StackMap locals:
      StackMap stack:
        29: aload 2 /* da */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.isDeclareAtField:()Z
            ifeq 32
        30: .line 159
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
            aload 2 /* da */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        31: .line 160
            goto 39
      StackMap locals:
      StackMap stack:
        32: aload 2 /* da */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.isDeclareAtMethod:()Z
            ifne 33
            aload 2 /* da */
            invokevirtual org.aspectj.weaver.patterns.DeclareAnnotation.isDeclareAtConstuctor:()Z
            ifeq 39
        33: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
            aload 2 /* da */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.aspectj.weaver.patterns.DeclareAnnotation da
        34: .line 163
            goto 39
      StackMap locals:
      StackMap stack:
        35: aload 1 /* declare */
            instanceof org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning
            ifeq 38
        36: .line 164
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
            aload 1 /* declare */
            checkcast org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        37: .line 165
            goto 39
        38: .line 166
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "unimplemented"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.patterns.Declare declare
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   40     0              this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0   40     1           declare  Lorg/aspectj/weaver/patterns/Declare;
            2    4     2                 m  Lorg/aspectj/weaver/ShadowMunger;
           10   12     2                dp  Lorg/aspectj/weaver/patterns/DeclareParents;
           15   21     2                 d  Lorg/aspectj/weaver/patterns/DeclareSoft;
           16   21     3                 m  Lorg/aspectj/weaver/ShadowMunger;
           18   21     4  concretePointcut  Lorg/aspectj/weaver/patterns/Pointcut;
           24   34     2                da  Lorg/aspectj/weaver/patterns/DeclareAnnotation;
    MethodParameters:
         Name  Flags
      declare  

  public void exposeTypes(java.util.List<org.aspectj.weaver.UnresolvedType>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.List typesToExpose
         0: .line 171
            aload 1 /* typesToExpose */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.UnresolvedType
            astore 2 /* typeToExpose */
        start local 2 // org.aspectj.weaver.UnresolvedType typeToExpose
         2: .line 172
            aload 0 /* this */
            aload 2 /* typeToExpose */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.exposeType:(Lorg/aspectj/weaver/UnresolvedType;)V
        end local 2 // org.aspectj.weaver.UnresolvedType typeToExpose
         3: .line 171
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 174
            return
        end local 1 // java.util.List typesToExpose
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    5     1  typesToExpose  Ljava/util/List<Lorg/aspectj/weaver/UnresolvedType;>;
            2    3     2   typeToExpose  Lorg/aspectj/weaver/UnresolvedType;
    Signature: (Ljava/util/List<Lorg/aspectj/weaver/UnresolvedType;>;)V
    MethodParameters:
               Name  Flags
      typesToExpose  

  public void exposeType(org.aspectj.weaver.UnresolvedType);
    descriptor: (Lorg/aspectj/weaver/UnresolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.UnresolvedType typeToExpose
         0: .line 177
            aload 1 /* typeToExpose */
            invokestatic org.aspectj.weaver.ResolvedType.isMissing:(Lorg/aspectj/weaver/UnresolvedType;)Z
            ifeq 2
         1: .line 178
            return
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* typeToExpose */
            invokevirtual org.aspectj.weaver.UnresolvedType.isParameterizedType:()Z
            ifne 3
            aload 1 /* typeToExpose */
            invokevirtual org.aspectj.weaver.UnresolvedType.isRawType:()Z
            ifeq 7
         3: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* typeToExpose */
            instanceof org.aspectj.weaver.ResolvedType
            ifeq 6
         4: .line 182
            aload 1 /* typeToExpose */
            checkcast org.aspectj.weaver.ResolvedType
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 1 /* typeToExpose */
         5: .line 183
            goto 7
         6: .line 184
      StackMap locals:
      StackMap stack:
            aload 1 /* typeToExpose */
            invokevirtual org.aspectj.weaver.UnresolvedType.getErasureSignature:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 1 /* typeToExpose */
         7: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* typeToExpose */
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            astore 2 /* signatureToLookFor */
        start local 2 // java.lang.String signatureToLookFor
         8: .line 189
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
         9: goto 16
        10: .line 190
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            astore 4 /* cTM */
        start local 4 // org.aspectj.weaver.ConcreteTypeMunger cTM
        11: .line 191
            aload 4 /* cTM */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getMunger:()Lorg/aspectj/weaver/ResolvedTypeMunger;
            astore 5 /* rTM */
        start local 5 // org.aspectj.weaver.ResolvedTypeMunger rTM
        12: .line 192
            aload 5 /* rTM */
            ifnull 16
            aload 5 /* rTM */
            instanceof org.aspectj.weaver.ExposeTypeMunger
            ifeq 16
        13: .line 193
            aload 5 /* rTM */
            checkcast org.aspectj.weaver.ExposeTypeMunger
            invokevirtual org.aspectj.weaver.ExposeTypeMunger.getExposedTypeSignature:()Ljava/lang/String;
            astore 6 /* exposedType */
        start local 6 // java.lang.String exposedType
        14: .line 194
            aload 6 /* exposedType */
            aload 2 /* signatureToLookFor */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 195
            return
        end local 6 // java.lang.String exposedType
        end local 5 // org.aspectj.weaver.ResolvedTypeMunger rTM
        end local 4 // org.aspectj.weaver.ConcreteTypeMunger cTM
        16: .line 189
      StackMap locals:
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 3 // java.util.Iterator iterator
        17: .line 199
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getWeavingSupport:()Lorg/aspectj/weaver/IWeavingSupport;
            new org.aspectj.weaver.ExposeTypeMunger
            dup
            aload 1 /* typeToExpose */
            invokespecial org.aspectj.weaver.ExposeTypeMunger.<init>:(Lorg/aspectj/weaver/UnresolvedType;)V
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokeinterface org.aspectj.weaver.IWeavingSupport.concreteTypeMunger:(Lorg/aspectj/weaver/ResolvedTypeMunger;Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ConcreteTypeMunger;
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;)V
        18: .line 205
            return
        end local 2 // java.lang.String signatureToLookFor
        end local 1 // org.aspectj.weaver.UnresolvedType typeToExpose
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0   19     1        typeToExpose  Lorg/aspectj/weaver/UnresolvedType;
            8   19     2  signatureToLookFor  Ljava/lang/String;
            9   17     3            iterator  Ljava/util/Iterator<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
           11   16     4                 cTM  Lorg/aspectj/weaver/ConcreteTypeMunger;
           12   16     5                 rTM  Lorg/aspectj/weaver/ResolvedTypeMunger;
           14   16     6         exposedType  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      typeToExpose  

  public void addPrivilegedAccesses(java.util.Collection<org.aspectj.weaver.ResolvedMember>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Collection accessedMembers
         0: .line 208
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getCompilerVersion:()I
            istore 2 /* version */
        start local 2 // int version
         1: .line 209
            aload 1 /* accessedMembers */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 19
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ResolvedMember
            astore 3 /* member */
        start local 3 // org.aspectj.weaver.ResolvedMember member
         3: .line 212
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            aload 3 /* member */
            invokevirtual org.aspectj.weaver.World.resolve:(Lorg/aspectj/weaver/Member;)Lorg/aspectj/weaver/ResolvedMember;
            astore 5 /* resolvedMember */
        start local 5 // org.aspectj.weaver.ResolvedMember resolvedMember
         4: .line 220
            aload 5 /* resolvedMember */
            ifnonnull 9
         5: .line 222
            aload 3 /* member */
            astore 5 /* resolvedMember */
         6: .line 223
            aload 5 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.hasBackingGenericMember:()Z
            ifeq 13
         7: .line 224
            aload 5 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.getBackingGenericMember:()Lorg/aspectj/weaver/ResolvedMember;
            astore 5 /* resolvedMember */
         8: .line 226
            goto 13
         9: .line 227
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection int org.aspectj.weaver.ResolvedMember java.util.Iterator org.aspectj.weaver.ResolvedMember
      StackMap stack:
            aload 3 /* member */
            invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getRawType:()Lorg/aspectj/weaver/UnresolvedType;
            astore 6 /* unresolvedDeclaringType */
        start local 6 // org.aspectj.weaver.UnresolvedType unresolvedDeclaringType
        10: .line 228
            aload 5 /* resolvedMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            invokevirtual org.aspectj.weaver.UnresolvedType.getRawType:()Lorg/aspectj/weaver/UnresolvedType;
            astore 7 /* resolvedDeclaringType */
        start local 7 // org.aspectj.weaver.UnresolvedType resolvedDeclaringType
        11: .line 229
            aload 6 /* unresolvedDeclaringType */
            aload 7 /* resolvedDeclaringType */
            invokevirtual org.aspectj.weaver.UnresolvedType.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 230
            aload 3 /* member */
            astore 5 /* resolvedMember */
        end local 7 // org.aspectj.weaver.UnresolvedType resolvedDeclaringType
        end local 6 // org.aspectj.weaver.UnresolvedType unresolvedDeclaringType
        13: .line 233
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.PrivilegedAccessMunger
            dup
            aload 5 /* resolvedMember */
        14: .line 234
            iload 2 /* version */
            bipush 7
            if_icmplt 15
            iconst_1
            goto 16
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection int org.aspectj.weaver.ResolvedMember java.util.Iterator org.aspectj.weaver.ResolvedMember
      StackMap stack: new 13 new 13 org.aspectj.weaver.ResolvedMember
        15: iconst_0
        16: .line 233
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection int org.aspectj.weaver.ResolvedMember java.util.Iterator org.aspectj.weaver.ResolvedMember
      StackMap stack: new 13 new 13 org.aspectj.weaver.ResolvedMember int
            invokespecial org.aspectj.weaver.PrivilegedAccessMunger.<init>:(Lorg/aspectj/weaver/ResolvedMember;Z)V
            astore 6 /* privilegedAccessMunger */
        start local 6 // org.aspectj.weaver.PrivilegedAccessMunger privilegedAccessMunger
        17: .line 235
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.getWeavingSupport:()Lorg/aspectj/weaver/IWeavingSupport;
            aload 6 /* privilegedAccessMunger */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokeinterface org.aspectj.weaver.IWeavingSupport.concreteTypeMunger:(Lorg/aspectj/weaver/ResolvedTypeMunger;Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ConcreteTypeMunger;
            astore 7 /* concreteTypeMunger */
        start local 7 // org.aspectj.weaver.ConcreteTypeMunger concreteTypeMunger
        18: .line 236
            aload 0 /* this */
            aload 7 /* concreteTypeMunger */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.addTypeMunger:(Lorg/aspectj/weaver/ConcreteTypeMunger;)V
        end local 7 // org.aspectj.weaver.ConcreteTypeMunger concreteTypeMunger
        end local 6 // org.aspectj.weaver.PrivilegedAccessMunger privilegedAccessMunger
        end local 5 // org.aspectj.weaver.ResolvedMember resolvedMember
        end local 3 // org.aspectj.weaver.ResolvedMember member
        19: .line 209
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        20: .line 238
            return
        end local 2 // int version
        end local 1 // java.util.Collection accessedMembers
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   21     0                     this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0   21     1          accessedMembers  Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedMember;>;
            1   21     2                  version  I
            3   19     3                   member  Lorg/aspectj/weaver/ResolvedMember;
            4   19     5           resolvedMember  Lorg/aspectj/weaver/ResolvedMember;
           10   13     6  unresolvedDeclaringType  Lorg/aspectj/weaver/UnresolvedType;
           11   13     7    resolvedDeclaringType  Lorg/aspectj/weaver/UnresolvedType;
           17   19     6   privilegedAccessMunger  Lorg/aspectj/weaver/PrivilegedAccessMunger;
           18   19     7       concreteTypeMunger  Lorg/aspectj/weaver/ConcreteTypeMunger;
    Signature: (Ljava/util/Collection<Lorg/aspectj/weaver/ResolvedMember;>;)V
    MethodParameters:
                 Name  Flags
      accessedMembers  

  public java.util.Collection<org.aspectj.weaver.ShadowMunger> getCflowEntries();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 241
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.List ret
         1: .line 242
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 2 /* m */
        start local 2 // org.aspectj.weaver.ShadowMunger m
         3: .line 243
            aload 2 /* m */
            instanceof org.aspectj.weaver.Advice
            ifeq 7
         4: .line 244
            aload 2 /* m */
            checkcast org.aspectj.weaver.Advice
            astore 4 /* a */
        start local 4 // org.aspectj.weaver.Advice a
         5: .line 245
            aload 4 /* a */
            invokevirtual org.aspectj.weaver.Advice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.isCflow:()Z
            ifeq 7
         6: .line 246
            aload 1 /* ret */
            aload 4 /* a */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.aspectj.weaver.Advice a
        end local 2 // org.aspectj.weaver.ShadowMunger m
         7: .line 242
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 250
            aload 1 /* ret */
            areturn
        end local 1 // java.util.List ret
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
            1    9     1   ret  Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;
            3    7     2     m  Lorg/aspectj/weaver/ShadowMunger;
            5    7     4     a  Lorg/aspectj/weaver/Advice;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/ShadowMunger;>;

  public boolean replaceWith(org.aspectj.weaver.CrosscuttingMembers, boolean);
    descriptor: (Lorg/aspectj/weaver/CrosscuttingMembers;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.CrosscuttingMembers other
        start local 2 // boolean careAboutShadowMungers
         0: .line 265
            iconst_0
            istore 3 /* changed */
        start local 3 // boolean changed
         1: .line 267
            iload 2 /* careAboutShadowMungers */
            ifeq 5
         2: .line 268
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
            ifnull 3
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 269
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 3 /* changed */
         4: .line 270
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
            putfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
         5: .line 278
      StackMap locals:
      StackMap stack:
            iload 2 /* careAboutShadowMungers */
            ifeq 47
         6: .line 280
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* theseShadowMungers */
        start local 4 // java.util.Set theseShadowMungers
         7: .line 281
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* theseInlinedAroundMungers */
        start local 5 // java.util.Set theseInlinedAroundMungers
         8: .line 282
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 6 /* munger */
        start local 6 // org.aspectj.weaver.ShadowMunger munger
        10: .line 283
            aload 6 /* munger */
            instanceof org.aspectj.weaver.Advice
            ifeq 17
        11: .line 284
            aload 6 /* munger */
            checkcast org.aspectj.weaver.Advice
            astore 8 /* adviceMunger */
        start local 8 // org.aspectj.weaver.Advice adviceMunger
        12: .line 288
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.isXnoInline:()Z
            ifne 15
            aload 8 /* adviceMunger */
            invokevirtual org.aspectj.weaver.Advice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 289
            aload 5 /* theseInlinedAroundMungers */
            aload 8 /* adviceMunger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 290
            goto 18
        15: .line 291
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set org.aspectj.weaver.ShadowMunger java.util.Iterator org.aspectj.weaver.Advice
      StackMap stack:
            aload 4 /* theseShadowMungers */
            aload 8 /* adviceMunger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.aspectj.weaver.Advice adviceMunger
        16: .line 293
            goto 18
        17: .line 294
      StackMap locals:
      StackMap stack:
            aload 4 /* theseShadowMungers */
            aload 6 /* munger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.aspectj.weaver.ShadowMunger munger
        18: .line 282
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        19: .line 297
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* tempSet */
        start local 6 // java.util.Set tempSet
        20: .line 298
            aload 6 /* tempSet */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        21: .line 299
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* otherShadowMungers */
        start local 7 // java.util.Set otherShadowMungers
        22: .line 300
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* otherInlinedAroundMungers */
        start local 8 // java.util.Set otherInlinedAroundMungers
        23: .line 301
            aload 6 /* tempSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 33
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        24: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 9 /* munger */
        start local 9 // org.aspectj.weaver.ShadowMunger munger
        25: .line 302
            aload 9 /* munger */
            instanceof org.aspectj.weaver.Advice
            ifeq 32
        26: .line 303
            aload 9 /* munger */
            checkcast org.aspectj.weaver.Advice
            astore 11 /* adviceMunger */
        start local 11 // org.aspectj.weaver.Advice adviceMunger
        27: .line 307
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.world:Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.World.isXnoInline:()Z
            ifne 30
            aload 11 /* adviceMunger */
            invokevirtual org.aspectj.weaver.Advice.getKind:()Lorg/aspectj/weaver/AdviceKind;
            getstatic org.aspectj.weaver.AdviceKind.Around:Lorg/aspectj/weaver/AdviceKind;
            invokevirtual org.aspectj.weaver.AdviceKind.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 308
            aload 8 /* otherInlinedAroundMungers */
            aload 0 /* this */
            aload 11 /* adviceMunger */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.rewritePointcutInMunger:(Lorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/ShadowMunger;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 309
            goto 33
        30: .line 310
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.aspectj.weaver.ShadowMunger java.util.Iterator org.aspectj.weaver.Advice
      StackMap stack:
            aload 7 /* otherShadowMungers */
            aload 0 /* this */
            aload 11 /* adviceMunger */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.rewritePointcutInMunger:(Lorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/ShadowMunger;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.aspectj.weaver.Advice adviceMunger
        31: .line 312
            goto 33
        32: .line 313
      StackMap locals:
      StackMap stack:
            aload 7 /* otherShadowMungers */
            aload 0 /* this */
            aload 9 /* munger */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.rewritePointcutInMunger:(Lorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/ShadowMunger;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.aspectj.weaver.ShadowMunger munger
        33: .line 301
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        34: .line 316
            aload 4 /* theseShadowMungers */
            aload 7 /* otherShadowMungers */
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 36
        35: .line 317
            iconst_1
            istore 3 /* changed */
        36: .line 319
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 5 /* theseInlinedAroundMungers */
            aload 8 /* otherInlinedAroundMungers */
            invokevirtual org.aspectj.weaver.CrosscuttingMembers.equivalent:(Ljava/util/Set;Ljava/util/Set;)Z
            ifne 38
        37: .line 320
            iconst_1
            istore 3 /* changed */
        38: .line 325
      StackMap locals:
      StackMap stack:
            iload 3 /* changed */
            ifne 46
        39: .line 326
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 45
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        40: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 9 /* munger */
        start local 9 // org.aspectj.weaver.ShadowMunger munger
        41: .line 327
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            aload 9 /* munger */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 11 /* i */
        start local 11 // int i
        42: .line 328
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.aspectj.weaver.ShadowMunger
            astore 12 /* otherMunger */
        start local 12 // org.aspectj.weaver.ShadowMunger otherMunger
        43: .line 329
            aload 9 /* munger */
            instanceof org.aspectj.weaver.Advice
            ifeq 45
        44: .line 330
            aload 12 /* otherMunger */
            checkcast org.aspectj.weaver.Advice
            aload 9 /* munger */
            checkcast org.aspectj.weaver.Advice
            invokevirtual org.aspectj.weaver.Advice.hasMatchedSomething:()Z
            invokevirtual org.aspectj.weaver.Advice.setHasMatchedSomething:(Z)V
        end local 12 // org.aspectj.weaver.ShadowMunger otherMunger
        end local 11 // int i
        end local 9 // org.aspectj.weaver.ShadowMunger munger
        45: .line 326
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        46: .line 338
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            putfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
        end local 8 // java.util.Set otherInlinedAroundMungers
        end local 7 // java.util.Set otherShadowMungers
        end local 6 // java.util.Set tempSet
        end local 5 // java.util.Set theseInlinedAroundMungers
        end local 4 // java.util.Set theseShadowMungers
        47: .line 345
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* theseTypeMungers */
        start local 4 // java.util.Set theseTypeMungers
        48: .line 346
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* otherTypeMungers */
        start local 5 // java.util.Set otherTypeMungers
        49: .line 347
            iload 2 /* careAboutShadowMungers */
            ifne 71
        50: .line 348
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        51: goto 59
        52: .line 349
      StackMap locals: java.util.Set java.util.Set java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* o */
        start local 7 // java.lang.Object o
        53: .line 350
            aload 7 /* o */
            instanceof org.aspectj.weaver.ConcreteTypeMunger
            ifeq 58
        54: .line 351
            aload 7 /* o */
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            astore 8 /* typeMunger */
        start local 8 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
        55: .line 352
            aload 8 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.existsToSupportShadowMunging:()Z
            ifne 59
        56: .line 353
            aload 4 /* theseTypeMungers */
            aload 8 /* typeMunger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
        57: .line 355
            goto 59
        58: .line 356
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* theseTypeMungers */
            aload 7 /* o */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Object o
        59: .line 348
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 52
        end local 6 // java.util.Iterator iter
        60: .line 360
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        61: goto 69
        62: .line 361
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* o */
        start local 7 // java.lang.Object o
        63: .line 362
            aload 7 /* o */
            instanceof org.aspectj.weaver.ConcreteTypeMunger
            ifeq 68
        64: .line 363
            aload 7 /* o */
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            astore 8 /* typeMunger */
        start local 8 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
        65: .line 364
            aload 8 /* typeMunger */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.existsToSupportShadowMunging:()Z
            ifne 69
        66: .line 365
            aload 5 /* otherTypeMungers */
            aload 8 /* typeMunger */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.aspectj.weaver.ConcreteTypeMunger typeMunger
        67: .line 367
            goto 69
        68: .line 368
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* otherTypeMungers */
            aload 7 /* o */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Object o
        69: .line 360
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        end local 6 // java.util.Iterator iter
        70: .line 371
            goto 73
        71: .line 372
      StackMap locals:
      StackMap stack:
            aload 4 /* theseTypeMungers */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        72: .line 373
            aload 5 /* otherTypeMungers */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        73: .line 378
      StackMap locals:
      StackMap stack:
            aload 4 /* theseTypeMungers */
            invokeinterface java.util.Set.size:()I
            aload 5 /* otherTypeMungers */
            invokeinterface java.util.Set.size:()I
            if_icmpeq 77
        74: .line 379
            iconst_1
            istore 3 /* changed */
        75: .line 380
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            putfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
        76: .line 381
            goto 105
        77: .line 382
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* shouldOverwriteThis */
        start local 6 // boolean shouldOverwriteThis
        78: .line 383
            iconst_0
            istore 7 /* foundInequality */
        start local 7 // boolean foundInequality
        79: .line 384
            aload 4 /* theseTypeMungers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        80: goto 100
        81: .line 385
      StackMap locals: int int java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* thisOne */
        start local 9 // java.lang.Object thisOne
        82: .line 386
            iconst_0
            istore 10 /* foundInOtherSet */
        start local 10 // boolean foundInOtherSet
        83: .line 387
            aload 5 /* otherTypeMungers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 97
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set int int java.util.Iterator java.lang.Object int top java.util.Iterator
      StackMap stack:
        84: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 11 /* otherOne */
        start local 11 // java.lang.Object otherOne
        85: .line 388
            aload 9 /* thisOne */
            instanceof org.aspectj.weaver.ConcreteTypeMunger
            ifeq 88
        86: .line 389
            aload 9 /* thisOne */
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.shouldOverwrite:()Z
            ifeq 88
        87: .line 390
            iconst_1
            istore 6 /* shouldOverwriteThis */
        88: .line 393
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set int int java.util.Iterator java.lang.Object int java.lang.Object java.util.Iterator
      StackMap stack:
            aload 9 /* thisOne */
            instanceof org.aspectj.weaver.ConcreteTypeMunger
            ifeq 95
            aload 11 /* otherOne */
            instanceof org.aspectj.weaver.ConcreteTypeMunger
            ifeq 95
        89: .line 394
            aload 9 /* thisOne */
            checkcast org.aspectj.weaver.ConcreteTypeMunger
            aload 11 /* otherOne */
            invokevirtual org.aspectj.weaver.ConcreteTypeMunger.equivalentTo:(Ljava/lang/Object;)Z
            ifeq 92
        90: .line 395
            iconst_1
            istore 10 /* foundInOtherSet */
        91: .line 396
            goto 97
      StackMap locals:
      StackMap stack:
        92: aload 9 /* thisOne */
            aload 11 /* otherOne */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 97
        93: .line 397
            iconst_1
            istore 10 /* foundInOtherSet */
        94: .line 399
            goto 97
        95: .line 400
      StackMap locals:
      StackMap stack:
            aload 9 /* thisOne */
            aload 11 /* otherOne */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 97
        96: .line 401
            iconst_1
            istore 10 /* foundInOtherSet */
        end local 11 // java.lang.Object otherOne
        97: .line 387
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set int int java.util.Iterator java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        98: .line 405
            iload 10 /* foundInOtherSet */
            ifne 100
        99: .line 406
            iconst_1
            istore 7 /* foundInequality */
        end local 10 // boolean foundInOtherSet
        end local 9 // java.lang.Object thisOne
       100: .line 384
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set int int java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 101
            iload 7 /* foundInequality */
            ifeq 81
        end local 8 // java.util.Iterator iter
       101: .line 409
      StackMap locals:
      StackMap stack:
            iload 7 /* foundInequality */
            ifeq 103
       102: .line 411
            iconst_1
            istore 3 /* changed */
       103: .line 413
      StackMap locals:
      StackMap stack:
            iload 6 /* shouldOverwriteThis */
            ifeq 105
       104: .line 414
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            putfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
        end local 7 // boolean foundInequality
        end local 6 // boolean shouldOverwriteThis
       105: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 108
       106: .line 423
            iconst_1
            istore 3 /* changed */
       107: .line 424
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            putfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
       108: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 111
       109: .line 428
            iconst_1
            istore 3 /* changed */
       110: .line 429
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
       111: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 133
       112: .line 435
            iload 2 /* careAboutShadowMungers */
            ifne 131
       113: .line 437
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* trimmedThis */
        start local 6 // java.util.Set trimmedThis
       114: .line 438
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
       115: goto 119
       116: .line 439
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareParents
            astore 8 /* decp */
        start local 8 // org.aspectj.weaver.patterns.DeclareParents decp
       117: .line 440
            aload 8 /* decp */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.isMixin:()Z
            ifne 119
       118: .line 441
            aload 6 /* trimmedThis */
            aload 8 /* decp */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.aspectj.weaver.patterns.DeclareParents decp
       119: .line 438
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 116
        end local 7 // java.util.Iterator iterator
       120: .line 444
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* trimmedOther */
        start local 7 // java.util.Set trimmedOther
       121: .line 445
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* iterator */
        start local 8 // java.util.Iterator iterator
       122: goto 126
       123: .line 446
      StackMap locals: org.aspectj.weaver.CrosscuttingMembers org.aspectj.weaver.CrosscuttingMembers int int java.util.Set java.util.Set java.util.Set java.util.Set java.util.Iterator
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.DeclareParents
            astore 9 /* decp */
        start local 9 // org.aspectj.weaver.patterns.DeclareParents decp
       124: .line 447
            aload 9 /* decp */
            invokevirtual org.aspectj.weaver.patterns.DeclareParents.isMixin:()Z
            ifne 126
       125: .line 448
            aload 7 /* trimmedOther */
            aload 9 /* decp */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.aspectj.weaver.patterns.DeclareParents decp
       126: .line 445
      StackMap locals:
      StackMap stack:
            aload 8 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 123
        end local 8 // java.util.Iterator iterator
       127: .line 451
            aload 6 /* trimmedThis */
            aload 7 /* trimmedOther */
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 133
       128: .line 452
            iconst_1
            istore 3 /* changed */
       129: .line 453
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
        end local 7 // java.util.Set trimmedOther
        end local 6 // java.util.Set trimmedThis
       130: .line 455
            goto 133
       131: .line 456
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* changed */
       132: .line 457
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
       133: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 136
       134: .line 462
            iconst_1
            istore 3 /* changed */
       135: .line 463
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
       136: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 139
       137: .line 468
            iconst_1
            istore 3 /* changed */
       138: .line 469
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
       139: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 142
       140: .line 473
            iconst_1
            istore 3 /* changed */
       141: .line 474
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
       142: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 145
       143: .line 478
            iconst_1
            istore 3 /* changed */
       144: .line 479
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
       145: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 148
       146: .line 482
            iconst_1
            istore 3 /* changed */
       147: .line 483
            aload 0 /* this */
            aload 1 /* other */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
            putfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
       148: .line 486
      StackMap locals:
      StackMap stack:
            iload 3 /* changed */
            ireturn
        end local 5 // java.util.Set otherTypeMungers
        end local 4 // java.util.Set theseTypeMungers
        end local 3 // boolean changed
        end local 2 // boolean careAboutShadowMungers
        end local 1 // org.aspectj.weaver.CrosscuttingMembers other
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  149     0                       this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0  149     1                      other  Lorg/aspectj/weaver/CrosscuttingMembers;
            0  149     2     careAboutShadowMungers  Z
            1  149     3                    changed  Z
            7   47     4         theseShadowMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
            8   47     5  theseInlinedAroundMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
           10   18     6                     munger  Lorg/aspectj/weaver/ShadowMunger;
           12   16     8               adviceMunger  Lorg/aspectj/weaver/Advice;
           20   47     6                    tempSet  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
           22   47     7         otherShadowMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
           23   47     8  otherInlinedAroundMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
           25   33     9                     munger  Lorg/aspectj/weaver/ShadowMunger;
           27   31    11               adviceMunger  Lorg/aspectj/weaver/Advice;
           41   45     9                     munger  Lorg/aspectj/weaver/ShadowMunger;
           42   45    11                          i  I
           43   45    12                otherMunger  Lorg/aspectj/weaver/ShadowMunger;
           48  149     4           theseTypeMungers  Ljava/util/Set<Ljava/lang/Object;>;
           49  149     5           otherTypeMungers  Ljava/util/Set<Ljava/lang/Object;>;
           51   60     6                       iter  Ljava/util/Iterator<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
           53   59     7                          o  Ljava/lang/Object;
           55   57     8                 typeMunger  Lorg/aspectj/weaver/ConcreteTypeMunger;
           61   70     6                       iter  Ljava/util/Iterator<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
           63   69     7                          o  Ljava/lang/Object;
           65   67     8                 typeMunger  Lorg/aspectj/weaver/ConcreteTypeMunger;
           78  105     6        shouldOverwriteThis  Z
           79  105     7            foundInequality  Z
           80  101     8                       iter  Ljava/util/Iterator<Ljava/lang/Object;>;
           82  100     9                    thisOne  Ljava/lang/Object;
           83  100    10            foundInOtherSet  Z
           85   97    11                   otherOne  Ljava/lang/Object;
          114  130     6                trimmedThis  Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareParents;>;
          115  120     7                   iterator  Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/DeclareParents;>;
          117  119     8                       decp  Lorg/aspectj/weaver/patterns/DeclareParents;
          121  130     7               trimmedOther  Ljava/util/Set<Lorg/aspectj/weaver/patterns/DeclareParents;>;
          122  127     8                   iterator  Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/DeclareParents;>;
          124  126     9                       decp  Lorg/aspectj/weaver/patterns/DeclareParents;
    MethodParameters:
                        Name  Flags
      other                   
      careAboutShadowMungers  

  private boolean equivalent(java.util.Set<org.aspectj.weaver.ShadowMunger>, java.util.Set<org.aspectj.weaver.ShadowMunger>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // java.util.Set theseInlinedAroundMungers
        start local 2 // java.util.Set otherInlinedAroundMungers
         0: .line 490
            aload 1 /* theseInlinedAroundMungers */
            invokeinterface java.util.Set.size:()I
            aload 2 /* otherInlinedAroundMungers */
            invokeinterface java.util.Set.size:()I
            if_icmpeq 2
         1: .line 491
            iconst_0
            ireturn
         2: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* theseInlinedAroundMungers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: goto 18
         4: .line 494
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.Advice
            astore 4 /* thisAdvice */
        start local 4 // org.aspectj.weaver.Advice thisAdvice
         5: .line 495
            iconst_0
            istore 5 /* foundIt */
        start local 5 // boolean foundIt
         6: .line 496
            aload 2 /* otherInlinedAroundMungers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
         7: goto 15
         8: .line 497
      StackMap locals: org.aspectj.weaver.Advice int java.util.Iterator
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.Advice
            astore 7 /* otherAdvice */
        start local 7 // org.aspectj.weaver.Advice otherAdvice
         9: .line 498
            aload 4 /* thisAdvice */
            aload 7 /* otherAdvice */
            invokevirtual org.aspectj.weaver.Advice.equals:(Ljava/lang/Object;)Z
            ifeq 15
        10: .line 499
            aload 4 /* thisAdvice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            instanceof org.aspectj.weaver.ResolvedMemberImpl
            ifeq 14
        11: .line 500
            aload 4 /* thisAdvice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            checkcast org.aspectj.weaver.ResolvedMemberImpl
            aload 7 /* otherAdvice */
            invokevirtual org.aspectj.weaver.Advice.getSignature:()Lorg/aspectj/weaver/Member;
            invokevirtual org.aspectj.weaver.ResolvedMemberImpl.isEquivalentTo:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 501
            iconst_1
            istore 5 /* foundIt */
        13: .line 502
            goto 15
        14: .line 505
      StackMap locals: org.aspectj.weaver.Advice
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // org.aspectj.weaver.Advice otherAdvice
        15: .line 496
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.util.Iterator iterator
        16: .line 508
            iload 5 /* foundIt */
            ifne 18
        17: .line 509
            iconst_0
            ireturn
        end local 5 // boolean foundIt
        end local 4 // org.aspectj.weaver.Advice thisAdvice
        18: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator iter
        19: .line 512
            iconst_1
            ireturn
        end local 2 // java.util.Set otherInlinedAroundMungers
        end local 1 // java.util.Set theseInlinedAroundMungers
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   20     0                       this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0   20     1  theseInlinedAroundMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
            0   20     2  otherInlinedAroundMungers  Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;
            3   19     3                       iter  Ljava/util/Iterator<Lorg/aspectj/weaver/ShadowMunger;>;
            5   18     4                 thisAdvice  Lorg/aspectj/weaver/Advice;
            6   18     5                    foundIt  Z
            7   16     6                   iterator  Ljava/util/Iterator<Lorg/aspectj/weaver/ShadowMunger;>;
            9   15     7                otherAdvice  Lorg/aspectj/weaver/Advice;
    Signature: (Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;Ljava/util/Set<Lorg/aspectj/weaver/ShadowMunger;>;)Z
    MethodParameters:
                           Name  Flags
      theseInlinedAroundMungers  
      otherInlinedAroundMungers  

  private org.aspectj.weaver.ShadowMunger rewritePointcutInMunger(org.aspectj.weaver.ShadowMunger);
    descriptor: (Lorg/aspectj/weaver/ShadowMunger;)Lorg/aspectj/weaver/ShadowMunger;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.ShadowMunger munger
         0: .line 516
            new org.aspectj.weaver.patterns.PointcutRewriter
            dup
            invokespecial org.aspectj.weaver.patterns.PointcutRewriter.<init>:()V
            astore 2 /* pr */
        start local 2 // org.aspectj.weaver.patterns.PointcutRewriter pr
         1: .line 517
            aload 1 /* munger */
            invokevirtual org.aspectj.weaver.ShadowMunger.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        start local 3 // org.aspectj.weaver.patterns.Pointcut p
         2: .line 518
            aload 2 /* pr */
            aload 3 /* p */
            invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.rewrite:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 4 /* newP */
        start local 4 // org.aspectj.weaver.patterns.Pointcut newP
         3: .line 519
            aload 3 /* p */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            arraylength
            ifeq 5
         4: .line 521
            aload 4 /* newP */
            aload 3 /* p */
            getfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
            putfield org.aspectj.weaver.patterns.Pointcut.m_ignoreUnboundBindingForNames:[Ljava/lang/String;
         5: .line 523
      StackMap locals: org.aspectj.weaver.patterns.PointcutRewriter org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 1 /* munger */
            aload 4 /* newP */
            invokevirtual org.aspectj.weaver.ShadowMunger.setPointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)V
         6: .line 524
            aload 1 /* munger */
            areturn
        end local 4 // org.aspectj.weaver.patterns.Pointcut newP
        end local 3 // org.aspectj.weaver.patterns.Pointcut p
        end local 2 // org.aspectj.weaver.patterns.PointcutRewriter pr
        end local 1 // org.aspectj.weaver.ShadowMunger munger
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    7     1  munger  Lorg/aspectj/weaver/ShadowMunger;
            1    7     2      pr  Lorg/aspectj/weaver/patterns/PointcutRewriter;
            2    7     3       p  Lorg/aspectj/weaver/patterns/Pointcut;
            3    7     4    newP  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
        Name  Flags
      munger  

  public void setPerClause(org.aspectj.weaver.patterns.PerClause);
    descriptor: (Lorg/aspectj/weaver/patterns/PerClause;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
        start local 1 // org.aspectj.weaver.patterns.PerClause perClause
         0: .line 528
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shouldConcretizeIfNeeded:Z
            ifeq 3
         1: .line 529
            aload 0 /* this */
            aload 1 /* perClause */
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.inAspect:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.patterns.PerClause.concretize:(Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/patterns/PerClause;
            putfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
         2: .line 530
            goto 4
         3: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perClause */
            putfield org.aspectj.weaver.CrosscuttingMembers.perClause:Lorg/aspectj/weaver/patterns/PerClause;
         4: .line 533
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.patterns.PerClause perClause
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/aspectj/weaver/CrosscuttingMembers;
            0    5     1  perClause  Lorg/aspectj/weaver/patterns/PerClause;
    MethodParameters:
           Name  Flags
      perClause  

  public java.util.List<org.aspectj.weaver.patterns.Declare> getDeclareDominates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 536
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareDominates:Ljava/util/List;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/patterns/Declare;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareParents> getDeclareParents();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 540
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareParents:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareParents;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareSoft> getDeclareSofts();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 544
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareSofts:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareSoft;>;

  public java.util.List<org.aspectj.weaver.ShadowMunger> getShadowMungers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 548
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.shadowMungers:Ljava/util/List;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/ShadowMunger;>;

  public java.util.List<org.aspectj.weaver.ConcreteTypeMunger> getTypeMungers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 552
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.typeMungers:Ljava/util/List;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  public java.util.List<org.aspectj.weaver.ConcreteTypeMunger> getLateTypeMungers();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 556
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.lateTypeMungers:Ljava/util/List;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareAnnotation> getDeclareAnnotationOnTypes();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 560
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnType:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareAnnotation> getDeclareAnnotationOnFields();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 564
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnField:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareAnnotation> getDeclareAnnotationOnMethods();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 571
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareAnnotationsOnMethods:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareAnnotation;>;

  public java.util.Collection<org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning> getDeclareTypeErrorOrWarning();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 575
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.declareTypeEow:Ljava/util/Set;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Collection<Lorg/aspectj/weaver/patterns/DeclareTypeErrorOrWarning;>;

  public java.util.Map<java.lang.String, java.lang.Object> getCflowBelowFields();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 579
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.cflowBelowFields:Ljava/util/Hashtable;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public java.util.Map<java.lang.String, java.lang.Object> getCflowFields();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 583
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.cflowFields:Ljava/util/Hashtable;
            areturn
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public void clearCaches();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.CrosscuttingMembers this
         0: .line 587
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.cflowFields:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clear:()V
         1: .line 588
            aload 0 /* this */
            getfield org.aspectj.weaver.CrosscuttingMembers.cflowBelowFields:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clear:()V
         2: .line 589
            return
        end local 0 // org.aspectj.weaver.CrosscuttingMembers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/CrosscuttingMembers;
}
SourceFile: "CrosscuttingMembers.java"