public class org.aspectj.weaver.patterns.DeclarePrecedence extends org.aspectj.weaver.patterns.Declare
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.patterns.DeclarePrecedence
  super_class: org.aspectj.weaver.patterns.Declare
{
  private org.aspectj.weaver.patterns.TypePatternList patterns;
    descriptor: Lorg/aspectj/weaver/patterns/TypePatternList;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // java.util.List patterns
         0: .line 32
            aload 0 /* this */
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            aload 1 /* patterns */
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:(Ljava/util/List;)V
            invokespecial org.aspectj.weaver.patterns.DeclarePrecedence.<init>:(Lorg/aspectj/weaver/patterns/TypePatternList;)V
         1: .line 33
            return
        end local 1 // java.util.List patterns
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    2     1  patterns  Ljava/util/List;
    MethodParameters:
          Name  Flags
      patterns  

  private void <init>(org.aspectj.weaver.patterns.TypePatternList);
    descriptor: (Lorg/aspectj/weaver/patterns/TypePatternList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.patterns.TypePatternList patterns
         0: .line 35
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.Declare.<init>:()V
         1: .line 29
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
         2: .line 36
            aload 0 /* this */
            aload 1 /* patterns */
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
         3: .line 37
            return
        end local 1 // org.aspectj.weaver.patterns.TypePatternList patterns
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    4     1  patterns  Lorg/aspectj/weaver/patterns/TypePatternList;
    MethodParameters:
          Name  Flags
      patterns  

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

  public org.aspectj.weaver.patterns.Declare parameterizeWith(java.util.Map, org.aspectj.weaver.World);
    descriptor: (Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // java.util.Map typeVariableBindingMap
        start local 2 // org.aspectj.weaver.World w
         0: .line 44
            new org.aspectj.weaver.patterns.DeclarePrecedence
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* typeVariableBindingMap */
            aload 2 /* w */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/TypePatternList;
            invokespecial org.aspectj.weaver.patterns.DeclarePrecedence.<init>:(Lorg/aspectj/weaver/patterns/TypePatternList;)V
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.DeclarePrecedence ret
         1: .line 45
            aload 3 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
         2: .line 46
            aload 3 /* ret */
            areturn
        end local 3 // org.aspectj.weaver.patterns.DeclarePrecedence ret
        end local 2 // org.aspectj.weaver.World w
        end local 1 // java.util.Map typeVariableBindingMap
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    3     1  typeVariableBindingMap  Ljava/util/Map;
            0    3     2                       w  Lorg/aspectj/weaver/World;
            1    3     3                     ret  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
    MethodParameters:
                        Name  Flags
      typeVariableBindingMap  
      w                       

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 50
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 51
            aload 1 /* buf */
            ldc "declare precedence: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 52
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         3: .line 53
            aload 1 /* buf */
            ldc ";"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 54
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            1    5     1   buf  Ljava/lang/StringBuffer;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // java.lang.Object other
         0: .line 58
            aload 1 /* other */
            instanceof org.aspectj.weaver.patterns.DeclarePrecedence
            ifne 2
         1: .line 59
            iconst_0
            ireturn
         2: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.aspectj.weaver.patterns.DeclarePrecedence
            astore 2 /* o */
        start local 2 // org.aspectj.weaver.patterns.DeclarePrecedence o
         3: .line 62
            aload 2 /* o */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.aspectj.weaver.patterns.DeclarePrecedence o
        end local 1 // java.lang.Object other
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    4     1  other  Ljava/lang/Object;
            3    4     2      o  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 66
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.hashCode:()I
            ireturn
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;

  public void write(org.aspectj.weaver.CompressingDataOutputStream);
    descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.CompressingDataOutputStream s
         0: .line 70
            aload 1 /* s */
            iconst_4
            invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeByte:(I)V
         1: .line 71
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
         2: .line 72
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.writeLocation:(Ljava/io/DataOutputStream;)V
         3: .line 73
            return
        end local 1 // org.aspectj.weaver.CompressingDataOutputStream s
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    4     1     s  Lorg/aspectj/weaver/CompressingDataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public static org.aspectj.weaver.patterns.Declare read(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
    descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.VersionedDataInputStream s
        start local 1 // org.aspectj.weaver.ISourceContext context
         0: .line 76
            new org.aspectj.weaver.patterns.DeclarePrecedence
            dup
            aload 0 /* s */
            aload 1 /* context */
            invokestatic org.aspectj.weaver.patterns.TypePatternList.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/TypePatternList;
            invokespecial org.aspectj.weaver.patterns.DeclarePrecedence.<init>:(Lorg/aspectj/weaver/patterns/TypePatternList;)V
            astore 2 /* ret */
        start local 2 // org.aspectj.weaver.patterns.Declare ret
         1: .line 77
            aload 2 /* ret */
            aload 1 /* context */
            aload 0 /* s */
            invokevirtual org.aspectj.weaver.patterns.Declare.readLocation:(Lorg/aspectj/weaver/ISourceContext;Ljava/io/DataInputStream;)V
         2: .line 78
            aload 2 /* ret */
            areturn
        end local 2 // org.aspectj.weaver.patterns.Declare ret
        end local 1 // org.aspectj.weaver.ISourceContext context
        end local 0 // org.aspectj.weaver.VersionedDataInputStream s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0        s  Lorg/aspectj/weaver/VersionedDataInputStream;
            0    3     1  context  Lorg/aspectj/weaver/ISourceContext;
            1    3     2      ret  Lorg/aspectj/weaver/patterns/Declare;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      s        
      context  

  public void setScopeForResolution(org.aspectj.weaver.patterns.IScope);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
         0: .line 82
            aload 0 /* this */
            aload 1 /* scope */
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
         1: .line 83
            return
        end local 1 // org.aspectj.weaver.patterns.IScope scope
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0    2     1  scope  Lorg/aspectj/weaver/patterns/IScope;
    MethodParameters:
       Name  Flags
      scope  

  public void ensureResolved();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 86
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
            ifnull 7
         1: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.resolve:(Lorg/aspectj/weaver/patterns/IScope;)V
         2: .line 89
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 90
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
         5: .line 91
            aload 1
            athrow
         6: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.scope:Lorg/aspectj/weaver/patterns/IScope;
         7: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
      Exception table:
        from    to  target  type
           1     3       3  any

  public void resolve(org.aspectj.weaver.patterns.IScope);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
         0: .line 96
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            aload 1 /* scope */
            getstatic org.aspectj.weaver.patterns.Bindings.NONE:Lorg/aspectj/weaver/patterns/Bindings;
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;ZZ)Lorg/aspectj/weaver/patterns/TypePatternList;
            putfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
         1: .line 97
            iconst_0
            istore 2 /* seenStar */
        start local 2 // boolean seenStar
         2: .line 99
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 36
         4: .line 100
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 3 /* i */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* pi */
        start local 4 // org.aspectj.weaver.patterns.TypePattern pi
         5: .line 101
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifeq 12
         6: .line 102
            iload 2 /* seenStar */
            ifeq 10
         7: .line 103
            aload 1 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
            ldc "circularityInPrecedenceStar"
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 104
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aconst_null
         9: .line 103
            invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        10: .line 106
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            iconst_1
            istore 2 /* seenStar */
        11: .line 107
            goto 35
        12: .line 109
      StackMap locals:
      StackMap stack:
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getExactType:()Lorg/aspectj/weaver/UnresolvedType;
            aload 1 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 5 /* exactType */
        start local 5 // org.aspectj.weaver.ResolvedType exactType
        13: .line 110
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 15
        14: .line 111
            goto 35
        15: .line 115
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAspect:()Z
            ifne 21
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.isAnnotationStyleAspect:()Z
            ifne 21
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isIncludeSubtypes:()Z
            ifne 21
        16: .line 116
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.isTypeVariableReference:()Z
            ifne 21
        17: .line 117
            aload 1 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
        18: .line 118
            ldc "nonAspectTypesInPrecedence"
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        19: .line 119
            aconst_null
        20: .line 117
            invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        21: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        22: goto 34
        23: .line 123
      StackMap locals: int
      StackMap stack:
            iload 6 /* j */
            iload 3 /* i */
            if_icmpne 25
        24: .line 124
            goto 33
        25: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 6 /* j */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 7 /* pj */
        start local 7 // org.aspectj.weaver.patterns.TypePattern pj
        26: .line 127
            aload 7 /* pj */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifeq 28
        27: .line 128
            goto 33
        28: .line 130
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 7 /* pj */
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 33
        29: .line 131
            aload 1 /* scope */
            invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
        30: .line 132
            ldc "circularityInPrecedenceTwo"
            aload 5 /* exactType */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
        31: .line 133
            aload 4 /* pi */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aload 7 /* pj */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        32: .line 131
            invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        end local 7 // org.aspectj.weaver.patterns.TypePattern pj
        33: .line 122
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        34: iload 6 /* j */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            if_icmplt 23
        end local 6 // int j
        end local 5 // org.aspectj.weaver.ResolvedType exactType
        end local 4 // org.aspectj.weaver.patterns.TypePattern pi
        35: .line 99
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 3 /* i */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            if_icmplt 4
        end local 3 // int i
        37: .line 137
            return
        end local 2 // boolean seenStar
        end local 1 // org.aspectj.weaver.patterns.IScope scope
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0       this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0   38     1      scope  Lorg/aspectj/weaver/patterns/IScope;
            2   38     2   seenStar  Z
            3   37     3          i  I
            5   35     4         pi  Lorg/aspectj/weaver/patterns/TypePattern;
           13   35     5  exactType  Lorg/aspectj/weaver/ResolvedType;
           22   35     6          j  I
           26   33     7         pj  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
       Name  Flags
      scope  

  public org.aspectj.weaver.patterns.TypePatternList getPatterns();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 140
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.ensureResolved:()V
         1: .line 141
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            areturn
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;

  private int matchingIndex(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.ResolvedType a
         0: .line 145
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.ensureResolved:()V
         1: .line 146
            iconst_m1
            istore 2 /* knownMatch */
        start local 2 // int knownMatch
         2: .line 147
            iconst_m1
            istore 3 /* starMatch */
        start local 3 // int starMatch
         3: .line 148
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            istore 5 /* len */
        start local 5 // int len
         5: goto 19
         6: .line 149
      StackMap locals: org.aspectj.weaver.patterns.DeclarePrecedence org.aspectj.weaver.ResolvedType int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 4 /* i */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 6 /* p */
        start local 6 // org.aspectj.weaver.patterns.TypePattern p
         7: .line 150
            aload 6 /* p */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.isStar:()Z
            ifeq 10
         8: .line 151
            iload 4 /* i */
            istore 3 /* starMatch */
         9: .line 152
            goto 18
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
        10: aload 6 /* p */
            aload 1 /* a */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.matchesStatically:(Lorg/aspectj/weaver/ResolvedType;)Z
            ifeq 18
        11: .line 153
            iload 2 /* knownMatch */
            iconst_m1
            if_icmpeq 17
        12: .line 154
            aload 1 /* a */
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
        13: .line 155
            ldc "multipleMatchesInPrecedence"
            aload 1 /* a */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 2 /* knownMatch */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 6 /* p */
            invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        14: .line 156
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.DeclarePrecedence.patterns:Lorg/aspectj/weaver/patterns/TypePatternList;
            iload 2 /* knownMatch */
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.get:(I)Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
            aload 6 /* p */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
        15: .line 154
            invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
        16: .line 157
            iconst_m1
            ireturn
        17: .line 159
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            istore 2 /* knownMatch */
        end local 6 // org.aspectj.weaver.patterns.TypePattern p
        18: .line 148
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 5 /* len */
            if_icmplt 6
        end local 5 // int len
        end local 4 // int i
        20: .line 163
            iload 2 /* knownMatch */
            iconst_m1
            if_icmpne 22
        21: .line 164
            iload 3 /* starMatch */
            ireturn
        22: .line 166
      StackMap locals:
      StackMap stack:
            iload 2 /* knownMatch */
            ireturn
        end local 3 // int starMatch
        end local 2 // int knownMatch
        end local 1 // org.aspectj.weaver.ResolvedType a
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0   23     1           a  Lorg/aspectj/weaver/ResolvedType;
            2   23     2  knownMatch  I
            3   23     3   starMatch  I
            4   20     4           i  I
            5   20     5         len  I
            7   18     6           p  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
      Name  Flags
      a     

  public int compare(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
        start local 1 // org.aspectj.weaver.ResolvedType aspect1
        start local 2 // org.aspectj.weaver.ResolvedType aspect2
         0: .line 171
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.ensureResolved:()V
         1: .line 172
            aload 0 /* this */
            aload 1 /* aspect1 */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.matchingIndex:(Lorg/aspectj/weaver/ResolvedType;)I
            istore 3 /* index1 */
        start local 3 // int index1
         2: .line 173
            aload 0 /* this */
            aload 2 /* aspect2 */
            invokevirtual org.aspectj.weaver.patterns.DeclarePrecedence.matchingIndex:(Lorg/aspectj/weaver/ResolvedType;)I
            istore 4 /* index2 */
        start local 4 // int index2
         3: .line 177
            iload 3 /* index1 */
            iconst_m1
            if_icmpeq 4
            iload 4 /* index2 */
            iconst_m1
            if_icmpne 5
         4: .line 178
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
         5: .line 181
      StackMap locals:
      StackMap stack:
            iload 3 /* index1 */
            iload 4 /* index2 */
            if_icmpne 7
         6: .line 182
            iconst_0
            ireturn
         7: .line 183
      StackMap locals:
      StackMap stack:
            iload 3 /* index1 */
            iload 4 /* index2 */
            if_icmple 9
         8: .line 184
            iconst_m1
            ireturn
         9: .line 186
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int index2
        end local 3 // int index1
        end local 2 // org.aspectj.weaver.ResolvedType aspect2
        end local 1 // org.aspectj.weaver.ResolvedType aspect1
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            0   10     1  aspect1  Lorg/aspectj/weaver/ResolvedType;
            0   10     2  aspect2  Lorg/aspectj/weaver/ResolvedType;
            2   10     3   index1  I
            3   10     4   index2  I
    MethodParameters:
         Name  Flags
      aspect1  
      aspect2  

  public boolean isAdviceLike();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 191
            iconst_0
            ireturn
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;

  public java.lang.String getNameSuffix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
         0: .line 195
            ldc "precedence"
            areturn
        end local 0 // org.aspectj.weaver.patterns.DeclarePrecedence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/DeclarePrecedence;
}
SourceFile: "DeclarePrecedence.java"
InnerClasses:
  public final Kind = org.aspectj.bridge.IMessage$Kind of org.aspectj.bridge.IMessage