public class org.aspectj.weaver.patterns.PatternParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.patterns.PatternParser
  super_class: java.lang.Object
{
  private org.aspectj.weaver.patterns.ITokenSource tokenSource;
    descriptor: Lorg/aspectj/weaver/patterns/ITokenSource;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.ISourceContext sourceContext;
    descriptor: Lorg/aspectj/weaver/ISourceContext;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Set<org.aspectj.weaver.tools.PointcutDesignatorHandler> pointcutDesignatorHandlers;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;>;

  private org.aspectj.weaver.World world;
    descriptor: Lorg/aspectj/weaver/World;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(org.aspectj.weaver.patterns.ITokenSource);
    descriptor: (Lorg/aspectj/weaver/patterns/ITokenSource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.patterns.ITokenSource tokenSource
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         2: .line 49
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.aspectj.weaver.patterns.PatternParser.pointcutDesignatorHandlers:Ljava/util/Set;
         3: .line 57
            aload 0 /* this */
            aload 1 /* tokenSource */
            putfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
         4: .line 58
            aload 0 /* this */
            aload 1 /* tokenSource */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            putfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
         5: .line 59
            return
        end local 1 // org.aspectj.weaver.patterns.ITokenSource tokenSource
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    6     1  tokenSource  Lorg/aspectj/weaver/patterns/ITokenSource;
    MethodParameters:
             Name  Flags
      tokenSource  

  public void setPointcutDesignatorHandlers(java.util.Set<org.aspectj.weaver.tools.PointcutDesignatorHandler>, org.aspectj.weaver.World);
    descriptor: (Ljava/util/Set;Lorg/aspectj/weaver/World;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.util.Set handlers
        start local 2 // org.aspectj.weaver.World world
         0: .line 63
            aload 0 /* this */
            aload 1 /* handlers */
            putfield org.aspectj.weaver.patterns.PatternParser.pointcutDesignatorHandlers:Ljava/util/Set;
         1: .line 64
            aload 0 /* this */
            aload 2 /* world */
            putfield org.aspectj.weaver.patterns.PatternParser.world:Lorg/aspectj/weaver/World;
         2: .line 65
            return
        end local 2 // org.aspectj.weaver.World world
        end local 1 // java.util.Set handlers
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    3     1  handlers  Ljava/util/Set<Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;>;
            0    3     2     world  Lorg/aspectj/weaver/World;
    Signature: (Ljava/util/Set<Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;>;Lorg/aspectj/weaver/World;)V
    MethodParameters:
          Name  Flags
      handlers  
      world     

  public org.aspectj.weaver.patterns.PerClause maybeParsePerClause();
    descriptor: ()Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 68
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* tok */
        start local 1 // org.aspectj.weaver.patterns.IToken tok
         1: .line 69
            aload 1 /* tok */
            getstatic org.aspectj.weaver.patterns.IToken.EOF:Lorg/aspectj/weaver/patterns/IToken;
            if_acmpne 3
         2: .line 70
            aconst_null
            areturn
         3: .line 72
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aload 1 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 18
         4: .line 73
            aload 1 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         5: .line 74
            aload 2 /* name */
            ldc "issingleton"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 75
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerSingleton:()Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         7: .line 76
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* name */
            ldc "perthis"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 77
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerObject:(Z)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
         9: .line 78
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "pertarget"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 79
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerObject:(Z)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "percflow"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 81
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerCflow:(Z)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
        13: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "percflowbelow"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 83
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerCflow:(Z)Lorg/aspectj/weaver/patterns/PerClause;
            areturn
        15: .line 84
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ldc "pertypewithin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 85
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePerTypeWithin:()Lorg/aspectj/weaver/patterns/PerClause;
            areturn
        17: .line 87
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String name
        18: .line 90
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.aspectj.weaver.patterns.IToken tok
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   19     1   tok  Lorg/aspectj/weaver/patterns/IToken;
            5   18     2  name  Ljava/lang/String;

  private org.aspectj.weaver.patterns.PerClause parsePerCflow(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isBelow
         0: .line 94
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 95
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 96
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* entry */
        start local 2 // org.aspectj.weaver.patterns.Pointcut entry
         3: .line 97
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 98
            new org.aspectj.weaver.patterns.PerCflow
            dup
            aload 2 /* entry */
            iload 1 /* isBelow */
            invokespecial org.aspectj.weaver.patterns.PerCflow.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut entry
        end local 1 // boolean isBelow
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    5     1  isBelow  Z
            3    5     2    entry  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
         Name  Flags
      isBelow  

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

  private org.aspectj.weaver.patterns.PerClause parsePerObject(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isThis
         0: .line 106
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 107
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 108
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* entry */
        start local 2 // org.aspectj.weaver.patterns.Pointcut entry
         3: .line 109
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 110
            new org.aspectj.weaver.patterns.PerObject
            dup
            aload 2 /* entry */
            iload 1 /* isThis */
            invokespecial org.aspectj.weaver.patterns.PerObject.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut entry
        end local 1 // boolean isThis
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    5     1  isThis  Z
            3    5     2   entry  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
        Name  Flags
      isThis  

  private org.aspectj.weaver.patterns.PerClause parsePerTypeWithin();
    descriptor: ()Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 114
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 115
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 116
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* withinTypePattern */
        start local 1 // org.aspectj.weaver.patterns.TypePattern withinTypePattern
         3: .line 117
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 118
            new org.aspectj.weaver.patterns.PerTypeWithin
            dup
            aload 1 /* withinTypePattern */
            invokespecial org.aspectj.weaver.patterns.PerTypeWithin.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.TypePattern withinTypePattern
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/aspectj/weaver/patterns/PatternParser;
            3    5     1  withinTypePattern  Lorg/aspectj/weaver/patterns/TypePattern;

  private org.aspectj.weaver.patterns.PerClause parsePerSingleton();
    descriptor: ()Lorg/aspectj/weaver/patterns/PerClause;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 122
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 123
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 124
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 125
            new org.aspectj.weaver.patterns.PerSingleton
            dup
            invokespecial org.aspectj.weaver.patterns.PerSingleton.<init>:()V
            areturn
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;

  public org.aspectj.weaver.patterns.Declare parseDeclare();
    descriptor: ()Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 129
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 131
            aload 0 /* this */
            ldc "declare"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eatIdentifier:(Ljava/lang/String;)V
         2: .line 132
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 2 /* kind */
        start local 2 // java.lang.String kind
         3: .line 134
            aload 2 /* kind */
            ldc "error"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 135
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         5: .line 136
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseErrorOrWarning:(Z)Lorg/aspectj/weaver/patterns/Declare;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
         6: .line 137
            goto 28
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals: int java.lang.String
      StackMap stack:
         7: aload 2 /* kind */
            ldc "warning"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 138
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         9: .line 139
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseErrorOrWarning:(Z)Lorg/aspectj/weaver/patterns/Declare;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        10: .line 140
            goto 28
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals:
      StackMap stack:
        11: aload 2 /* kind */
            ldc "precedence"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 141
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        13: .line 142
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDominates:()Lorg/aspectj/weaver/patterns/DeclarePrecedence;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        14: .line 143
            goto 28
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals:
      StackMap stack:
        15: aload 2 /* kind */
            ldc "dominates"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 144
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name changed to declare precedence"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            bipush -2
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        17: .line 145
      StackMap locals:
      StackMap stack:
            aload 2 /* kind */
            ldc "parents"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 146
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseParents:()Lorg/aspectj/weaver/patterns/Declare;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        19: .line 147
            goto 28
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals:
      StackMap stack:
        20: aload 2 /* kind */
            ldc "soft"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 148
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        22: .line 149
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSoft:()Lorg/aspectj/weaver/patterns/Declare;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        23: .line 150
            goto 28
        end local 3 // org.aspectj.weaver.patterns.Declare ret
        24: .line 151
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
        25: .line 152
            ldc "expected one of error, warning, parents, soft, precedence, @type, @method, @constructor, @field"
        26: .line 153
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
        27: .line 151
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        28: .line 155
      StackMap locals: org.aspectj.weaver.patterns.Declare
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 4 /* endPos */
        start local 4 // int endPos
        29: .line 156
            aload 3 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 4 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.Declare.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        30: .line 157
            aload 3 /* ret */
            areturn
        end local 4 // int endPos
        end local 3 // org.aspectj.weaver.patterns.Declare ret
        end local 2 // java.lang.String kind
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   31     1  startPos  I
            3   31     2      kind  Ljava/lang/String;
            6    7     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           10   11     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           14   15     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           19   20     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           23   24     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           28   31     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           29   31     4    endPos  I

  public org.aspectj.weaver.patterns.Declare parseDeclareAnnotation();
    descriptor: ()Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 161
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 163
            aload 0 /* this */
            ldc "declare"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eatIdentifier:(Ljava/lang/String;)V
         2: .line 164
            aload 0 /* this */
            ldc "@"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 165
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 2 /* kind */
        start local 2 // java.lang.String kind
         4: .line 166
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         5: .line 168
            aload 2 /* kind */
            ldc "type"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 169
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDeclareAtType:()Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
         7: .line 170
            goto 18
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals: int java.lang.String
      StackMap stack:
         8: aload 2 /* kind */
            ldc "method"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 171
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDeclareAtMethod:(Z)Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        10: .line 172
            goto 18
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals:
      StackMap stack:
        11: aload 2 /* kind */
            ldc "field"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 173
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDeclareAtField:()Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        13: .line 174
            goto 18
        end local 3 // org.aspectj.weaver.patterns.Declare ret
      StackMap locals:
      StackMap stack:
        14: aload 2 /* kind */
            ldc "constructor"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 175
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDeclareAtMethod:(Z)Lorg/aspectj/weaver/patterns/DeclareAnnotation;
            astore 3 /* ret */
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        16: .line 176
            goto 18
        end local 3 // org.aspectj.weaver.patterns.Declare ret
        17: .line 177
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "one of type, method, field, constructor"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        start local 3 // org.aspectj.weaver.patterns.Declare ret
        18: .line 179
      StackMap locals: org.aspectj.weaver.patterns.Declare
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        19: .line 180
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 4 /* endPos */
        start local 4 // int endPos
        20: .line 181
            aload 3 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 4 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.Declare.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        21: .line 182
            aload 3 /* ret */
            areturn
        end local 4 // int endPos
        end local 3 // org.aspectj.weaver.patterns.Declare ret
        end local 2 // java.lang.String kind
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   22     1  startPos  I
            4   22     2      kind  Ljava/lang/String;
            7    8     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           10   11     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           13   14     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           16   17     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           18   22     3       ret  Lorg/aspectj/weaver/patterns/Declare;
           20   22     4    endPos  I

  public org.aspectj.weaver.patterns.DeclareAnnotation parseDeclareAtType();
    descriptor: ()Lorg/aspectj/weaver/patterns/DeclareAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 187
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         1: .line 188
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.TypePattern p
         2: .line 189
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         3: .line 190
            new org.aspectj.weaver.patterns.DeclareAnnotation
            dup
            getstatic org.aspectj.weaver.patterns.DeclareAnnotation.AT_TYPE:Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;
            aload 1 /* p */
            invokespecial org.aspectj.weaver.patterns.DeclareAnnotation.<init>:(Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.TypePattern p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    4     1     p  Lorg/aspectj/weaver/patterns/TypePattern;

  public org.aspectj.weaver.patterns.DeclareAnnotation parseDeclareAtMethod(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/DeclareAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isMethod
         0: .line 194
            aload 0 /* this */
            iload 1 /* isMethod */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCompoundMethodOrConstructorSignaturePattern:(Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 2 /* sp */
        start local 2 // org.aspectj.weaver.patterns.ISignaturePattern sp
         1: .line 196
            iload 1 /* isMethod */
            ifne 3
         2: .line 197
            new org.aspectj.weaver.patterns.DeclareAnnotation
            dup
            getstatic org.aspectj.weaver.patterns.DeclareAnnotation.AT_CONSTRUCTOR:Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;
            aload 2 /* sp */
            invokespecial org.aspectj.weaver.patterns.DeclareAnnotation.<init>:(Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            areturn
         3: .line 199
      StackMap locals: org.aspectj.weaver.patterns.ISignaturePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.DeclareAnnotation
            dup
            getstatic org.aspectj.weaver.patterns.DeclareAnnotation.AT_METHOD:Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;
            aload 2 /* sp */
            invokespecial org.aspectj.weaver.patterns.DeclareAnnotation.<init>:(Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.ISignaturePattern sp
        end local 1 // boolean isMethod
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    4     1  isMethod  Z
            1    4     2        sp  Lorg/aspectj/weaver/patterns/ISignaturePattern;
    MethodParameters:
          Name  Flags
      isMethod  

  public org.aspectj.weaver.patterns.DeclareAnnotation parseDeclareAtField();
    descriptor: ()Lorg/aspectj/weaver/patterns/DeclareAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 204
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCompoundFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 1 /* compoundFieldSignaturePattern */
        start local 1 // org.aspectj.weaver.patterns.ISignaturePattern compoundFieldSignaturePattern
         1: .line 205
            new org.aspectj.weaver.patterns.DeclareAnnotation
            dup
            getstatic org.aspectj.weaver.patterns.DeclareAnnotation.AT_FIELD:Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;
            aload 1 /* compoundFieldSignaturePattern */
            invokespecial org.aspectj.weaver.patterns.DeclareAnnotation.<init>:(Lorg/aspectj/weaver/patterns/DeclareAnnotation$Kind;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* da */
        start local 2 // org.aspectj.weaver.patterns.DeclareAnnotation da
         2: .line 206
            aload 2 /* da */
            areturn
        end local 2 // org.aspectj.weaver.patterns.DeclareAnnotation da
        end local 1 // org.aspectj.weaver.patterns.ISignaturePattern compoundFieldSignaturePattern
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    3     0                           this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    3     1  compoundFieldSignaturePattern  Lorg/aspectj/weaver/patterns/ISignaturePattern;
            2    3     2                             da  Lorg/aspectj/weaver/patterns/DeclareAnnotation;

  public org.aspectj.weaver.patterns.ISignaturePattern parseCompoundFieldSignaturePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 210
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 1 /* index */
        start local 1 // int index
         1: .line 212
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 2 /* atomicFieldSignaturePattern */
        start local 2 // org.aspectj.weaver.patterns.ISignaturePattern atomicFieldSignaturePattern
         2: .line 214
            goto 11
         3: .line 215
      StackMap locals: int org.aspectj.weaver.patterns.ISignaturePattern
      StackMap stack:
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 216
            new org.aspectj.weaver.patterns.AndSignaturePattern
            dup
            aload 2 /* atomicFieldSignaturePattern */
         5: .line 217
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/ISignaturePattern;
         6: .line 216
            invokespecial org.aspectj.weaver.patterns.AndSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* atomicFieldSignaturePattern */
         7: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "||"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 220
            new org.aspectj.weaver.patterns.OrSignaturePattern
            dup
            aload 2 /* atomicFieldSignaturePattern */
         9: .line 221
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/ISignaturePattern;
        10: .line 220
            invokespecial org.aspectj.weaver.patterns.OrSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* atomicFieldSignaturePattern */
        11: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.isEitherAndOrOr:()Z
            ifne 3
        12: .line 224
            aload 2 /* atomicFieldSignaturePattern */
        13: areturn
        end local 2 // org.aspectj.weaver.patterns.ISignaturePattern atomicFieldSignaturePattern
        14: .line 225
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int
      StackMap stack: org.aspectj.weaver.patterns.ParserException
            astore 2 /* e */
        start local 2 // org.aspectj.weaver.patterns.ParserException e
        15: .line 227
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 3 /* nowAt */
        start local 3 // int nowAt
        16: .line 228
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 1 /* index */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        17: .line 230
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 4 /* fsp */
        start local 4 // org.aspectj.weaver.patterns.ISignaturePattern fsp
        18: .line 231
            aload 4 /* fsp */
        19: areturn
        end local 4 // org.aspectj.weaver.patterns.ISignaturePattern fsp
        20: .line 232
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.ParserException int
      StackMap stack: java.lang.Exception
            pop
        21: .line 233
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 3 /* nowAt */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        22: .line 235
            aload 2 /* e */
            athrow
        end local 3 // int nowAt
        end local 2 // org.aspectj.weaver.patterns.ParserException e
        end local 1 // int index
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   23     0                         this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   23     1                        index  I
            2   14     2  atomicFieldSignaturePattern  Lorg/aspectj/weaver/patterns/ISignaturePattern;
           15   23     2                            e  Lorg/aspectj/weaver/patterns/ParserException;
           16   23     3                        nowAt  I
           18   20     4                          fsp  Lorg/aspectj/weaver/patterns/ISignaturePattern;
      Exception table:
        from    to  target  type
           1    13      14  Class org.aspectj.weaver.patterns.ParserException
          17    19      20  Class java.lang.Exception

  private boolean isEitherAndOrOr();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 241
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            astore 1 /* tokenstring */
        start local 1 // java.lang.String tokenstring
         1: .line 242
            aload 1 /* tokenstring */
            ldc "&&"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 1 /* tokenstring */
            ldc "||"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // java.lang.String tokenstring
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    3     1  tokenstring  Ljava/lang/String;

  public org.aspectj.weaver.patterns.ISignaturePattern parseCompoundMethodOrConstructorSignaturePattern(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isMethod
         0: .line 246
            aload 0 /* this */
            iload 1 /* isMethod */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedMethodOrConstructorSignaturePattern:(Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 2 /* atomicMethodCtorSignaturePattern */
        start local 2 // org.aspectj.weaver.patterns.ISignaturePattern atomicMethodCtorSignaturePattern
         1: .line 248
            goto 10
         2: .line 249
      StackMap locals: org.aspectj.weaver.patterns.ISignaturePattern
      StackMap stack:
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 6
         3: .line 250
            new org.aspectj.weaver.patterns.AndSignaturePattern
            dup
            aload 2 /* atomicMethodCtorSignaturePattern */
         4: .line 251
            aload 0 /* this */
            iload 1 /* isMethod */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedMethodOrConstructorSignaturePattern:(Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
         5: .line 250
            invokespecial org.aspectj.weaver.patterns.AndSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* atomicMethodCtorSignaturePattern */
         6: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "||"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 254
            new org.aspectj.weaver.patterns.OrSignaturePattern
            dup
            aload 2 /* atomicMethodCtorSignaturePattern */
         8: .line 255
            aload 0 /* this */
            iload 1 /* isMethod */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMaybeParenthesizedMethodOrConstructorSignaturePattern:(Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
         9: .line 254
            invokespecial org.aspectj.weaver.patterns.OrSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* atomicMethodCtorSignaturePattern */
        10: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.isEitherAndOrOr:()Z
            ifne 2
        11: .line 258
            aload 2 /* atomicMethodCtorSignaturePattern */
            areturn
        end local 2 // org.aspectj.weaver.patterns.ISignaturePattern atomicMethodCtorSignaturePattern
        end local 1 // boolean isMethod
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   12     0                              this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   12     1                          isMethod  Z
            1   12     2  atomicMethodCtorSignaturePattern  Lorg/aspectj/weaver/patterns/ISignaturePattern;
    MethodParameters:
          Name  Flags
      isMethod  

  public org.aspectj.weaver.patterns.DeclarePrecedence parseDominates();
    descriptor: ()Lorg/aspectj/weaver/patterns/DeclarePrecedence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 262
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* l */
        start local 1 // java.util.List l
         1: .line 264
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* l */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 265
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 1
         3: .line 267
            new org.aspectj.weaver.patterns.DeclarePrecedence
            dup
            aload 1 /* l */
            invokespecial org.aspectj.weaver.patterns.DeclarePrecedence.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List l
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1     l  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;

  private org.aspectj.weaver.patterns.Declare parseParents();
    descriptor: ()Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 275
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 276
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         2: .line 277
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.TypePattern p
         3: .line 278
            aload 0 /* this */
            iconst_0
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         4: .line 279
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* t */
        start local 2 // org.aspectj.weaver.patterns.IToken t
         5: .line 280
            aload 2 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "extends"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 2 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "implements"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 281
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "extends or implements"
            aload 2 /* t */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         7: .line 283
      StackMap locals: org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aload 2 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "extends"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 3 /* isExtends */
        start local 3 // boolean isExtends
         8: .line 285
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* l */
        start local 4 // java.util.List l
         9: .line 287
      StackMap locals: int java.util.List
      StackMap stack:
            aload 4 /* l */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 288
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 9
        11: .line 292
            new org.aspectj.weaver.patterns.DeclareParents
            dup
            aload 1 /* p */
            aload 4 /* l */
            iload 3 /* isExtends */
            invokespecial org.aspectj.weaver.patterns.DeclareParents.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/util/List;Z)V
            astore 5 /* decp */
        start local 5 // org.aspectj.weaver.patterns.DeclareParents decp
        12: .line 293
            aload 5 /* decp */
            areturn
        end local 5 // org.aspectj.weaver.patterns.DeclareParents decp
        end local 4 // java.util.List l
        end local 3 // boolean isExtends
        end local 2 // org.aspectj.weaver.patterns.IToken t
        end local 1 // org.aspectj.weaver.patterns.TypePattern p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/aspectj/weaver/patterns/PatternParser;
            3   13     1          p  Lorg/aspectj/weaver/patterns/TypePattern;
            5   13     2          t  Lorg/aspectj/weaver/patterns/IToken;
            8   13     3  isExtends  Z
            9   13     4          l  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
           12   13     5       decp  Lorg/aspectj/weaver/patterns/DeclareParents;

  private org.aspectj.weaver.patterns.Declare parseSoft();
    descriptor: ()Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 297
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.TypePattern p
         1: .line 298
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 299
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* pointcut */
        start local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
         3: .line 300
            new org.aspectj.weaver.patterns.DeclareSoft
            dup
            aload 1 /* p */
            aload 2 /* pointcut */
            invokespecial org.aspectj.weaver.patterns.DeclareSoft.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/Pointcut;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // org.aspectj.weaver.patterns.TypePattern p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1         p  Lorg/aspectj/weaver/patterns/TypePattern;
            3    4     2  pointcut  Lorg/aspectj/weaver/patterns/Pointcut;

  private org.aspectj.weaver.patterns.Declare parseErrorOrWarning(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/Declare;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isError
         0: .line 310
            aconst_null
            astore 2 /* pointcut */
        start local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
         1: .line 311
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 3 /* index */
        start local 3 // int index
         2: .line 313
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* pointcut */
         3: .line 314
            goto 21
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.Pointcut int
      StackMap stack: org.aspectj.weaver.patterns.ParserException
         4: astore 4 /* pe */
        start local 4 // org.aspectj.weaver.patterns.ParserException pe
         5: .line 316
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 3 /* index */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
         6: .line 317
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
            istore 5 /* oldValue */
        start local 5 // boolean oldValue
         7: .line 318
            aconst_null
            astore 6 /* typePattern */
        start local 6 // org.aspectj.weaver.patterns.TypePattern typePattern
         8: .line 320
            aload 0 /* this */
            iconst_1
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
         9: .line 321
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 6 /* typePattern */
        10: .line 322
            goto 14
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.Pointcut int org.aspectj.weaver.patterns.ParserException int org.aspectj.weaver.patterns.TypePattern
      StackMap stack: java.lang.Throwable
        11: astore 7
        12: .line 323
            aload 0 /* this */
            iload 5 /* oldValue */
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
        13: .line 324
            aload 7
            athrow
        14: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* oldValue */
            putfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
        15: .line 325
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        16: .line 326
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePossibleStringSequence:(Z)Ljava/lang/String;
            astore 7 /* message */
        start local 7 // java.lang.String message
        17: .line 327
            new org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning
            dup
            iload 1 /* isError */
            aload 6 /* typePattern */
            aload 7 /* message */
            invokespecial org.aspectj.weaver.patterns.DeclareTypeErrorOrWarning.<init>:(ZLorg/aspectj/weaver/patterns/TypePattern;Ljava/lang/String;)V
        18: areturn
        end local 7 // java.lang.String message
        end local 6 // org.aspectj.weaver.patterns.TypePattern typePattern
        end local 5 // boolean oldValue
        19: .line 328
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.Pointcut int org.aspectj.weaver.patterns.ParserException
      StackMap stack: org.aspectj.weaver.patterns.ParserException
            pop
        20: .line 330
            aload 4 /* pe */
            athrow
        end local 4 // org.aspectj.weaver.patterns.ParserException pe
        21: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ":"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        22: .line 334
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePossibleStringSequence:(Z)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
        23: .line 335
            new org.aspectj.weaver.patterns.DeclareErrorOrWarning
            dup
            iload 1 /* isError */
            aload 2 /* pointcut */
            aload 4 /* message */
            invokespecial org.aspectj.weaver.patterns.DeclareErrorOrWarning.<init>:(ZLorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/String;)V
            areturn
        end local 4 // java.lang.String message
        end local 3 // int index
        end local 2 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 1 // boolean isError
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   24     1      isError  Z
            1   24     2     pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            2   24     3        index  I
            5   21     4           pe  Lorg/aspectj/weaver/patterns/ParserException;
            7   19     5     oldValue  Z
            8   19     6  typePattern  Lorg/aspectj/weaver/patterns/TypePattern;
           17   19     7      message  Ljava/lang/String;
           23   24     4      message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class org.aspectj.weaver.patterns.ParserException
           8    11      11  any
           5    18      19  Class org.aspectj.weaver.patterns.ParserException
    MethodParameters:
         Name  Flags
      isError  

  public org.aspectj.weaver.patterns.Pointcut parsePointcut(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean shouldConsumeAllInput
         0: .line 339
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.Pointcut p
         1: .line 340
            iload 1 /* shouldConsumeAllInput */
            ifeq 6
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.hasMoreTokens:()Z
            ifeq 6
         2: .line 341
            new org.aspectj.weaver.patterns.ParserException
            dup
         3: .line 342
            ldc "Found unexpected data after parsing pointcut"
         4: .line 343
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
         5: .line 341
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         6: .line 345
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 2 /* p */
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut p
        end local 1 // boolean shouldConsumeAllInput
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    7     1  shouldConsumeAllInput  Z
            1    7     2                      p  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
                       Name  Flags
      shouldConsumeAllInput  

  public org.aspectj.weaver.patterns.Pointcut parsePointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 349
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.Pointcut p
         1: .line 350
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 351
            new org.aspectj.weaver.patterns.AndPointcut
            dup
            aload 1 /* p */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNotOrPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
            astore 1 /* p */
         3: .line 354
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 0 /* this */
            ldc "||"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 355
            new org.aspectj.weaver.patterns.OrPointcut
            dup
            aload 1 /* p */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
            astore 1 /* p */
         5: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            areturn
        end local 1 // org.aspectj.weaver.patterns.Pointcut p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    6     1     p  Lorg/aspectj/weaver/patterns/Pointcut;

  private org.aspectj.weaver.patterns.Pointcut parseNotOrPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 362
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.Pointcut p
         1: .line 363
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 364
            new org.aspectj.weaver.patterns.AndPointcut
            dup
            aload 1 /* p */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNotOrPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
            astore 1 /* p */
         3: .line 366
      StackMap locals: org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 1 /* p */
            areturn
        end local 1 // org.aspectj.weaver.patterns.Pointcut p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1     p  Lorg/aspectj/weaver/patterns/Pointcut;

  private org.aspectj.weaver.patterns.Pointcut parseAtomicPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 370
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 371
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         2: .line 372
            new org.aspectj.weaver.patterns.NotPointcut
            dup
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            iload 1 /* startPos */
            invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.Pointcut p
         3: .line 373
            aload 2 /* p */
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut p
        end local 1 // int startPos
         4: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 376
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.Pointcut p
         6: .line 377
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         7: .line 378
            aload 1 /* p */
            areturn
        end local 1 // org.aspectj.weaver.patterns.Pointcut p
         8: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "@"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 14
         9: .line 381
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
        10: .line 382
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.Pointcut p
        11: .line 383
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 3 /* endPos */
        start local 3 // int endPos
        12: .line 384
            aload 2 /* p */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 3 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        13: .line 385
            aload 2 /* p */
            areturn
        end local 3 // int endPos
        end local 2 // org.aspectj.weaver.patterns.Pointcut p
        end local 1 // int startPos
        14: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
        15: .line 388
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSinglePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.Pointcut p
        16: .line 389
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 3 /* endPos */
        start local 3 // int endPos
        17: .line 390
            aload 2 /* p */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 3 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        18: .line 391
            aload 2 /* p */
            areturn
        end local 3 // int endPos
        end local 2 // org.aspectj.weaver.patterns.Pointcut p
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    4     1  startPos  I
            3    4     2         p  Lorg/aspectj/weaver/patterns/Pointcut;
            6    8     1         p  Lorg/aspectj/weaver/patterns/Pointcut;
           10   14     1  startPos  I
           11   14     2         p  Lorg/aspectj/weaver/patterns/Pointcut;
           12   14     3    endPos  I
           15   19     1  startPos  I
           16   19     2         p  Lorg/aspectj/weaver/patterns/Pointcut;
           17   19     3    endPos  I

  public org.aspectj.weaver.patterns.Pointcut parseSinglePointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=8, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 395
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 1 /* start */
        start local 1 // int start
         1: .line 396
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* t */
        start local 2 // org.aspectj.weaver.patterns.IToken t
         2: .line 397
            aload 2 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.maybeGetParsedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        start local 3 // org.aspectj.weaver.patterns.Pointcut p
         3: .line 398
            aload 3 /* p */
            ifnull 6
         4: .line 399
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         5: .line 400
            aload 3 /* p */
            areturn
         6: .line 403
      StackMap locals: int org.aspectj.weaver.patterns.IToken org.aspectj.weaver.patterns.Pointcut
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 4 /* kind */
        start local 4 // java.lang.String kind
         7: .line 406
            aload 4 /* kind */
            ldc "execution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            aload 4 /* kind */
            ldc "call"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            aload 4 /* kind */
            ldc "get"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            aload 4 /* kind */
            ldc "set"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 407
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* kind */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseKindedPointcut:(Ljava/lang/String;)Lorg/aspectj/weaver/patterns/KindedPointcut;
            astore 3 /* p */
         9: .line 408
            goto 96
      StackMap locals:
      StackMap stack:
        10: aload 4 /* kind */
            ldc "args"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 409
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgsPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        12: .line 410
            goto 96
      StackMap locals:
      StackMap stack:
        13: aload 4 /* kind */
            ldc "this"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 411
            aload 0 /* this */
            aload 4 /* kind */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseThisOrTargetPointcut:(Ljava/lang/String;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        15: .line 412
            goto 96
      StackMap locals:
      StackMap stack:
        16: aload 4 /* kind */
            ldc "target"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 413
            aload 0 /* this */
            aload 4 /* kind */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseThisOrTargetPointcut:(Ljava/lang/String;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        18: .line 414
            goto 96
      StackMap locals:
      StackMap stack:
        19: aload 4 /* kind */
            ldc "within"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 415
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseWithinPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        21: .line 416
            goto 96
      StackMap locals:
      StackMap stack:
        22: aload 4 /* kind */
            ldc "withincode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 417
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseWithinCodePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        24: .line 418
            goto 96
      StackMap locals:
      StackMap stack:
        25: aload 4 /* kind */
            ldc "cflow"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 419
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCflowPointcut:(Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        27: .line 420
            goto 96
      StackMap locals:
      StackMap stack:
        28: aload 4 /* kind */
            ldc "cflowbelow"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 421
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCflowPointcut:(Z)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        30: .line 422
            goto 96
      StackMap locals:
      StackMap stack:
        31: aload 4 /* kind */
            ldc "adviceexecution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 39
        32: .line 423
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        33: .line 424
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        34: .line 425
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.AdviceExecution:Lorg/aspectj/weaver/Shadow$Kind;
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            getstatic org.aspectj.weaver.Member.ADVICE:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
        35: .line 426
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            getstatic org.aspectj.weaver.patterns.TypePatternList.ANY:Lorg/aspectj/weaver/patterns/TypePatternList;
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
        36: .line 427
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
        37: .line 425
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 3 /* p */
        38: .line 428
            goto 96
      StackMap locals:
      StackMap stack:
        39: aload 4 /* kind */
            ldc "handler"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        40: .line 429
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        41: .line 430
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* typePat */
        start local 5 // org.aspectj.weaver.patterns.TypePattern typePat
        42: .line 431
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        43: .line 432
            new org.aspectj.weaver.patterns.HandlerPointcut
            dup
            aload 5 /* typePat */
            invokespecial org.aspectj.weaver.patterns.HandlerPointcut.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 3 /* p */
        end local 5 // org.aspectj.weaver.patterns.TypePattern typePat
        44: .line 433
            goto 96
      StackMap locals:
      StackMap stack:
        45: aload 4 /* kind */
            ldc "lock"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
            aload 4 /* kind */
            ldc "unlock"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 48
        46: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* kind */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMonitorPointcut:(Ljava/lang/String;)Lorg/aspectj/weaver/patterns/KindedPointcut;
            astore 3 /* p */
        47: .line 435
            goto 96
      StackMap locals:
      StackMap stack:
        48: aload 4 /* kind */
            ldc "initialization"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        49: .line 436
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        50: .line 437
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 5 /* sig */
        start local 5 // org.aspectj.weaver.patterns.SignaturePattern sig
        51: .line 438
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        52: .line 439
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.Initialization:Lorg/aspectj/weaver/Shadow$Kind;
            aload 5 /* sig */
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 3 /* p */
        end local 5 // org.aspectj.weaver.patterns.SignaturePattern sig
        53: .line 440
            goto 96
      StackMap locals:
      StackMap stack:
        54: aload 4 /* kind */
            ldc "staticinitialization"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        55: .line 441
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        56: .line 442
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* typePat */
        start local 5 // org.aspectj.weaver.patterns.TypePattern typePat
        57: .line 443
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        58: .line 444
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.StaticInitialization:Lorg/aspectj/weaver/Shadow$Kind;
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            getstatic org.aspectj.weaver.Member.STATIC_INITIALIZATION:Lorg/aspectj/weaver/MemberKind;
        59: .line 445
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 5 /* typePat */
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            getstatic org.aspectj.weaver.patterns.TypePatternList.EMPTY:Lorg/aspectj/weaver/patterns/TypePatternList;
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
        60: .line 446
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
        61: .line 444
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 3 /* p */
        end local 5 // org.aspectj.weaver.patterns.TypePattern typePat
        62: .line 447
            goto 96
      StackMap locals:
      StackMap stack:
        63: aload 4 /* kind */
            ldc "preinitialization"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        64: .line 448
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        65: .line 449
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 5 /* sig */
        start local 5 // org.aspectj.weaver.patterns.SignaturePattern sig
        66: .line 450
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        67: .line 451
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.PreInitialization:Lorg/aspectj/weaver/Shadow$Kind;
            aload 5 /* sig */
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 3 /* p */
        end local 5 // org.aspectj.weaver.patterns.SignaturePattern sig
        68: .line 452
            goto 96
      StackMap locals:
      StackMap stack:
        69: aload 4 /* kind */
            ldc "if"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 86
        70: .line 458
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        71: .line 459
            aload 0 /* this */
            ldc "true"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 75
        72: .line 460
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        73: .line 461
            new org.aspectj.weaver.patterns.IfPointcut$IfTruePointcut
            dup
            invokespecial org.aspectj.weaver.patterns.IfPointcut$IfTruePointcut.<init>:()V
            astore 3 /* p */
        74: .line 462
            goto 96
      StackMap locals:
      StackMap stack:
        75: aload 0 /* this */
            ldc "false"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 79
        76: .line 463
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        77: .line 464
            new org.aspectj.weaver.patterns.IfPointcut$IfFalsePointcut
            dup
            invokespecial org.aspectj.weaver.patterns.IfPointcut$IfFalsePointcut.<init>:()V
            astore 3 /* p */
        78: .line 465
            goto 96
        79: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 84
        80: .line 467
            new org.aspectj.weaver.patterns.ParserException
            dup
        81: .line 468
            ldc "in annotation style, if(...) pointcuts cannot contain code. Use if() and put the code in the annotated method"
        82: .line 469
            aload 2 /* t */
        83: .line 467
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        84: .line 472
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.IfPointcut
            dup
            ldc ""
            invokespecial org.aspectj.weaver.patterns.IfPointcut.<init>:(Ljava/lang/String;)V
            astore 3 /* p */
        85: .line 474
            goto 96
        86: .line 475
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* matchedByExtensionDesignator */
        start local 5 // boolean matchedByExtensionDesignator
        87: .line 478
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.pointcutDesignatorHandlers:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 92
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.IToken org.aspectj.weaver.patterns.Pointcut java.lang.String int top java.util.Iterator
      StackMap stack:
        88: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.aspectj.weaver.tools.PointcutDesignatorHandler
            astore 6 /* pcd */
        start local 6 // org.aspectj.weaver.tools.PointcutDesignatorHandler pcd
        89: .line 479
            aload 6 /* pcd */
            invokeinterface org.aspectj.weaver.tools.PointcutDesignatorHandler.getDesignatorName:()Ljava/lang/String;
            aload 4 /* kind */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 92
        90: .line 480
            aload 0 /* this */
            aload 6 /* pcd */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDesignatorPointcut:(Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;)Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        91: .line 481
            iconst_1
            istore 5 /* matchedByExtensionDesignator */
        end local 6 // org.aspectj.weaver.tools.PointcutDesignatorHandler pcd
        92: .line 478
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 88
        93: .line 485
            iload 5 /* matchedByExtensionDesignator */
            ifne 96
        94: .line 486
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 1 /* start */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        95: .line 487
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseReferencePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 3 /* p */
        end local 5 // boolean matchedByExtensionDesignator
        96: .line 490
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.IToken org.aspectj.weaver.patterns.Pointcut java.lang.String
      StackMap stack:
            aload 3 /* p */
            areturn
        end local 4 // java.lang.String kind
        end local 3 // org.aspectj.weaver.patterns.Pointcut p
        end local 2 // org.aspectj.weaver.patterns.IToken t
        end local 1 // int start
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   97     0                          this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   97     1                         start  I
            2   97     2                             t  Lorg/aspectj/weaver/patterns/IToken;
            3   97     3                             p  Lorg/aspectj/weaver/patterns/Pointcut;
            7   97     4                          kind  Ljava/lang/String;
           42   44     5                       typePat  Lorg/aspectj/weaver/patterns/TypePattern;
           51   53     5                           sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           57   62     5                       typePat  Lorg/aspectj/weaver/patterns/TypePattern;
           66   68     5                           sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           87   96     5  matchedByExtensionDesignator  Z
           89   92     6                           pcd  Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;

  private void assertNoTypeVariables(java.lang.String[], java.lang.String, org.aspectj.weaver.patterns.IToken);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;Lorg/aspectj/weaver/patterns/IToken;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String[] tvs
        start local 2 // java.lang.String errorMessage
        start local 3 // org.aspectj.weaver.patterns.IToken token
         0: .line 494
            aload 1 /* tvs */
            ifnull 2
         1: .line 495
            new org.aspectj.weaver.patterns.ParserException
            dup
            aload 2 /* errorMessage */
            aload 3 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         2: .line 497
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.aspectj.weaver.patterns.IToken token
        end local 2 // java.lang.String errorMessage
        end local 1 // java.lang.String[] tvs
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    3     1           tvs  [Ljava/lang/String;
            0    3     2  errorMessage  Ljava/lang/String;
            0    3     3         token  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
              Name  Flags
      tvs           
      errorMessage  
      token         

  public org.aspectj.weaver.patterns.Pointcut parseAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 500
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 1 /* start */
        start local 1 // int start
         1: .line 501
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* t */
        start local 2 // org.aspectj.weaver.patterns.IToken t
         2: .line 502
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 3 /* kind */
        start local 3 // java.lang.String kind
         3: .line 503
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 4 /* possibleTypeVariableToken */
        start local 4 // org.aspectj.weaver.patterns.IToken possibleTypeVariableToken
         4: .line 504
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseSimpleTypeVariableList:()[Ljava/lang/String;
            astore 5 /* typeVariables */
        start local 5 // java.lang.String[] typeVariables
         5: .line 505
            aload 5 /* typeVariables */
            ifnull 8
         6: .line 506
            ldc "("
            astore 6 /* message */
        start local 6 // java.lang.String message
         7: .line 507
            aload 0 /* this */
            aload 5 /* typeVariables */
            aload 6 /* message */
            aload 4 /* possibleTypeVariableToken */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.assertNoTypeVariables:([Ljava/lang/String;Ljava/lang/String;Lorg/aspectj/weaver/patterns/IToken;)V
        end local 6 // java.lang.String message
         8: .line 509
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.IToken java.lang.String org.aspectj.weaver.patterns.IToken java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 1 /* start */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
         9: .line 510
            aload 3 /* kind */
            ldc "annotation"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 511
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        11: .line 512
      StackMap locals:
      StackMap stack:
            aload 3 /* kind */
            ldc "args"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 513
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgsAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        13: .line 514
      StackMap locals:
      StackMap stack:
            aload 3 /* kind */
            ldc "this"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            aload 3 /* kind */
            ldc "target"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseThisOrTargetAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        15: .line 516
      StackMap locals:
      StackMap stack:
            aload 3 /* kind */
            ldc "within"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 517
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseWithinAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        17: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* kind */
            ldc "withincode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 519
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseWithinCodeAnnotationPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        19: .line 521
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "pointcut name"
            aload 2 /* t */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 5 // java.lang.String[] typeVariables
        end local 4 // org.aspectj.weaver.patterns.IToken possibleTypeVariableToken
        end local 3 // java.lang.String kind
        end local 2 // org.aspectj.weaver.patterns.IToken t
        end local 1 // int start
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   20     0                       this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   20     1                      start  I
            2   20     2                          t  Lorg/aspectj/weaver/patterns/IToken;
            3   20     3                       kind  Ljava/lang/String;
            4   20     4  possibleTypeVariableToken  Lorg/aspectj/weaver/patterns/IToken;
            5   20     5              typeVariables  [Ljava/lang/String;
            7    8     6                    message  Ljava/lang/String;

  private org.aspectj.weaver.patterns.Pointcut parseAtAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 525
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 526
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 527
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 528
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "@AnnotationName or parameter"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameOrVarTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            astore 1 /* type */
        start local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
         5: .line 531
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 532
            new org.aspectj.weaver.patterns.AnnotationPointcut
            dup
            aload 1 /* type */
            invokespecial org.aspectj.weaver.patterns.AnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            5    7     1  type  Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;

  private org.aspectj.weaver.patterns.SignaturePattern parseConstructorSignaturePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 536
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 1 /* ret */
        start local 1 // org.aspectj.weaver.patterns.SignaturePattern ret
         1: .line 537
            aload 1 /* ret */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 3
         2: .line 538
            aload 1 /* ret */
            areturn
         3: .line 541
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "constructor pattern required, found method pattern"
            aload 1 /* ret */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 1 // org.aspectj.weaver.patterns.SignaturePattern ret
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1   ret  Lorg/aspectj/weaver/patterns/SignaturePattern;

  private org.aspectj.weaver.patterns.Pointcut parseWithinCodePointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 546
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 547
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 1 /* sig */
        start local 1 // org.aspectj.weaver.patterns.SignaturePattern sig
         2: .line 548
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 549
            new org.aspectj.weaver.patterns.WithincodePointcut
            dup
            aload 1 /* sig */
            invokespecial org.aspectj.weaver.patterns.WithincodePointcut.<init>:(Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.SignaturePattern sig
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    4     1   sig  Lorg/aspectj/weaver/patterns/SignaturePattern;

  private org.aspectj.weaver.patterns.Pointcut parseCflowPointcut(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isBelow
         0: .line 554
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 555
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parsePointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            astore 2 /* entry */
        start local 2 // org.aspectj.weaver.patterns.Pointcut entry
         2: .line 556
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 557
            new org.aspectj.weaver.patterns.CflowPointcut
            dup
            aload 2 /* entry */
            iload 1 /* isBelow */
            aconst_null
            invokespecial org.aspectj.weaver.patterns.CflowPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Z[I)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.Pointcut entry
        end local 1 // boolean isBelow
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    4     1  isBelow  Z
            2    4     2    entry  Lorg/aspectj/weaver/patterns/Pointcut;
    MethodParameters:
         Name  Flags
      isBelow  

  private org.aspectj.weaver.patterns.Pointcut parseWithinPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 567
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 568
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* type */
        start local 1 // org.aspectj.weaver.patterns.TypePattern type
         2: .line 569
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 570
            new org.aspectj.weaver.patterns.WithinPointcut
            dup
            aload 1 /* type */
            invokespecial org.aspectj.weaver.patterns.WithinPointcut.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.TypePattern type
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    4     1  type  Lorg/aspectj/weaver/patterns/TypePattern;

  private org.aspectj.weaver.patterns.Pointcut parseThisOrTargetPointcut(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String kind
         0: .line 579
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 580
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* type */
        start local 2 // org.aspectj.weaver.patterns.TypePattern type
         2: .line 581
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         3: .line 582
            new org.aspectj.weaver.patterns.ThisOrTargetPointcut
            dup
            aload 1 /* kind */
            ldc "this"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            aload 2 /* type */
            invokespecial org.aspectj.weaver.patterns.ThisOrTargetPointcut.<init>:(ZLorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.TypePattern type
        end local 1 // java.lang.String kind
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    4     1  kind  Ljava/lang/String;
            2    4     2  type  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
      Name  Flags
      kind  

  private org.aspectj.weaver.patterns.Pointcut parseThisOrTargetAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 586
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 1 /* kind */
        start local 1 // java.lang.String kind
         1: .line 587
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 588
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 589
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting @AnnotationName or parameter, but found ')'"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 591
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameOrVarTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            astore 2 /* type */
        start local 2 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
         5: .line 592
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 593
            new org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut
            dup
            aload 1 /* kind */
            ldc "this"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            aload 2 /* type */
            invokespecial org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.<init>:(ZLorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
        end local 1 // java.lang.String kind
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    7     1  kind  Ljava/lang/String;
            5    7     2  type  Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;

  private org.aspectj.weaver.patterns.Pointcut parseWithinAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 597
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 598
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 599
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 600
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting @AnnotationName or parameter, but found ')'"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameOrVarTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            astore 1 /* type */
        start local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern type
         5: .line 603
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 604
            new org.aspectj.weaver.patterns.WithinAnnotationPointcut
            dup
            aload 1 /* type */
            invokespecial org.aspectj.weaver.patterns.WithinAnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern type
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            5    7     1  type  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;

  private org.aspectj.weaver.patterns.Pointcut parseWithinCodeAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 608
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 609
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 610
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 611
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting @AnnotationName or parameter, but found ')'"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameOrVarTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            astore 1 /* type */
        start local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
         5: .line 614
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 615
            new org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut
            dup
            aload 1 /* type */
            invokespecial org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern type
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            5    7     1  type  Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;

  private org.aspectj.weaver.patterns.Pointcut parseArgsPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 625
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgumentsPattern:(Z)Lorg/aspectj/weaver/patterns/TypePatternList;
            astore 1 /* arguments */
        start local 1 // org.aspectj.weaver.patterns.TypePatternList arguments
         1: .line 626
            new org.aspectj.weaver.patterns.ArgsPointcut
            dup
            aload 1 /* arguments */
            invokespecial org.aspectj.weaver.patterns.ArgsPointcut.<init>:(Lorg/aspectj/weaver/patterns/TypePatternList;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.TypePatternList arguments
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    2     1  arguments  Lorg/aspectj/weaver/patterns/TypePatternList;

  private org.aspectj.weaver.patterns.Pointcut parseArgsAnnotationPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 630
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            pop
         1: .line 631
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgumentsAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationPatternList;
            astore 1 /* arguments */
        start local 1 // org.aspectj.weaver.patterns.AnnotationPatternList arguments
         2: .line 632
            new org.aspectj.weaver.patterns.ArgsAnnotationPointcut
            dup
            aload 1 /* arguments */
            invokespecial org.aspectj.weaver.patterns.ArgsAnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/AnnotationPatternList;)V
            areturn
        end local 1 // org.aspectj.weaver.patterns.AnnotationPatternList arguments
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    3     1  arguments  Lorg/aspectj/weaver/patterns/AnnotationPatternList;

  private org.aspectj.weaver.patterns.Pointcut parseReferencePointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 636
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* onType */
        start local 1 // org.aspectj.weaver.patterns.TypePattern onType
         1: .line 637
            aconst_null
            astore 2 /* name */
        start local 2 // org.aspectj.weaver.patterns.NamePattern name
         2: .line 638
            aload 1 /* onType */
            getfield org.aspectj.weaver.patterns.TypePattern.typeParameters:Lorg/aspectj/weaver/patterns/TypePatternList;
            invokevirtual org.aspectj.weaver.patterns.TypePatternList.size:()I
            ifle 6
         3: .line 639
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 640
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNamePattern:()Lorg/aspectj/weaver/patterns/NamePattern;
            astore 2 /* name */
         5: .line 641
            goto 7
         6: .line 642
      StackMap locals: org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.NamePattern
      StackMap stack:
            aload 0 /* this */
            aload 1 /* onType */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.tryToExtractName:(Lorg/aspectj/weaver/patterns/TypePattern;)Lorg/aspectj/weaver/patterns/NamePattern;
            astore 2 /* name */
         7: .line 644
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            ifnonnull 9
         8: .line 645
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         9: .line 647
      StackMap locals:
      StackMap stack:
            aload 1 /* onType */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 648
            aconst_null
            astore 1 /* onType */
        11: .line 651
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            invokevirtual org.aspectj.weaver.patterns.NamePattern.maybeGetSimpleName:()Ljava/lang/String;
            astore 3 /* simpleName */
        start local 3 // java.lang.String simpleName
        12: .line 652
            aload 3 /* simpleName */
            ifnonnull 14
        13: .line 653
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "("
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        14: .line 656
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgumentsPattern:(Z)Lorg/aspectj/weaver/patterns/TypePatternList;
            astore 4 /* arguments */
        start local 4 // org.aspectj.weaver.patterns.TypePatternList arguments
        15: .line 657
            new org.aspectj.weaver.patterns.ReferencePointcut
            dup
            aload 1 /* onType */
            aload 3 /* simpleName */
            aload 4 /* arguments */
            invokespecial org.aspectj.weaver.patterns.ReferencePointcut.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/lang/String;Lorg/aspectj/weaver/patterns/TypePatternList;)V
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePatternList arguments
        end local 3 // java.lang.String simpleName
        end local 2 // org.aspectj.weaver.patterns.NamePattern name
        end local 1 // org.aspectj.weaver.patterns.TypePattern onType
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   16     1      onType  Lorg/aspectj/weaver/patterns/TypePattern;
            2   16     2        name  Lorg/aspectj/weaver/patterns/NamePattern;
           12   16     3  simpleName  Ljava/lang/String;
           15   16     4   arguments  Lorg/aspectj/weaver/patterns/TypePatternList;

  private org.aspectj.weaver.patterns.Pointcut parseDesignatorPointcut(org.aspectj.weaver.tools.PointcutDesignatorHandler);
    descriptor: (Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.tools.PointcutDesignatorHandler pcdHandler
         0: .line 661
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 662
            iconst_1
            istore 2 /* parenCount */
        start local 2 // int parenCount
         2: .line 663
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* pointcutBody */
        start local 3 // java.lang.StringBuffer pointcutBody
         3: .line 664
            goto 14
         4: .line 665
      StackMap locals: int java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 666
            iinc 2 /* parenCount */ 1
         6: .line 667
            aload 3 /* pointcutBody */
            ldc "("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 668
            goto 14
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 669
            iinc 2 /* parenCount */ -1
        10: .line 670
            iload 2 /* parenCount */
            ifle 14
        11: .line 671
            aload 3 /* pointcutBody */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 673
            goto 14
        13: .line 674
      StackMap locals:
      StackMap stack:
            aload 3 /* pointcutBody */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.nextToken:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 664
      StackMap locals:
      StackMap stack:
            iload 2 /* parenCount */
            ifgt 4
        15: .line 677
            aload 1 /* pcdHandler */
            aload 3 /* pointcutBody */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokeinterface org.aspectj.weaver.tools.PointcutDesignatorHandler.parse:(Ljava/lang/String;)Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            astore 4 /* pcExpr */
        start local 4 // org.aspectj.weaver.tools.ContextBasedMatcher pcExpr
        16: .line 678
            new org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut
            dup
            aload 4 /* pcExpr */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.world:Lorg/aspectj/weaver/World;
            invokespecial org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.<init>:(Lorg/aspectj/weaver/tools/ContextBasedMatcher;Lorg/aspectj/weaver/World;)V
            areturn
        end local 4 // org.aspectj.weaver.tools.ContextBasedMatcher pcExpr
        end local 3 // java.lang.StringBuffer pointcutBody
        end local 2 // int parenCount
        end local 1 // org.aspectj.weaver.tools.PointcutDesignatorHandler pcdHandler
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   17     1    pcdHandler  Lorg/aspectj/weaver/tools/PointcutDesignatorHandler;
            2   17     2    parenCount  I
            3   17     3  pointcutBody  Ljava/lang/StringBuffer;
           16   17     4        pcExpr  Lorg/aspectj/weaver/tools/ContextBasedMatcher;
    MethodParameters:
            Name  Flags
      pcdHandler  

  public java.util.List<java.lang.String> parseDottedIdentifier();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 682
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.List ret
         1: .line 683
            aload 1 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 684
            goto 4
         3: .line 685
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* ret */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 3
         5: .line 687
            aload 1 /* ret */
            areturn
        end local 1 // java.util.List ret
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    6     1   ret  Ljava/util/List<Ljava/lang/String;>;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private org.aspectj.weaver.patterns.KindedPointcut parseKindedPointcut(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/patterns/KindedPointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String kind
         0: .line 691
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 694
            aconst_null
            astore 3 /* shadowKind */
        start local 3 // org.aspectj.weaver.Shadow$Kind shadowKind
         2: .line 695
            aload 1 /* kind */
            ldc "execution"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         3: .line 696
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sig */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
         4: .line 697
            aload 2 /* sig */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.METHOD:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 7
         5: .line 698
            getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
         6: .line 699
            goto 27
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Shadow$Kind
      StackMap stack:
         7: aload 2 /* sig */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 27
         8: .line 700
            getstatic org.aspectj.weaver.Shadow.ConstructorExecution:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
         9: .line 702
            goto 27
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.String top org.aspectj.weaver.Shadow$Kind
      StackMap stack:
        10: aload 1 /* kind */
            ldc "call"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        11: .line 703
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sig */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        12: .line 704
            aload 2 /* sig */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.METHOD:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 15
        13: .line 705
            getstatic org.aspectj.weaver.Shadow.MethodCall:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
        14: .line 706
            goto 27
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.String org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Shadow$Kind
      StackMap stack:
        15: aload 2 /* sig */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 27
        16: .line 707
            getstatic org.aspectj.weaver.Shadow.ConstructorCall:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
        17: .line 709
            goto 27
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.String top org.aspectj.weaver.Shadow$Kind
      StackMap stack:
        18: aload 1 /* kind */
            ldc "get"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        19: .line 710
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sig */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        20: .line 711
            getstatic org.aspectj.weaver.Shadow.FieldGet:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
        21: .line 712
            goto 27
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
      StackMap locals:
      StackMap stack:
        22: aload 1 /* kind */
            ldc "set"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        23: .line 713
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sig */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        24: .line 714
            getstatic org.aspectj.weaver.Shadow.FieldSet:Lorg/aspectj/weaver/Shadow$Kind;
            astore 3 /* shadowKind */
        25: .line 715
            goto 27
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        26: .line 716
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        27: .line 718
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.String org.aspectj.weaver.patterns.SignaturePattern org.aspectj.weaver.Shadow$Kind
      StackMap stack:
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        28: .line 719
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            aload 3 /* shadowKind */
            aload 2 /* sig */
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            areturn
        end local 3 // org.aspectj.weaver.Shadow$Kind shadowKind
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sig
        end local 1 // java.lang.String kind
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   29     1        kind  Ljava/lang/String;
            4   10     2         sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           12   18     2         sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           20   22     2         sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           24   26     2         sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
           27   29     2         sig  Lorg/aspectj/weaver/patterns/SignaturePattern;
            2   29     3  shadowKind  Lorg/aspectj/weaver/Shadow$Kind;
    MethodParameters:
      Name  Flags
      kind  

  private org.aspectj.weaver.patterns.KindedPointcut parseMonitorPointcut(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/patterns/KindedPointcut;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String kind
         0: .line 724
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         1: .line 726
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 728
            aload 1 /* kind */
            ldc "lock"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 729
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.SynchronizationLock:Lorg/aspectj/weaver/Shadow$Kind;
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            getstatic org.aspectj.weaver.Member.MONITORENTER:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
         4: .line 730
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
         5: .line 732
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            getstatic org.aspectj.weaver.patterns.TypePatternList.ANY:Lorg/aspectj/weaver/patterns/TypePatternList;
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
         6: .line 729
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            areturn
         7: .line 734
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.KindedPointcut
            dup
            getstatic org.aspectj.weaver.Shadow.SynchronizationUnlock:Lorg/aspectj/weaver/Shadow$Kind;
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            getstatic org.aspectj.weaver.Member.MONITORENTER:Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
         8: .line 735
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
         9: .line 737
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            getstatic org.aspectj.weaver.patterns.TypePatternList.ANY:Lorg/aspectj/weaver/patterns/TypePatternList;
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
        10: .line 734
            invokespecial org.aspectj.weaver.patterns.KindedPointcut.<init>:(Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            areturn
        end local 1 // java.lang.String kind
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   11     1  kind  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      kind  

  public org.aspectj.weaver.patterns.TypePattern parseTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 742
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PatternParser;

  public org.aspectj.weaver.patterns.TypePattern parseTypePattern(boolean, boolean);
    descriptor: (ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean insideTypeParameters
        start local 2 // boolean parameterAnnotationsPossible
         0: .line 746
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* p */
        start local 3 // org.aspectj.weaver.patterns.TypePattern p
         1: .line 747
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 748
            new org.aspectj.weaver.patterns.AndTypePattern
            dup
            aload 3 /* p */
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNotOrTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            invokespecial org.aspectj.weaver.patterns.AndTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 3 /* p */
         3: .line 751
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 0 /* this */
            ldc "||"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 752
            new org.aspectj.weaver.patterns.OrTypePattern
            dup
            aload 3 /* p */
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            invokespecial org.aspectj.weaver.patterns.OrTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 3 /* p */
         5: .line 754
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            areturn
        end local 3 // org.aspectj.weaver.patterns.TypePattern p
        end local 2 // boolean parameterAnnotationsPossible
        end local 1 // boolean insideTypeParameters
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    6     0                          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    6     1          insideTypeParameters  Z
            0    6     2  parameterAnnotationsPossible  Z
            1    6     3                             p  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
                              Name  Flags
      insideTypeParameters          
      parameterAnnotationsPossible  

  private org.aspectj.weaver.patterns.TypePattern parseNotOrTypePattern(boolean, boolean);
    descriptor: (ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean insideTypeParameters
        start local 2 // boolean parameterAnnotationsPossible
         0: .line 758
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* p */
        start local 3 // org.aspectj.weaver.patterns.TypePattern p
         1: .line 759
            aload 0 /* this */
            ldc "&&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 760
            new org.aspectj.weaver.patterns.AndTypePattern
            dup
            aload 3 /* p */
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            invokespecial org.aspectj.weaver.patterns.AndTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 3 /* p */
         3: .line 762
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 3 /* p */
            areturn
        end local 3 // org.aspectj.weaver.patterns.TypePattern p
        end local 2 // boolean parameterAnnotationsPossible
        end local 1 // boolean insideTypeParameters
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    4     0                          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    4     1          insideTypeParameters  Z
            0    4     2  parameterAnnotationsPossible  Z
            1    4     3                             p  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
                              Name  Flags
      insideTypeParameters          
      parameterAnnotationsPossible  

  private org.aspectj.weaver.patterns.TypePattern parseAtomicTypePattern(boolean, boolean);
    descriptor: (ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean insideTypeParameters
        start local 2 // boolean parameterAnnotationsPossible
         0: .line 768
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 3 /* ap */
        start local 3 // org.aspectj.weaver.patterns.AnnotationTypePattern ap
         1: .line 770
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 10
         2: .line 778
            aconst_null
            astore 4 /* p */
        start local 4 // org.aspectj.weaver.patterns.TypePattern p
         3: .line 779
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAtomicTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* tp */
        start local 5 // org.aspectj.weaver.patterns.TypePattern tp
         4: .line 780
            aload 3 /* ap */
            instanceof org.aspectj.weaver.patterns.AnyAnnotationTypePattern
            ifne 8
         5: .line 781
            new org.aspectj.weaver.patterns.NotTypePattern
            dup
            aload 5 /* tp */
            invokespecial org.aspectj.weaver.patterns.NotTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 4 /* p */
         6: .line 782
            new org.aspectj.weaver.patterns.AndTypePattern
            dup
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 3 /* ap */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.setAnnotationPatternForTypePattern:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Z)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 4 /* p */
            invokespecial org.aspectj.weaver.patterns.AndTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 4 /* p */
         7: .line 783
            goto 9
         8: .line 784
      StackMap locals: org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.NotTypePattern
            dup
            aload 5 /* tp */
            invokespecial org.aspectj.weaver.patterns.NotTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 4 /* p */
         9: .line 786
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            areturn
        end local 5 // org.aspectj.weaver.patterns.TypePattern tp
        end local 4 // org.aspectj.weaver.patterns.TypePattern p
        10: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 29
        11: .line 789
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 4 /* openParenPos */
        start local 4 // int openParenPos
        12: .line 790
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        start local 5 // org.aspectj.weaver.patterns.TypePattern p
        13: .line 791
            aload 5 /* p */
            instanceof org.aspectj.weaver.patterns.NotTypePattern
            ifeq 17
            aload 3 /* ap */
            instanceof org.aspectj.weaver.patterns.AnyAnnotationTypePattern
            ifne 17
        14: .line 794
            aload 0 /* this */
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            aload 3 /* ap */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.setAnnotationPatternForTypePattern:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Z)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 6 /* tp */
        start local 6 // org.aspectj.weaver.patterns.TypePattern tp
        15: .line 795
            new org.aspectj.weaver.patterns.AndTypePattern
            dup
            aload 6 /* tp */
            aload 5 /* p */
            invokespecial org.aspectj.weaver.patterns.AndTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 5 /* p */
        end local 6 // org.aspectj.weaver.patterns.TypePattern tp
        16: .line 796
            goto 18
        17: .line 797
      StackMap locals: int org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 0 /* this */
            aload 5 /* p */
            aload 3 /* ap */
            iload 2 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.setAnnotationPatternForTypePattern:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Z)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        18: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        19: .line 800
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 6 /* closeParenPos */
        start local 6 // int closeParenPos
        20: .line 801
            aload 0 /* this */
            ldc "..."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 7 /* isVarArgs */
        start local 7 // boolean isVarArgs
        21: .line 802
            iload 7 /* isVarArgs */
            ifeq 23
        22: .line 803
            aload 5 /* p */
            iload 7 /* isVarArgs */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.setIsVarArgs:(Z)V
        23: .line 805
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            ldc "+"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 8 /* isIncludeSubtypes */
        start local 8 // boolean isIncludeSubtypes
        24: .line 806
            iload 8 /* isIncludeSubtypes */
            ifeq 26
        25: .line 807
            aload 5 /* p */
            iconst_1
            putfield org.aspectj.weaver.patterns.TypePattern.includeSubtypes:Z
        26: .line 809
      StackMap locals: int
      StackMap stack:
            aload 5 /* p */
            iload 4 /* openParenPos */
            putfield org.aspectj.weaver.patterns.TypePattern.start:I
        27: .line 810
            aload 5 /* p */
            iload 6 /* closeParenPos */
            putfield org.aspectj.weaver.patterns.TypePattern.end:I
        28: .line 811
            aload 5 /* p */
            areturn
        end local 8 // boolean isIncludeSubtypes
        end local 7 // boolean isVarArgs
        end local 6 // int closeParenPos
        end local 5 // org.aspectj.weaver.patterns.TypePattern p
        end local 4 // int openParenPos
        29: .line 813
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int int org.aspectj.weaver.patterns.AnnotationTypePattern
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 4 /* startPos */
        start local 4 // int startPos
        30: .line 814
            aload 3 /* ap */
            getfield org.aspectj.weaver.patterns.AnnotationTypePattern.start:I
            iconst_m1
            if_icmpeq 32
        31: .line 815
            aload 3 /* ap */
            getfield org.aspectj.weaver.patterns.AnnotationTypePattern.start:I
            istore 4 /* startPos */
        32: .line 817
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* insideTypeParameters */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSingleTypePattern:(Z)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        start local 5 // org.aspectj.weaver.patterns.TypePattern p
        33: .line 818
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 6 /* endPos */
        start local 6 // int endPos
        34: .line 819
            aload 0 /* this */
            aload 5 /* p */
            aload 3 /* ap */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.setAnnotationPatternForTypePattern:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Z)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        35: .line 820
            aload 5 /* p */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 4 /* startPos */
            iload 6 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        36: .line 821
            aload 5 /* p */
            areturn
        end local 6 // int endPos
        end local 5 // org.aspectj.weaver.patterns.TypePattern p
        end local 4 // int startPos
        end local 3 // org.aspectj.weaver.patterns.AnnotationTypePattern ap
        end local 2 // boolean parameterAnnotationsPossible
        end local 1 // boolean insideTypeParameters
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   37     0                          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   37     1          insideTypeParameters  Z
            0   37     2  parameterAnnotationsPossible  Z
            1   37     3                            ap  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            3   10     4                             p  Lorg/aspectj/weaver/patterns/TypePattern;
            4   10     5                            tp  Lorg/aspectj/weaver/patterns/TypePattern;
           12   29     4                  openParenPos  I
           13   29     5                             p  Lorg/aspectj/weaver/patterns/TypePattern;
           15   16     6                            tp  Lorg/aspectj/weaver/patterns/TypePattern;
           20   29     6                 closeParenPos  I
           21   29     7                     isVarArgs  Z
           24   29     8             isIncludeSubtypes  Z
           30   37     4                      startPos  I
           33   37     5                             p  Lorg/aspectj/weaver/patterns/TypePattern;
           34   37     6                        endPos  I
    MethodParameters:
                              Name  Flags
      insideTypeParameters          
      parameterAnnotationsPossible  

  private org.aspectj.weaver.patterns.TypePattern setAnnotationPatternForTypePattern(org.aspectj.weaver.patterns.TypePattern, org.aspectj.weaver.patterns.AnnotationTypePattern, boolean);
    descriptor: (Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Z)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.patterns.TypePattern t
        start local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern ap
        start local 3 // boolean parameterAnnotationsPattern
         0: .line 826
            aload 1 /* t */
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.patterns.TypePattern ret
         1: .line 827
            iload 3 /* parameterAnnotationsPattern */
            ifeq 3
         2: .line 828
            aload 2 /* ap */
            invokevirtual org.aspectj.weaver.patterns.AnnotationTypePattern.setForParameterAnnotationMatch:()V
         3: .line 830
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 2 /* ap */
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpeq 12
         4: .line 831
            aload 1 /* t */
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            if_acmpne 8
         5: .line 832
            aload 1 /* t */
            getfield org.aspectj.weaver.patterns.TypePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpne 7
         6: .line 833
            new org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern
            dup
            aload 2 /* ap */
            invokespecial org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
         7: .line 835
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern
            dup
            new org.aspectj.weaver.patterns.AndAnnotationTypePattern
            dup
            aload 2 /* ap */
            aload 1 /* t */
            getfield org.aspectj.weaver.patterns.TypePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.AndAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            invokespecial org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
         8: .line 839
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getfield org.aspectj.weaver.patterns.TypePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpne 11
         9: .line 840
            aload 4 /* ret */
            aload 2 /* ap */
            invokevirtual org.aspectj.weaver.patterns.TypePattern.setAnnotationTypePattern:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
        10: .line 841
            goto 12
        11: .line 842
      StackMap locals:
      StackMap stack:
            aload 4 /* ret */
            new org.aspectj.weaver.patterns.AndAnnotationTypePattern
            dup
            aload 2 /* ap */
            aload 1 /* t */
            getfield org.aspectj.weaver.patterns.TypePattern.annotationPattern:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.AndAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            invokevirtual org.aspectj.weaver.patterns.TypePattern.setAnnotationTypePattern:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
        12: .line 845
      StackMap locals:
      StackMap stack:
            aload 4 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern ret
        end local 3 // boolean parameterAnnotationsPattern
        end local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern ap
        end local 1 // org.aspectj.weaver.patterns.TypePattern t
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   13     0                         this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   13     1                            t  Lorg/aspectj/weaver/patterns/TypePattern;
            0   13     2                           ap  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            0   13     3  parameterAnnotationsPattern  Z
            1   13     4                          ret  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
                             Name  Flags
      t                            
      ap                           
      parameterAnnotationsPattern  

  public org.aspectj.weaver.patterns.AnnotationTypePattern maybeParseAnnotationPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 849
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 1 /* ret */
        start local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern ret
         1: .line 850
            aconst_null
            astore 2 /* nextPattern */
        start local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern nextPattern
         2: .line 851
            goto 7
         3: .line 852
      StackMap locals: org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.AnnotationTypePattern
      StackMap stack:
            aload 1 /* ret */
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            if_acmpne 6
         4: .line 853
            aload 2 /* nextPattern */
            astore 1 /* ret */
         5: .line 854
            goto 7
         6: .line 855
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.AndAnnotationTypePattern
            dup
            aload 1 /* ret */
            aload 2 /* nextPattern */
            invokespecial org.aspectj.weaver.patterns.AndAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 1 /* ret */
         7: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseSingleAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            dup
            astore 2 /* nextPattern */
            ifnonnull 3
         8: .line 858
            aload 1 /* ret */
            areturn
        end local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern nextPattern
        end local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern ret
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    9     1          ret  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            2    9     2  nextPattern  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;

  public org.aspectj.weaver.patterns.AnnotationTypePattern maybeParseSingleAnnotationPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 863
            aconst_null
            astore 1 /* ret */
        start local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern ret
         1: .line 864
            aconst_null
            astore 2 /* values */
        start local 2 // java.util.Map values
         2: .line 866
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 3 /* startIndex */
        start local 3 // int startIndex
         3: .line 867
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 20
         4: .line 868
            aload 0 /* this */
            ldc "@"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 18
         5: .line 869
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 870
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* p */
        start local 4 // org.aspectj.weaver.patterns.TypePattern p
         7: .line 871
            new org.aspectj.weaver.patterns.NotAnnotationTypePattern
            dup
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 4 /* p */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            invokespecial org.aspectj.weaver.patterns.NotAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 1 /* ret */
         8: .line 872
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         9: .line 873
            aload 1 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern p
        10: .line 875
      StackMap locals: org.aspectj.weaver.patterns.AnnotationTypePattern java.util.Map int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSingleTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* p */
        start local 4 // org.aspectj.weaver.patterns.TypePattern p
        11: .line 876
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatAdjacent:(Ljava/lang/String;)Z
            ifeq 16
        12: .line 877
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationValues:()Ljava/util/Map;
            astore 2 /* values */
        13: .line 878
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        14: .line 879
            new org.aspectj.weaver.patterns.NotAnnotationTypePattern
            dup
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 4 /* p */
            aload 2 /* values */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/util/Map;)V
            invokespecial org.aspectj.weaver.patterns.NotAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 1 /* ret */
        15: .line 880
            goto 17
        16: .line 881
      StackMap locals: org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.NotAnnotationTypePattern
            dup
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 4 /* p */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            invokespecial org.aspectj.weaver.patterns.NotAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 1 /* ret */
        17: .line 883
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern p
        18: .line 886
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 3 /* startIndex */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        19: .line 887
            aload 1 /* ret */
            areturn
        20: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "@"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 36
        21: .line 891
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 26
        22: .line 892
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* p */
        start local 4 // org.aspectj.weaver.patterns.TypePattern p
        23: .line 893
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 4 /* p */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 1 /* ret */
        24: .line 894
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        25: .line 895
            aload 1 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern p
        26: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 4 /* atPos */
        start local 4 // int atPos
        27: .line 898
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSingleTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        start local 5 // org.aspectj.weaver.patterns.TypePattern p
        28: .line 899
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatAdjacent:(Ljava/lang/String;)Z
            ifeq 33
        29: .line 900
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationValues:()Ljava/util/Map;
            astore 2 /* values */
        30: .line 901
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        31: .line 902
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 5 /* p */
            aload 2 /* values */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Ljava/util/Map;)V
            astore 1 /* ret */
        32: .line 903
            goto 34
        33: .line 904
      StackMap locals: int org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            new org.aspectj.weaver.patterns.WildAnnotationTypePattern
            dup
            aload 5 /* p */
            invokespecial org.aspectj.weaver.patterns.WildAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;)V
            astore 1 /* ret */
        34: .line 906
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            iload 4 /* atPos */
            putfield org.aspectj.weaver.patterns.AnnotationTypePattern.start:I
        35: .line 907
            aload 1 /* ret */
            areturn
        end local 5 // org.aspectj.weaver.patterns.TypePattern p
        end local 4 // int atPos
        36: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 3 /* startIndex */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        37: .line 911
            aload 1 /* ret */
            areturn
        end local 3 // int startIndex
        end local 2 // java.util.Map values
        end local 1 // org.aspectj.weaver.patterns.AnnotationTypePattern ret
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   38     1         ret  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            2   38     2      values  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   38     3  startIndex  I
            7   10     4           p  Lorg/aspectj/weaver/patterns/TypePattern;
           11   18     4           p  Lorg/aspectj/weaver/patterns/TypePattern;
           23   26     4           p  Lorg/aspectj/weaver/patterns/TypePattern;
           27   36     4       atPos  I
           28   36     5           p  Lorg/aspectj/weaver/patterns/TypePattern;

  public java.util.Map<java.lang.String, java.lang.String> parseAnnotationValues();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 918
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* values */
        start local 1 // java.util.Map values
         1: .line 919
            iconst_0
            istore 2 /* seenDefaultValue */
        start local 2 // boolean seenDefaultValue
         2: .line 921
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameValuePattern:()Ljava/lang/String;
            astore 3 /* possibleKeyString */
        start local 3 // java.lang.String possibleKeyString
         3: .line 922
            aload 3 /* possibleKeyString */
            ifnonnull 5
         4: .line 923
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting simple literal "
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         5: .line 926
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "="
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 11
         6: .line 928
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameValuePattern:()Ljava/lang/String;
            astore 4 /* valueString */
        start local 4 // java.lang.String valueString
         7: .line 929
            aload 4 /* valueString */
            ifnonnull 9
         8: .line 930
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting simple literal "
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         9: .line 932
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* values */
            aload 3 /* possibleKeyString */
            aload 4 /* valueString */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String valueString
        10: .line 933
            goto 21
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            ldc "!="
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 17
        12: .line 935
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameValuePattern:()Ljava/lang/String;
            astore 4 /* valueString */
        start local 4 // java.lang.String valueString
        13: .line 936
            aload 4 /* valueString */
            ifnonnull 15
        14: .line 937
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "expecting simple literal "
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        15: .line 940
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* values */
            new java.lang.StringBuilder
            dup
            aload 3 /* possibleKeyString */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* valueString */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String valueString
        16: .line 941
            goto 21
        17: .line 942
      StackMap locals:
      StackMap stack:
            iload 2 /* seenDefaultValue */
            ifeq 19
        18: .line 943
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "cannot specify two default values"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        19: .line 945
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* seenDefaultValue */
        20: .line 946
            aload 1 /* values */
            ldc "value"
            aload 3 /* possibleKeyString */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String possibleKeyString
        21: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 2
        22: .line 949
            aload 1 /* values */
            areturn
        end local 2 // boolean seenDefaultValue
        end local 1 // java.util.Map values
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   23     1             values  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   23     2   seenDefaultValue  Z
            3   21     3  possibleKeyString  Ljava/lang/String;
            7   10     4        valueString  Ljava/lang/String;
           13   16     4        valueString  Ljava/lang/String;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public org.aspectj.weaver.patterns.TypePattern parseSingleTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 953
            aload 0 /* this */
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSingleTypePattern:(Z)Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PatternParser;

  public org.aspectj.weaver.patterns.TypePattern parseSingleTypePattern(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean insideTypeParameters
         0: .line 957
            iload 1 /* insideTypeParameters */
            ifeq 2
            aload 0 /* this */
            ldc "?"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 958
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseGenericsWildcardTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.allowHasTypePatterns:Z
            ifeq 7
         3: .line 961
            aload 0 /* this */
            ldc "hasmethod"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 962
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseHasMethodTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         5: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "hasfield"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 965
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseHasFieldTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         7: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "is"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 13
         8: .line 996
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            iconst_1
            isub
            istore 2 /* pos */
        start local 2 // int pos
         9: .line 997
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIsTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* typeIsPattern */
        start local 3 // org.aspectj.weaver.patterns.TypePattern typeIsPattern
        10: .line 998
            aload 3 /* typeIsPattern */
            ifnull 12
        11: .line 999
            aload 3 /* typeIsPattern */
            areturn
        12: .line 1002
      StackMap locals: int org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 2 /* pos */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        end local 3 // org.aspectj.weaver.patterns.TypePattern typeIsPattern
        end local 2 // int pos
        13: .line 1005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseDottedNamePattern:()Ljava/util/List;
            astore 2 /* names */
        start local 2 // java.util.List names
        14: .line 1007
            iconst_0
            istore 3 /* dim */
        start local 3 // int dim
        15: .line 1008
            goto 18
        16: .line 1009
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            ldc "]"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        17: .line 1010
            iinc 3 /* dim */ 1
        18: .line 1008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "["
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 16
        19: .line 1013
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseTypeParameterList:()Lorg/aspectj/weaver/patterns/TypePatternList;
            astore 4 /* typeParameters */
        start local 4 // org.aspectj.weaver.patterns.TypePatternList typeParameters
        20: .line 1014
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 5 /* endPos */
        start local 5 // int endPos
        21: .line 1016
            aload 0 /* this */
            ldc "+"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 6 /* includeSubtypes */
        start local 6 // boolean includeSubtypes
        22: .line 1019
            goto 25
        23: .line 1020
      StackMap locals: org.aspectj.weaver.patterns.TypePatternList int int
      StackMap stack:
            aload 0 /* this */
            ldc "]"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        24: .line 1021
            iinc 3 /* dim */ 1
        25: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "["
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 23
        26: .line 1024
            aload 0 /* this */
            ldc "..."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 7 /* isVarArgs */
        start local 7 // boolean isVarArgs
        27: .line 1027
            aload 2 /* names */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 29
            aload 2 /* names */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.aspectj.weaver.patterns.NamePattern
            invokevirtual org.aspectj.weaver.patterns.NamePattern.isAny:()Z
            ifeq 29
            iload 3 /* dim */
            ifne 29
            iload 7 /* isVarArgs */
            ifne 29
            aload 4 /* typeParameters */
            ifnonnull 29
        28: .line 1028
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        29: .line 1037
      StackMap locals: int
      StackMap stack:
            new org.aspectj.weaver.patterns.WildTypePattern
            dup
            aload 2 /* names */
            iload 6 /* includeSubtypes */
            iload 3 /* dim */
            iload 7 /* isVarArgs */
            ifeq 30
            iconst_1
            goto 31
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int java.util.List int org.aspectj.weaver.patterns.TypePatternList int int int
      StackMap stack: new 29 new 29 java.util.List int int
        30: iconst_0
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int java.util.List int org.aspectj.weaver.patterns.TypePatternList int int int
      StackMap stack: new 29 new 29 java.util.List int int int
        31: iadd
            iload 5 /* endPos */
            iload 7 /* isVarArgs */
            aload 4 /* typeParameters */
            invokespecial org.aspectj.weaver.patterns.WildTypePattern.<init>:(Ljava/util/List;ZIIZLorg/aspectj/weaver/patterns/TypePatternList;)V
            areturn
        end local 7 // boolean isVarArgs
        end local 6 // boolean includeSubtypes
        end local 5 // int endPos
        end local 4 // org.aspectj.weaver.patterns.TypePatternList typeParameters
        end local 3 // int dim
        end local 2 // java.util.List names
        end local 1 // boolean insideTypeParameters
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   32     0                  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   32     1  insideTypeParameters  Z
            9   13     2                   pos  I
           10   13     3         typeIsPattern  Lorg/aspectj/weaver/patterns/TypePattern;
           14   32     2                 names  Ljava/util/List<Lorg/aspectj/weaver/patterns/NamePattern;>;
           15   32     3                   dim  I
           20   32     4        typeParameters  Lorg/aspectj/weaver/patterns/TypePatternList;
           21   32     5                endPos  I
           22   32     6       includeSubtypes  Z
           27   32     7             isVarArgs  Z
    MethodParameters:
                      Name  Flags
      insideTypeParameters  

  public org.aspectj.weaver.patterns.TypePattern parseHasMethodTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1041
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 1042
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 1043
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sp */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sp
         3: .line 1044
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 1045
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 3 /* endPos */
        start local 3 // int endPos
         5: .line 1046
            new org.aspectj.weaver.patterns.HasMemberTypePattern
            dup
            aload 2 /* sp */
            invokespecial org.aspectj.weaver.patterns.HasMemberTypePattern.<init>:(Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.patterns.HasMemberTypePattern ret
         6: .line 1047
            aload 4 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 3 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.HasMemberTypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
         7: .line 1048
            aload 4 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.HasMemberTypePattern ret
        end local 3 // int endPos
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sp
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    8     1  startPos  I
            3    8     2        sp  Lorg/aspectj/weaver/patterns/SignaturePattern;
            5    8     3    endPos  I
            6    8     4       ret  Lorg/aspectj/weaver/patterns/HasMemberTypePattern;

  public org.aspectj.weaver.patterns.TypePattern parseIsTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1059
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 1060
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatAdjacent:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1061
            aconst_null
            areturn
         3: .line 1063
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* token */
        start local 2 // org.aspectj.weaver.patterns.IToken token
         4: .line 1064
            aconst_null
            astore 3 /* typeIsPattern */
        start local 3 // org.aspectj.weaver.patterns.TypeCategoryTypePattern typeIsPattern
         5: .line 1065
            aload 2 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 33
         6: .line 1066
            aload 2 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            astore 4 /* category */
        start local 4 // java.lang.String category
         7: .line 1067
            aload 4 /* category */
            ldc "ClassType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1068
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            iconst_1
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
         9: .line 1069
            goto 33
      StackMap locals: org.aspectj.weaver.patterns.IToken org.aspectj.weaver.patterns.TypeCategoryTypePattern java.lang.String
      StackMap stack:
        10: aload 4 /* category */
            ldc "AspectType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 1070
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            iconst_3
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        12: .line 1071
            goto 33
      StackMap locals:
      StackMap stack:
        13: aload 4 /* category */
            ldc "InterfaceType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 1072
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            iconst_2
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        15: .line 1073
            goto 33
      StackMap locals:
      StackMap stack:
        16: aload 4 /* category */
            ldc "InnerType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 1074
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            iconst_4
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        18: .line 1075
            goto 33
      StackMap locals:
      StackMap stack:
        19: aload 4 /* category */
            ldc "AnonymousType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 1076
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            iconst_5
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        21: .line 1077
            goto 33
      StackMap locals:
      StackMap stack:
        22: aload 4 /* category */
            ldc "EnumType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 1078
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            bipush 6
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        24: .line 1079
            goto 33
      StackMap locals:
      StackMap stack:
        25: aload 4 /* category */
            ldc "AnnotationType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 1080
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            bipush 7
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        27: .line 1081
            goto 33
      StackMap locals:
      StackMap stack:
        28: aload 4 /* category */
            ldc "FinalType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 1082
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            bipush 8
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        30: .line 1083
            goto 33
      StackMap locals:
      StackMap stack:
        31: aload 4 /* category */
            ldc "AbstractType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 1084
            new org.aspectj.weaver.patterns.TypeCategoryTypePattern
            dup
            bipush 9
            invokespecial org.aspectj.weaver.patterns.TypeCategoryTypePattern.<init>:(I)V
            astore 3 /* typeIsPattern */
        end local 4 // java.lang.String category
        33: .line 1087
      StackMap locals:
      StackMap stack:
            aload 3 /* typeIsPattern */
            ifnonnull 35
        34: .line 1088
            aconst_null
            areturn
        35: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 37
        36: .line 1091
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc ")"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        37: .line 1093
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 4 /* endPos */
        start local 4 // int endPos
        38: .line 1094
            aload 3 /* typeIsPattern */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getSourceContext:()Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 4 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.TypeCategoryTypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        39: .line 1095
            aload 3 /* typeIsPattern */
            areturn
        end local 4 // int endPos
        end local 3 // org.aspectj.weaver.patterns.TypeCategoryTypePattern typeIsPattern
        end local 2 // org.aspectj.weaver.patterns.IToken token
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   40     0           this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   40     1       startPos  I
            4   40     2          token  Lorg/aspectj/weaver/patterns/IToken;
            5   40     3  typeIsPattern  Lorg/aspectj/weaver/patterns/TypeCategoryTypePattern;
            7   33     4       category  Ljava/lang/String;
           38   40     4         endPos  I

  public org.aspectj.weaver.patterns.TypePattern parseHasFieldTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1125
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 1126
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 1127
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* sp */
        start local 2 // org.aspectj.weaver.patterns.SignaturePattern sp
         3: .line 1128
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         4: .line 1129
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 3 /* endPos */
        start local 3 // int endPos
         5: .line 1130
            new org.aspectj.weaver.patterns.HasMemberTypePattern
            dup
            aload 2 /* sp */
            invokespecial org.aspectj.weaver.patterns.HasMemberTypePattern.<init>:(Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            astore 4 /* ret */
        start local 4 // org.aspectj.weaver.patterns.HasMemberTypePattern ret
         6: .line 1131
            aload 4 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 3 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.HasMemberTypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
         7: .line 1132
            aload 4 /* ret */
            areturn
        end local 4 // org.aspectj.weaver.patterns.HasMemberTypePattern ret
        end local 3 // int endPos
        end local 2 // org.aspectj.weaver.patterns.SignaturePattern sp
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    8     1  startPos  I
            3    8     2        sp  Lorg/aspectj/weaver/patterns/SignaturePattern;
            5    8     3    endPos  I
            6    8     4       ret  Lorg/aspectj/weaver/patterns/HasMemberTypePattern;

  public org.aspectj.weaver.patterns.TypePattern parseGenericsWildcardTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1136
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.List names
         1: .line 1137
            aload 1 /* names */
            new org.aspectj.weaver.patterns.NamePattern
            dup
            ldc "?"
            invokespecial org.aspectj.weaver.patterns.NamePattern.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1138
            aconst_null
            astore 2 /* upperBound */
        start local 2 // org.aspectj.weaver.patterns.TypePattern upperBound
         3: .line 1139
            iconst_0
            anewarray org.aspectj.weaver.patterns.TypePattern
            astore 3 /* additionalInterfaceBounds */
        start local 3 // org.aspectj.weaver.patterns.TypePattern[] additionalInterfaceBounds
         4: .line 1140
            aconst_null
            astore 4 /* lowerBound */
        start local 4 // org.aspectj.weaver.patterns.TypePattern lowerBound
         5: .line 1141
            aload 0 /* this */
            ldc "extends"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 1142
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* upperBound */
         7: .line 1143
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseAdditionalInterfaceBounds:()[Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* additionalInterfaceBounds */
         8: .line 1145
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.util.List org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern[] org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 0 /* this */
            ldc "super"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 1146
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* lowerBound */
        10: .line 1148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 5 /* endPos */
        start local 5 // int endPos
        11: .line 1149
            new org.aspectj.weaver.patterns.WildTypePattern
            dup
            aload 1 /* names */
            iconst_0
            iconst_0
            iload 5 /* endPos */
            iconst_0
            aconst_null
            aload 2 /* upperBound */
            aload 3 /* additionalInterfaceBounds */
            aload 4 /* lowerBound */
            invokespecial org.aspectj.weaver.patterns.WildTypePattern.<init>:(Ljava/util/List;ZIIZLorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/TypePattern;[Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 5 // int endPos
        end local 4 // org.aspectj.weaver.patterns.TypePattern lowerBound
        end local 3 // org.aspectj.weaver.patterns.TypePattern[] additionalInterfaceBounds
        end local 2 // org.aspectj.weaver.patterns.TypePattern upperBound
        end local 1 // java.util.List names
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   12     0                       this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   12     1                      names  Ljava/util/List<Lorg/aspectj/weaver/patterns/NamePattern;>;
            3   12     2                 upperBound  Lorg/aspectj/weaver/patterns/TypePattern;
            4   12     3  additionalInterfaceBounds  [Lorg/aspectj/weaver/patterns/TypePattern;
            5   12     4                 lowerBound  Lorg/aspectj/weaver/patterns/TypePattern;
           11   12     5                     endPos  I

  protected org.aspectj.weaver.patterns.ExactAnnotationTypePattern parseAnnotationNameOrVarTypePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1183
            aconst_null
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern p
         1: .line 1184
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 2 /* startPos */
        start local 2 // int startPos
         2: .line 1185
            aload 0 /* this */
            ldc "@"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1186
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "@Foo form was deprecated in AspectJ 5 M2: annotation name or var "
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 1188
      StackMap locals: org.aspectj.weaver.patterns.ExactAnnotationTypePattern int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseSimpleAnnotationName:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            astore 1 /* p */
         5: .line 1189
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 3 /* endPos */
        start local 3 // int endPos
         6: .line 1190
            aload 1 /* p */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 2 /* startPos */
            iload 3 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
         7: .line 1192
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 1193
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 4 /* formalName */
        start local 4 // java.lang.String formalName
         9: .line 1194
            new org.aspectj.weaver.patterns.ExactAnnotationFieldTypePattern
            dup
            aload 1 /* p */
            aload 4 /* formalName */
            invokespecial org.aspectj.weaver.patterns.ExactAnnotationFieldTypePattern.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;Ljava/lang/String;)V
            astore 1 /* p */
        10: .line 1195
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        end local 4 // java.lang.String formalName
        11: .line 1197
      StackMap locals: int
      StackMap stack:
            aload 1 /* p */
            areturn
        end local 3 // int endPos
        end local 2 // int startPos
        end local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   12     1           p  Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            2   12     2    startPos  I
            6   12     3      endPos  I
            9   11     4  formalName  Ljava/lang/String;

  private org.aspectj.weaver.patterns.ExactAnnotationTypePattern parseSimpleAnnotationName();
    descriptor: ()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1206
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* annotationName */
        start local 2 // java.lang.StringBuffer annotationName
         1: .line 1207
            aload 2 /* annotationName */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1208
            goto 5
         3: .line 1209
      StackMap locals: org.aspectj.weaver.patterns.PatternParser top java.lang.StringBuffer
      StackMap stack:
            aload 2 /* annotationName */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 1210
            aload 2 /* annotationName */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 1208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 3
         6: .line 1212
            aload 2 /* annotationName */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.UnresolvedType.forName:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 3 /* type */
        start local 3 // org.aspectj.weaver.UnresolvedType type
         7: .line 1213
            new org.aspectj.weaver.patterns.ExactAnnotationTypePattern
            dup
            aload 3 /* type */
            aconst_null
            invokespecial org.aspectj.weaver.patterns.ExactAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/UnresolvedType;Ljava/util/Map;)V
            astore 1 /* p */
        start local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern p
         8: .line 1214
            aload 1 /* p */
            areturn
        end local 3 // org.aspectj.weaver.UnresolvedType type
        end local 2 // java.lang.StringBuffer annotationName
        end local 1 // org.aspectj.weaver.patterns.ExactAnnotationTypePattern p
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/aspectj/weaver/patterns/PatternParser;
            8    9     1               p  Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            1    9     2  annotationName  Ljava/lang/StringBuffer;
            7    9     3            type  Lorg/aspectj/weaver/UnresolvedType;

  public java.util.List<org.aspectj.weaver.patterns.NamePattern> parseDottedNamePattern();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1245
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.List names
         1: .line 1246
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         2: .line 1247
            aconst_null
            astore 3 /* previous */
        start local 3 // org.aspectj.weaver.patterns.IToken previous
         3: .line 1248
            iconst_0
            istore 4 /* justProcessedEllipsis */
        start local 4 // boolean justProcessedEllipsis
         4: .line 1249
            iconst_0
            istore 5 /* justProcessedDot */
        start local 5 // boolean justProcessedDot
         5: .line 1250
            iconst_0
            istore 6 /* onADot */
        start local 6 // boolean onADot
         6: .line 1253
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.util.List java.lang.StringBuffer org.aspectj.weaver.patterns.IToken int int int
      StackMap stack:
            aconst_null
            astore 7 /* tok */
        start local 7 // org.aspectj.weaver.patterns.IToken tok
         7: .line 1254
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 8 /* startPos */
        start local 8 // int startPos
         8: .line 1255
            aconst_null
            astore 9 /* afterDot */
        start local 9 // java.lang.String afterDot
         9: .line 1257
      StackMap locals: org.aspectj.weaver.patterns.IToken int java.lang.String
      StackMap stack:
            aload 3 /* previous */
            ifnull 11
            aload 3 /* previous */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1258
            iconst_1
            istore 5 /* justProcessedDot */
        11: .line 1260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 7 /* tok */
        12: .line 1261
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 6 /* onADot */
        13: .line 1262
            aload 3 /* previous */
            ifnull 16
        14: .line 1263
            aload 0 /* this */
            aload 3 /* previous */
            aload 7 /* tok */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.isAdjacent:(Lorg/aspectj/weaver/patterns/IToken;Lorg/aspectj/weaver/patterns/IToken;)Z
            ifne 16
        15: .line 1264
            goto 32
        16: .line 1267
      StackMap locals:
      StackMap stack:
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "*"
            if_acmpeq 17
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 19
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "..."
            if_acmpeq 19
        17: .line 1268
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 1269
            goto 30
      StackMap locals:
      StackMap stack:
        19: aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "..."
            if_acmpne 21
        20: .line 1270
            goto 32
        21: .line 1271
      StackMap locals:
      StackMap stack:
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            ifnull 32
        22: .line 1273
            aload 7 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            astore 10 /* s */
        start local 10 // java.lang.String s
        23: .line 1274
            aload 10 /* s */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 11 /* dot */
        start local 11 // int dot
        24: .line 1275
            iload 11 /* dot */
            iconst_m1
            if_icmpeq 29
        25: .line 1276
            aload 2 /* buf */
            aload 10 /* s */
            iconst_0
            iload 11 /* dot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 1277
            aload 10 /* s */
            iload 11 /* dot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* afterDot */
        27: .line 1278
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* previous */
        28: .line 1279
            goto 32
        29: .line 1281
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 2 /* buf */
            aload 10 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 11 // int dot
        end local 10 // java.lang.String s
        30: .line 1285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* previous */
        31: .line 1256
            goto 9
        32: .line 1288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 10 /* endPos */
        start local 10 // int endPos
        33: .line 1289
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 35
            aload 1 /* names */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 35
        34: .line 1290
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern"
            aload 7 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        35: .line 1293
      StackMap locals: int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 37
            iload 4 /* justProcessedEllipsis */
            ifeq 37
        36: .line 1294
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern cannot finish with .."
            aload 7 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        37: .line 1296
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 39
            iload 5 /* justProcessedDot */
            ifeq 39
            iload 6 /* onADot */
            ifne 39
        38: .line 1297
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern cannot finish with ."
            aload 7 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        39: .line 1300
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 43
        40: .line 1301
            aload 1 /* names */
            getstatic org.aspectj.weaver.patterns.NamePattern.ELLIPSIS:Lorg/aspectj/weaver/patterns/NamePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1302
            iconst_1
            istore 4 /* justProcessedEllipsis */
        42: .line 1303
            goto 48
        43: .line 1304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 3 /* previous */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.checkLegalName:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/IToken;)V
        44: .line 1305
            new org.aspectj.weaver.patterns.NamePattern
            dup
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.patterns.NamePattern.<init>:(Ljava/lang/String;)V
            astore 11 /* ret */
        start local 11 // org.aspectj.weaver.patterns.NamePattern ret
        45: .line 1306
            aload 11 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 8 /* startPos */
            iload 10 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.NamePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        46: .line 1307
            aload 1 /* names */
            aload 11 /* ret */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        47: .line 1308
            iconst_0
            istore 4 /* justProcessedEllipsis */
        end local 11 // org.aspectj.weaver.patterns.NamePattern ret
        48: .line 1311
      StackMap locals:
      StackMap stack:
            aload 9 /* afterDot */
            ifnonnull 54
        49: .line 1312
            aload 2 /* buf */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        50: .line 1314
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 52
        51: .line 1315
            goto 58
        52: .line 1318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* previous */
        53: .line 1320
            goto 6
        54: .line 1321
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        55: .line 1322
            aload 2 /* buf */
            aload 9 /* afterDot */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        56: .line 1323
            aconst_null
            astore 9
        end local 10 // int endPos
        end local 9 // java.lang.String afterDot
        end local 8 // int startPos
        end local 7 // org.aspectj.weaver.patterns.IToken tok
        57: .line 1252
            goto 6
        58: .line 1327
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.util.List java.lang.StringBuffer org.aspectj.weaver.patterns.IToken int int int
      StackMap stack:
            aload 1 /* names */
            areturn
        end local 6 // boolean onADot
        end local 5 // boolean justProcessedDot
        end local 4 // boolean justProcessedEllipsis
        end local 3 // org.aspectj.weaver.patterns.IToken previous
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.util.List names
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   59     0                   this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   59     1                  names  Ljava/util/List<Lorg/aspectj/weaver/patterns/NamePattern;>;
            2   59     2                    buf  Ljava/lang/StringBuffer;
            3   59     3               previous  Lorg/aspectj/weaver/patterns/IToken;
            4   59     4  justProcessedEllipsis  Z
            5   59     5       justProcessedDot  Z
            6   59     6                 onADot  Z
            7   57     7                    tok  Lorg/aspectj/weaver/patterns/IToken;
            8   57     8               startPos  I
            9   57     9               afterDot  Ljava/lang/String;
           23   30    10                      s  Ljava/lang/String;
           24   30    11                    dot  I
           33   57    10                 endPos  I
           45   48    11                    ret  Lorg/aspectj/weaver/patterns/NamePattern;
    Signature: ()Ljava/util/List<Lorg/aspectj/weaver/patterns/NamePattern;>;

  public java.lang.String parseAnnotationNameValuePattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1332
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 1335
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            pop
         2: .line 1336
            iconst_0
            istore 3 /* dotOK */
        start local 3 // boolean dotOK
         3: .line 1337
            iconst_0
            istore 4 /* depth */
        start local 4 // int depth
         4: .line 1339
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.StringBuffer top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* tok */
        start local 2 // org.aspectj.weaver.patterns.IToken tok
         5: .line 1341
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc ")"
            if_acmpne 7
            iload 4 /* depth */
            ifne 7
         6: .line 1342
            goto 29
         7: .line 1344
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.StringBuffer org.aspectj.weaver.patterns.IToken int int
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "!="
            if_acmpne 9
            iload 4 /* depth */
            ifne 9
         8: .line 1345
            goto 29
         9: .line 1347
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "="
            if_acmpne 11
            iload 4 /* depth */
            ifne 11
        10: .line 1348
            goto 29
        11: .line 1350
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc ","
            if_acmpne 13
            iload 4 /* depth */
            ifne 13
        12: .line 1351
            goto 29
        13: .line 1353
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            getstatic org.aspectj.weaver.patterns.IToken.EOF:Lorg/aspectj/weaver/patterns/IToken;
            if_acmpne 15
        14: .line 1354
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "eof"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        15: .line 1358
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "("
            if_acmpne 17
        16: .line 1359
            iinc 4 /* depth */ 1
        17: .line 1361
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc ")"
            if_acmpne 19
        18: .line 1362
            iinc 4 /* depth */ -1
        19: .line 1364
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "{"
            if_acmpne 21
        20: .line 1365
            iinc 4 /* depth */ 1
        21: .line 1367
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "}"
            if_acmpne 23
        22: .line 1368
            iinc 4 /* depth */ -1
        23: .line 1371
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "."
            if_acmpne 25
            iload 3 /* dotOK */
            ifne 25
        24: .line 1372
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "dot not expected"
            aload 2 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        25: .line 1374
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 2 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 1375
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
        27: .line 1376
            iconst_1
            istore 3 /* dotOK */
        end local 2 // org.aspectj.weaver.patterns.IToken tok
        28: .line 1338
            goto 4
        start local 2 // org.aspectj.weaver.patterns.IToken tok
        29: .line 1378
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // int depth
        end local 3 // boolean dotOK
        end local 2 // org.aspectj.weaver.patterns.IToken tok
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   30     0   this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   30     1    buf  Ljava/lang/StringBuffer;
            5   28     2    tok  Lorg/aspectj/weaver/patterns/IToken;
           29   30     2    tok  Lorg/aspectj/weaver/patterns/IToken;
            3   30     3  dotOK  Z
            4   30     4  depth  I

  public org.aspectj.weaver.patterns.NamePattern parseNamePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/NamePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1382
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 1383
            aconst_null
            astore 2 /* previous */
        start local 2 // org.aspectj.weaver.patterns.IToken previous
         2: .line 1385
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 4 /* startPos */
        start local 4 // int startPos
         3: .line 1387
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.StringBuffer org.aspectj.weaver.patterns.IToken top int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* tok */
        start local 3 // org.aspectj.weaver.patterns.IToken tok
         4: .line 1388
            aload 2 /* previous */
            ifnull 7
         5: .line 1389
            aload 0 /* this */
            aload 2 /* previous */
            aload 3 /* tok */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.isAdjacent:(Lorg/aspectj/weaver/patterns/IToken;Lorg/aspectj/weaver/patterns/IToken;)Z
            ifne 7
         6: .line 1390
            goto 17
         7: .line 1393
      StackMap locals: org.aspectj.weaver.patterns.PatternParser java.lang.StringBuffer org.aspectj.weaver.patterns.IToken org.aspectj.weaver.patterns.IToken int
      StackMap stack:
            aload 3 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "*"
            if_acmpeq 8
            aload 3 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 10
         8: .line 1394
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 3 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 1395
            goto 15
      StackMap locals:
      StackMap stack:
        10: aload 3 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            ifnull 17
        11: .line 1397
            aload 3 /* tok */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        12: .line 1398
            aload 5 /* s */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 14
        13: .line 1399
            goto 17
        14: .line 1401
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* buf */
            aload 5 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 5 // java.lang.String s
        15: .line 1405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* previous */
        end local 3 // org.aspectj.weaver.patterns.IToken tok
        16: .line 1386
            goto 3
        start local 3 // org.aspectj.weaver.patterns.IToken tok
        17: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 5 /* endPos */
        start local 5 // int endPos
        18: .line 1409
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 20
        19: .line 1410
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern"
            aload 3 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        20: .line 1413
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 2 /* previous */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.checkLegalName:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/IToken;)V
        21: .line 1414
            new org.aspectj.weaver.patterns.NamePattern
            dup
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.patterns.NamePattern.<init>:(Ljava/lang/String;)V
            astore 6 /* ret */
        start local 6 // org.aspectj.weaver.patterns.NamePattern ret
        22: .line 1415
            aload 6 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 4 /* startPos */
            iload 5 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.NamePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        23: .line 1416
            aload 6 /* ret */
            areturn
        end local 6 // org.aspectj.weaver.patterns.NamePattern ret
        end local 5 // int endPos
        end local 4 // int startPos
        end local 3 // org.aspectj.weaver.patterns.IToken tok
        end local 2 // org.aspectj.weaver.patterns.IToken previous
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   24     1       buf  Ljava/lang/StringBuffer;
            2   24     2  previous  Lorg/aspectj/weaver/patterns/IToken;
            4   16     3       tok  Lorg/aspectj/weaver/patterns/IToken;
           17   24     3       tok  Lorg/aspectj/weaver/patterns/IToken;
            3   24     4  startPos  I
           12   15     5         s  Ljava/lang/String;
           18   24     5    endPos  I
           22   24     6       ret  Lorg/aspectj/weaver/patterns/NamePattern;

  private void checkLegalName(java.lang.String, org.aspectj.weaver.patterns.IToken);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/patterns/IToken;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String s
        start local 2 // org.aspectj.weaver.patterns.IToken tok
         0: .line 1420
            aload 1 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         1: .line 1421
            iload 3 /* ch */
            bipush 42
            if_icmpeq 3
            iload 3 /* ch */
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifne 3
         2: .line 1422
            new org.aspectj.weaver.patterns.ParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal identifier start ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         3: .line 1425
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         4: aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 5 /* len */
        start local 5 // int len
         5: goto 10
         6: .line 1426
      StackMap locals: int int
      StackMap stack:
            aload 1 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
         7: .line 1427
            iload 3 /* ch */
            bipush 42
            if_icmpeq 9
            iload 3 /* ch */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifne 9
         8: .line 1428
            new org.aspectj.weaver.patterns.ParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal identifier character ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* tok */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         9: .line 1425
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 5 /* len */
            if_icmplt 6
        end local 5 // int len
        end local 4 // int i
        11: .line 1432
            return
        end local 3 // char ch
        end local 2 // org.aspectj.weaver.patterns.IToken tok
        end local 1 // java.lang.String s
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   12     1     s  Ljava/lang/String;
            0   12     2   tok  Lorg/aspectj/weaver/patterns/IToken;
            1   12     3    ch  C
            4   11     4     i  I
            5   11     5   len  I
    MethodParameters:
      Name  Flags
      s     
      tok   

  private boolean isAdjacent(org.aspectj.weaver.patterns.IToken, org.aspectj.weaver.patterns.IToken);
    descriptor: (Lorg/aspectj/weaver/patterns/IToken;Lorg/aspectj/weaver/patterns/IToken;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.patterns.IToken first
        start local 2 // org.aspectj.weaver.patterns.IToken second
         0: .line 1435
            aload 1 /* first */
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            aload 2 /* second */
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            iconst_1
            isub
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.IToken second
        end local 1 // org.aspectj.weaver.patterns.IToken first
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    2     1   first  Lorg/aspectj/weaver/patterns/IToken;
            0    2     2  second  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
        Name  Flags
      first   
      second  

  public org.aspectj.weaver.patterns.ModifiersPattern parseModifiersPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ModifiersPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1439
            iconst_0
            istore 1 /* requiredFlags */
        start local 1 // int requiredFlags
         1: .line 1440
            iconst_0
            istore 2 /* forbiddenFlags */
        start local 2 // int forbiddenFlags
         2: .line 1443
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 3 /* start */
        start local 3 // int start
         3: .line 1444
            iconst_0
            istore 4 /* isForbidden */
        start local 4 // boolean isForbidden
         4: .line 1445
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 4 /* isForbidden */
         5: .line 1446
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 5 /* t */
        start local 5 // org.aspectj.weaver.patterns.IToken t
         6: .line 1447
            aload 5 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokestatic org.aspectj.weaver.patterns.ModifiersPattern.getModifierFlag:(Ljava/lang/String;)I
            istore 6 /* flag */
        start local 6 // int flag
         7: .line 1448
            iload 6 /* flag */
            iconst_m1
            if_icmpne 9
         8: .line 1449
            goto 14
         9: .line 1451
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int int int int org.aspectj.weaver.patterns.IToken int
      StackMap stack:
            iload 4 /* isForbidden */
            ifeq 12
        10: .line 1452
            iload 2 /* forbiddenFlags */
            iload 6 /* flag */
            ior
            istore 2 /* forbiddenFlags */
        11: .line 1453
            goto 2
        12: .line 1454
      StackMap locals:
      StackMap stack:
            iload 1 /* requiredFlags */
            iload 6 /* flag */
            ior
            istore 1 /* requiredFlags */
        end local 6 // int flag
        end local 5 // org.aspectj.weaver.patterns.IToken t
        end local 4 // boolean isForbidden
        end local 3 // int start
        13: .line 1442
            goto 2
        start local 3 // int start
        14: .line 1458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 3 /* start */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        15: .line 1459
            iload 1 /* requiredFlags */
            ifne 17
            iload 2 /* forbiddenFlags */
            ifne 17
        16: .line 1460
            getstatic org.aspectj.weaver.patterns.ModifiersPattern.ANY:Lorg/aspectj/weaver/patterns/ModifiersPattern;
            areturn
        17: .line 1462
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ModifiersPattern
            dup
            iload 1 /* requiredFlags */
            iload 2 /* forbiddenFlags */
            invokespecial org.aspectj.weaver.patterns.ModifiersPattern.<init>:(II)V
            areturn
        end local 3 // int start
        end local 2 // int forbiddenFlags
        end local 1 // int requiredFlags
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   18     1   requiredFlags  I
            2   18     2  forbiddenFlags  I
            3   13     3           start  I
           14   18     3           start  I
            4   13     4     isForbidden  Z
            6   13     5               t  Lorg/aspectj/weaver/patterns/IToken;
            7   13     6            flag  I

  public org.aspectj.weaver.patterns.TypePatternList parseArgumentsPattern(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/TypePatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean parameterAnnotationsPossible
         0: .line 1467
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* patterns */
        start local 2 // java.util.List patterns
         1: .line 1468
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 1471
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1472
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:()V
            areturn
         4: .line 1476
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 1477
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 1478
            aload 2 /* patterns */
            getstatic org.aspectj.weaver.patterns.TypePattern.ELLIPSIS:Lorg/aspectj/weaver/patterns/TypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1479
            goto 9
         8: .line 1480
      StackMap locals:
      StackMap stack:
            aload 2 /* patterns */
            aload 0 /* this */
            iconst_0
            iload 1 /* parameterAnnotationsPossible */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 4
        10: .line 1483
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        11: .line 1484
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            aload 2 /* patterns */
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:(Ljava/util/List;)V
            areturn
        end local 2 // java.util.List patterns
        end local 1 // boolean parameterAnnotationsPossible
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   12     0                          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   12     1  parameterAnnotationsPossible  Z
            1   12     2                      patterns  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
    MethodParameters:
                              Name  Flags
      parameterAnnotationsPossible  

  public org.aspectj.weaver.patterns.AnnotationPatternList parseArgumentsAnnotationPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/AnnotationPatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1488
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* patterns */
        start local 1 // java.util.List patterns
         1: .line 1489
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         2: .line 1490
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1491
            new org.aspectj.weaver.patterns.AnnotationPatternList
            dup
            invokespecial org.aspectj.weaver.patterns.AnnotationPatternList.<init>:()V
            areturn
         4: .line 1495
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 1496
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         6: .line 1497
            aload 1 /* patterns */
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ELLIPSIS:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1498
            goto 12
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            ldc "*"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 1499
            aload 1 /* patterns */
            getstatic org.aspectj.weaver.patterns.AnnotationTypePattern.ANY:Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1500
            goto 12
        11: .line 1501
      StackMap locals:
      StackMap stack:
            aload 1 /* patterns */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseAnnotationNameOrVarTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 4
        13: .line 1504
            aload 0 /* this */
            ldc ")"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        14: .line 1505
            new org.aspectj.weaver.patterns.AnnotationPatternList
            dup
            aload 1 /* patterns */
            invokespecial org.aspectj.weaver.patterns.AnnotationPatternList.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List patterns
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   15     1  patterns  Ljava/util/List<Lorg/aspectj/weaver/patterns/AnnotationTypePattern;>;

  public org.aspectj.weaver.patterns.ThrowsPattern parseOptionalThrowsPattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ThrowsPattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1509
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* t */
        start local 1 // org.aspectj.weaver.patterns.IToken t
         1: .line 1510
            aload 1 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 13
            aload 1 /* t */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "throws"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         2: .line 1511
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         3: .line 1512
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* required */
        start local 2 // java.util.List required
         4: .line 1513
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* forbidden */
        start local 3 // java.util.List forbidden
         5: .line 1515
      StackMap locals: org.aspectj.weaver.patterns.IToken java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 4 /* isForbidden */
        start local 4 // boolean isForbidden
         6: .line 1517
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* p */
        start local 5 // org.aspectj.weaver.patterns.TypePattern p
         7: .line 1518
            iload 4 /* isForbidden */
            ifeq 10
         8: .line 1519
            aload 3 /* forbidden */
            aload 5 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1520
            goto 11
        10: .line 1521
      StackMap locals: int org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 2 /* required */
            aload 5 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.aspectj.weaver.patterns.TypePattern p
        end local 4 // boolean isForbidden
        11: .line 1523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 5
        12: .line 1524
            new org.aspectj.weaver.patterns.ThrowsPattern
            dup
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            aload 2 /* required */
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:(Ljava/util/List;)V
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            aload 3 /* forbidden */
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:(Ljava/util/List;)V
            invokespecial org.aspectj.weaver.patterns.ThrowsPattern.<init>:(Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/TypePatternList;)V
            areturn
        end local 3 // java.util.List forbidden
        end local 2 // java.util.List required
        13: .line 1526
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            areturn
        end local 1 // org.aspectj.weaver.patterns.IToken t
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   14     1            t  Lorg/aspectj/weaver/patterns/IToken;
            4   13     2     required  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
            5   13     3    forbidden  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
            6   11     4  isForbidden  Z
            7   11     5            p  Lorg/aspectj/weaver/patterns/TypePattern;

  public org.aspectj.weaver.patterns.SignaturePattern parseMethodOrConstructorSignaturePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=12, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1530
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 1531
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 2 /* annotationPattern */
        start local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
         2: .line 1532
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseModifiersPattern:()Lorg/aspectj/weaver/patterns/ModifiersPattern;
            astore 3 /* modifiers */
        start local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
         3: .line 1533
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* returnType */
        start local 4 // org.aspectj.weaver.patterns.TypePattern returnType
         4: .line 1536
            aconst_null
            astore 6 /* name */
        start local 6 // org.aspectj.weaver.patterns.NamePattern name
         5: .line 1539
            aload 0 /* this */
            aload 4 /* returnType */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatNew:(Lorg/aspectj/weaver/patterns/TypePattern;)Z
            ifeq 14
         6: .line 1540
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            astore 7 /* kind */
        start local 7 // org.aspectj.weaver.MemberKind kind
         7: .line 1541
            aload 4 /* returnType */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 10
         8: .line 1542
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        start local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
         9: .line 1543
            goto 11
        end local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        10: .line 1544
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern top org.aspectj.weaver.patterns.NamePattern org.aspectj.weaver.MemberKind
      StackMap stack:
            aload 4 /* returnType */
            astore 5 /* declaringType */
        start local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        11: .line 1546
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.NamePattern org.aspectj.weaver.MemberKind
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* returnType */
        12: .line 1547
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        13: .line 1548
            goto 29
        end local 7 // org.aspectj.weaver.MemberKind kind
        end local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        14: .line 1549
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern top org.aspectj.weaver.patterns.NamePattern
      StackMap stack:
            getstatic org.aspectj.weaver.Member.METHOD:Lorg/aspectj/weaver/MemberKind;
            astore 7 /* kind */
        start local 7 // org.aspectj.weaver.MemberKind kind
        15: .line 1550
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 8 /* nameToken */
        start local 8 // org.aspectj.weaver.patterns.IToken nameToken
        16: .line 1551
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        start local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        17: .line 1552
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 1553
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 8 /* nameToken */
        19: .line 1554
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNamePattern:()Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        20: .line 1555
            goto 24
        21: .line 1556
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.NamePattern org.aspectj.weaver.MemberKind org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aload 0 /* this */
            aload 5 /* declaringType */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.tryToExtractName:(Lorg/aspectj/weaver/patterns/TypePattern;)Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        22: .line 1557
            aload 5 /* declaringType */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 1558
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        24: .line 1561
      StackMap locals:
      StackMap stack:
            aload 6 /* name */
            ifnonnull 26
        25: .line 1562
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        26: .line 1564
      StackMap locals:
      StackMap stack:
            aload 6 /* name */
            invokevirtual org.aspectj.weaver.patterns.NamePattern.maybeGetSimpleName:()Ljava/lang/String;
            astore 9 /* simpleName */
        start local 9 // java.lang.String simpleName
        27: .line 1566
            aload 9 /* simpleName */
            ifnull 29
            aload 9 /* simpleName */
            ldc "new"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 1567
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "method name (not constructor)"
            aload 8 /* nameToken */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 9 // java.lang.String simpleName
        end local 8 // org.aspectj.weaver.patterns.IToken nameToken
        29: .line 1571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseArgumentsPattern:(Z)Lorg/aspectj/weaver/patterns/TypePatternList;
            astore 8 /* parameterTypes */
        start local 8 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
        30: .line 1573
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseOptionalThrowsPattern:()Lorg/aspectj/weaver/patterns/ThrowsPattern;
            astore 9 /* throwsPattern */
        start local 9 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
        31: .line 1574
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            aload 7 /* kind */
            aload 3 /* modifiers */
            aload 4 /* returnType */
            aload 5 /* declaringType */
            aload 6 /* name */
            aload 8 /* parameterTypes */
        32: .line 1575
            aload 9 /* throwsPattern */
            aload 2 /* annotationPattern */
        33: .line 1574
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 10 /* ret */
        start local 10 // org.aspectj.weaver.patterns.SignaturePattern ret
        34: .line 1576
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 11 /* endPos */
        start local 11 // int endPos
        35: .line 1577
            aload 10 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 11 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        36: .line 1578
            aload 10 /* ret */
            areturn
        end local 11 // int endPos
        end local 10 // org.aspectj.weaver.patterns.SignaturePattern ret
        end local 9 // org.aspectj.weaver.patterns.ThrowsPattern throwsPattern
        end local 8 // org.aspectj.weaver.patterns.TypePatternList parameterTypes
        end local 7 // org.aspectj.weaver.MemberKind kind
        end local 6 // org.aspectj.weaver.patterns.NamePattern name
        end local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        end local 4 // org.aspectj.weaver.patterns.TypePattern returnType
        end local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
        end local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   37     0               this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   37     1           startPos  I
            2   37     2  annotationPattern  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            3   37     3          modifiers  Lorg/aspectj/weaver/patterns/ModifiersPattern;
            4   37     4         returnType  Lorg/aspectj/weaver/patterns/TypePattern;
            9   10     5      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
           11   14     5      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
           17   37     5      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
            5   37     6               name  Lorg/aspectj/weaver/patterns/NamePattern;
            7   14     7               kind  Lorg/aspectj/weaver/MemberKind;
           15   37     7               kind  Lorg/aspectj/weaver/MemberKind;
           16   29     8          nameToken  Lorg/aspectj/weaver/patterns/IToken;
           27   29     9         simpleName  Ljava/lang/String;
           30   37     8     parameterTypes  Lorg/aspectj/weaver/patterns/TypePatternList;
           31   37     9      throwsPattern  Lorg/aspectj/weaver/patterns/ThrowsPattern;
           34   37    10                ret  Lorg/aspectj/weaver/patterns/SignaturePattern;
           35   37    11             endPos  I

  private boolean maybeEatNew(org.aspectj.weaver.patterns.TypePattern);
    descriptor: (Lorg/aspectj/weaver/patterns/TypePattern;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.patterns.TypePattern returnType
         0: .line 1582
            aload 1 /* returnType */
            instanceof org.aspectj.weaver.patterns.WildTypePattern
            ifeq 4
         1: .line 1583
            aload 1 /* returnType */
            checkcast org.aspectj.weaver.patterns.WildTypePattern
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.WildTypePattern p
         2: .line 1584
            aload 2 /* p */
            ldc "new"
            invokevirtual org.aspectj.weaver.patterns.WildTypePattern.maybeExtractName:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1585
            iconst_1
            ireturn
        end local 2 // org.aspectj.weaver.patterns.WildTypePattern p
         4: .line 1588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 2 /* start */
        start local 2 // int start
         5: .line 1589
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 1590
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         7: .line 1591
            aload 3 /* id */
            ifnull 9
            aload 3 /* id */
            ldc "new"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1592
            iconst_1
            ireturn
         9: .line 1594
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 2 /* start */
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        end local 3 // java.lang.String id
        10: .line 1597
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int start
        end local 1 // org.aspectj.weaver.patterns.TypePattern returnType
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   11     1  returnType  Lorg/aspectj/weaver/patterns/TypePattern;
            2    4     2           p  Lorg/aspectj/weaver/patterns/WildTypePattern;
            5   11     2       start  I
            7   10     3          id  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      returnType  

  public org.aspectj.weaver.patterns.ISignaturePattern parseMaybeParenthesizedFieldSignaturePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1601
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "!"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "("
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* negated */
        start local 1 // boolean negated
         3: .line 1602
            iload 1 /* negated */
            ifeq 5
         4: .line 1603
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         5: .line 1605
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 2 /* result */
        start local 2 // org.aspectj.weaver.patterns.ISignaturePattern result
         6: .line 1606
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 12
         7: .line 1607
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCompoundFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 2 /* result */
         8: .line 1608
            aload 0 /* this */
            ldc ")"
            ldc "missing ')' - unbalanced parentheses around field signature pattern in declare @field"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 1609
            iload 1 /* negated */
            ifeq 13
        10: .line 1610
            new org.aspectj.weaver.patterns.NotSignaturePattern
            dup
            aload 2 /* result */
            invokespecial org.aspectj.weaver.patterns.NotSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 2 /* result */
        11: .line 1612
            goto 13
        12: .line 1613
      StackMap locals: org.aspectj.weaver.patterns.ISignaturePattern
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseFieldSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 2 /* result */
        13: .line 1615
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.aspectj.weaver.patterns.ISignaturePattern result
        end local 1 // boolean negated
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/aspectj/weaver/patterns/PatternParser;
            3   14     1  negated  Z
            6   14     2   result  Lorg/aspectj/weaver/patterns/ISignaturePattern;

  public org.aspectj.weaver.patterns.ISignaturePattern parseMaybeParenthesizedMethodOrConstructorSignaturePattern(boolean);
    descriptor: (Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean isMethod
         0: .line 1619
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "!"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc "("
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* negated */
        start local 2 // boolean negated
         3: .line 1620
            iload 2 /* negated */
            ifeq 5
         4: .line 1621
            aload 0 /* this */
            ldc "!"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         5: .line 1623
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 3 /* result */
        start local 3 // org.aspectj.weaver.patterns.ISignaturePattern result
         6: .line 1624
            aload 0 /* this */
            ldc "("
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 12
         7: .line 1625
            aload 0 /* this */
            iload 1 /* isMethod */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseCompoundMethodOrConstructorSignaturePattern:(Z)Lorg/aspectj/weaver/patterns/ISignaturePattern;
            astore 3 /* result */
         8: .line 1626
            aload 0 /* this */
            ldc ")"
            ldc "missing ')' - unbalanced parentheses around method/ctor signature pattern in declare annotation"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 1627
            iload 2 /* negated */
            ifeq 21
        10: .line 1628
            new org.aspectj.weaver.patterns.NotSignaturePattern
            dup
            aload 3 /* result */
            invokespecial org.aspectj.weaver.patterns.NotSignaturePattern.<init>:(Lorg/aspectj/weaver/patterns/ISignaturePattern;)V
            astore 3 /* result */
        11: .line 1630
            goto 21
        12: .line 1631
      StackMap locals: org.aspectj.weaver.patterns.ISignaturePattern
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseMethodOrConstructorSignaturePattern:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 4 /* sp */
        start local 4 // org.aspectj.weaver.patterns.SignaturePattern sp
        13: .line 1632
            aload 4 /* sp */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getKind:()Lorg/aspectj/weaver/MemberKind;
            getstatic org.aspectj.weaver.Member.CONSTRUCTOR:Lorg/aspectj/weaver/MemberKind;
            if_acmpne 14
            iconst_1
            goto 15
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 5 /* isConstructorPattern */
        start local 5 // boolean isConstructorPattern
        16: .line 1633
            iload 1 /* isMethod */
            ifeq 18
            iload 5 /* isConstructorPattern */
            ifeq 18
        17: .line 1634
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "method signature pattern"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        18: .line 1636
      StackMap locals: int
      StackMap stack:
            iload 1 /* isMethod */
            ifne 20
            iload 5 /* isConstructorPattern */
            ifne 20
        19: .line 1637
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "constructor signature pattern"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        20: .line 1639
      StackMap locals:
      StackMap stack:
            aload 4 /* sp */
            astore 3 /* result */
        end local 5 // boolean isConstructorPattern
        end local 4 // org.aspectj.weaver.patterns.SignaturePattern sp
        21: .line 1642
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.aspectj.weaver.patterns.ISignaturePattern result
        end local 2 // boolean negated
        end local 1 // boolean isMethod
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0                  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   22     1              isMethod  Z
            3   22     2               negated  Z
            6   22     3                result  Lorg/aspectj/weaver/patterns/ISignaturePattern;
           13   21     4                    sp  Lorg/aspectj/weaver/patterns/SignaturePattern;
           16   21     5  isConstructorPattern  Z
    MethodParameters:
          Name  Flags
      isMethod  

  public org.aspectj.weaver.patterns.SignaturePattern parseFieldSignaturePattern();
    descriptor: ()Lorg/aspectj/weaver/patterns/SignaturePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1646
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            istore 1 /* startPos */
        start local 1 // int startPos
         1: .line 1650
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseAnnotationPattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            astore 2 /* annotationPattern */
        start local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
         2: .line 1651
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseModifiersPattern:()Lorg/aspectj/weaver/patterns/ModifiersPattern;
            astore 3 /* modifiers */
        start local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
         3: .line 1652
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* returnType */
        start local 4 // org.aspectj.weaver.patterns.TypePattern returnType
         4: .line 1653
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        start local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
         5: .line 1656
            aload 0 /* this */
            ldc "."
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 1657
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseNamePattern:()Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        start local 6 // org.aspectj.weaver.patterns.NamePattern name
         7: .line 1658
            goto 13
        end local 6 // org.aspectj.weaver.patterns.NamePattern name
         8: .line 1659
      StackMap locals: org.aspectj.weaver.patterns.PatternParser int org.aspectj.weaver.patterns.AnnotationTypePattern org.aspectj.weaver.patterns.ModifiersPattern org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern
      StackMap stack:
            aload 0 /* this */
            aload 5 /* declaringType */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.tryToExtractName:(Lorg/aspectj/weaver/patterns/TypePattern;)Lorg/aspectj/weaver/patterns/NamePattern;
            astore 6 /* name */
        start local 6 // org.aspectj.weaver.patterns.NamePattern name
         9: .line 1660
            aload 6 /* name */
            ifnonnull 11
        10: .line 1661
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "name pattern"
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        11: .line 1663
      StackMap locals: org.aspectj.weaver.patterns.NamePattern
      StackMap stack:
            aload 5 /* declaringType */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1664
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            astore 5 /* declaringType */
        13: .line 1667
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.SignaturePattern
            dup
            getstatic org.aspectj.weaver.Member.FIELD:Lorg/aspectj/weaver/MemberKind;
            aload 3 /* modifiers */
            aload 4 /* returnType */
            aload 5 /* declaringType */
            aload 6 /* name */
            getstatic org.aspectj.weaver.patterns.TypePatternList.ANY:Lorg/aspectj/weaver/patterns/TypePatternList;
        14: .line 1668
            getstatic org.aspectj.weaver.patterns.ThrowsPattern.ANY:Lorg/aspectj/weaver/patterns/ThrowsPattern;
            aload 2 /* annotationPattern */
        15: .line 1667
            invokespecial org.aspectj.weaver.patterns.SignaturePattern.<init>:(Lorg/aspectj/weaver/MemberKind;Lorg/aspectj/weaver/patterns/ModifiersPattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/NamePattern;Lorg/aspectj/weaver/patterns/TypePatternList;Lorg/aspectj/weaver/patterns/ThrowsPattern;Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            astore 7 /* ret */
        start local 7 // org.aspectj.weaver.patterns.SignaturePattern ret
        16: .line 1670
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
            istore 8 /* endPos */
        start local 8 // int endPos
        17: .line 1671
            aload 7 /* ret */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.sourceContext:Lorg/aspectj/weaver/ISourceContext;
            iload 1 /* startPos */
            iload 8 /* endPos */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.setLocation:(Lorg/aspectj/weaver/ISourceContext;II)V
        18: .line 1672
            aload 7 /* ret */
            areturn
        end local 8 // int endPos
        end local 7 // org.aspectj.weaver.patterns.SignaturePattern ret
        end local 6 // org.aspectj.weaver.patterns.NamePattern name
        end local 5 // org.aspectj.weaver.patterns.TypePattern declaringType
        end local 4 // org.aspectj.weaver.patterns.TypePattern returnType
        end local 3 // org.aspectj.weaver.patterns.ModifiersPattern modifiers
        end local 2 // org.aspectj.weaver.patterns.AnnotationTypePattern annotationPattern
        end local 1 // int startPos
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   19     1           startPos  I
            2   19     2  annotationPattern  Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            3   19     3          modifiers  Lorg/aspectj/weaver/patterns/ModifiersPattern;
            4   19     4         returnType  Lorg/aspectj/weaver/patterns/TypePattern;
            5   19     5      declaringType  Lorg/aspectj/weaver/patterns/TypePattern;
            7    8     6               name  Lorg/aspectj/weaver/patterns/NamePattern;
            9   19     6               name  Lorg/aspectj/weaver/patterns/NamePattern;
           16   19     7                ret  Lorg/aspectj/weaver/patterns/SignaturePattern;
           17   19     8             endPos  I

  private org.aspectj.weaver.patterns.NamePattern tryToExtractName(org.aspectj.weaver.patterns.TypePattern);
    descriptor: (Lorg/aspectj/weaver/patterns/TypePattern;)Lorg/aspectj/weaver/patterns/NamePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // org.aspectj.weaver.patterns.TypePattern nextType
         0: .line 1676
            aload 1 /* nextType */
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            if_acmpne 2
         1: .line 1677
            getstatic org.aspectj.weaver.patterns.NamePattern.ANY:Lorg/aspectj/weaver/patterns/NamePattern;
            areturn
         2: .line 1678
      StackMap locals:
      StackMap stack:
            aload 1 /* nextType */
            instanceof org.aspectj.weaver.patterns.WildTypePattern
            ifeq 5
         3: .line 1679
            aload 1 /* nextType */
            checkcast org.aspectj.weaver.patterns.WildTypePattern
            astore 2 /* p */
        start local 2 // org.aspectj.weaver.patterns.WildTypePattern p
         4: .line 1680
            aload 2 /* p */
            invokevirtual org.aspectj.weaver.patterns.WildTypePattern.extractName:()Lorg/aspectj/weaver/patterns/NamePattern;
            areturn
        end local 2 // org.aspectj.weaver.patterns.WildTypePattern p
         5: .line 1682
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.aspectj.weaver.patterns.TypePattern nextType
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    6     1  nextType  Lorg/aspectj/weaver/patterns/TypePattern;
            4    5     2         p  Lorg/aspectj/weaver/patterns/WildTypePattern;
    MethodParameters:
          Name  Flags
      nextType  

  public org.aspectj.weaver.patterns.TypeVariablePatternList maybeParseTypeVariableList();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypeVariablePatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1694
            aload 0 /* this */
            ldc "<"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1695
            aconst_null
            areturn
         2: .line 1697
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* typeVars */
        start local 1 // java.util.List typeVars
         3: .line 1698
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypeVariable:()Lorg/aspectj/weaver/patterns/TypeVariablePattern;
            astore 2 /* t */
        start local 2 // org.aspectj.weaver.patterns.TypeVariablePattern t
         4: .line 1699
            aload 1 /* typeVars */
            aload 2 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1700
            goto 8
         6: .line 1701
      StackMap locals: java.util.List org.aspectj.weaver.patterns.TypeVariablePattern
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypeVariable:()Lorg/aspectj/weaver/patterns/TypeVariablePattern;
            astore 3 /* nextT */
        start local 3 // org.aspectj.weaver.patterns.TypeVariablePattern nextT
         7: .line 1702
            aload 1 /* typeVars */
            aload 3 /* nextT */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.aspectj.weaver.patterns.TypeVariablePattern nextT
         8: .line 1700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 6
         9: .line 1704
            aload 0 /* this */
            ldc ">"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
        10: .line 1705
            aload 1 /* typeVars */
            invokeinterface java.util.List.size:()I
            anewarray org.aspectj.weaver.patterns.TypeVariablePattern
            astore 3 /* tvs */
        start local 3 // org.aspectj.weaver.patterns.TypeVariablePattern[] tvs
        11: .line 1706
            aload 1 /* typeVars */
            aload 3 /* tvs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        12: .line 1707
            new org.aspectj.weaver.patterns.TypeVariablePatternList
            dup
            aload 3 /* tvs */
            invokespecial org.aspectj.weaver.patterns.TypeVariablePatternList.<init>:([Lorg/aspectj/weaver/patterns/TypeVariablePattern;)V
            areturn
        end local 3 // org.aspectj.weaver.patterns.TypeVariablePattern[] tvs
        end local 2 // org.aspectj.weaver.patterns.TypeVariablePattern t
        end local 1 // java.util.List typeVars
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            3   13     1  typeVars  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypeVariablePattern;>;
            4   13     2         t  Lorg/aspectj/weaver/patterns/TypeVariablePattern;
            7    8     3     nextT  Lorg/aspectj/weaver/patterns/TypeVariablePattern;
           11   13     3       tvs  [Lorg/aspectj/weaver/patterns/TypeVariablePattern;

  public java.lang.String[] maybeParseSimpleTypeVariableList();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1712
            aload 0 /* this */
            ldc "<"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1713
            aconst_null
            areturn
         2: .line 1715
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* typeVarNames */
        start local 1 // java.util.List typeVarNames
         3: .line 1717
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* typeVarNames */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1718
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 3
         5: .line 1719
            aload 0 /* this */
            ldc ">"
            ldc "',' or '>'"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1720
            aload 1 /* typeVarNames */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 2 /* tvs */
        start local 2 // java.lang.String[] tvs
         7: .line 1721
            aload 1 /* typeVarNames */
            aload 2 /* tvs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         8: .line 1722
            aload 2 /* tvs */
            areturn
        end local 2 // java.lang.String[] tvs
        end local 1 // java.util.List typeVarNames
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/aspectj/weaver/patterns/PatternParser;
            3    9     1  typeVarNames  Ljava/util/List<Ljava/lang/String;>;
            7    9     2           tvs  [Ljava/lang/String;

  public org.aspectj.weaver.patterns.TypePatternList maybeParseTypeParameterList();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypePatternList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1726
            aload 0 /* this */
            ldc "<"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1727
            aconst_null
            areturn
         2: .line 1729
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* typePats */
        start local 1 // java.util.List typePats
         3: .line 1731
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iconst_0
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:(ZZ)Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* tp */
        start local 2 // org.aspectj.weaver.patterns.TypePattern tp
         4: .line 1732
            aload 1 /* typePats */
            aload 2 /* tp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.aspectj.weaver.patterns.TypePattern tp
         5: .line 1733
            aload 0 /* this */
            ldc ","
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 3
         6: .line 1734
            aload 0 /* this */
            ldc ">"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;)V
         7: .line 1735
            aload 1 /* typePats */
            invokeinterface java.util.List.size:()I
            anewarray org.aspectj.weaver.patterns.TypePattern
            astore 2 /* tps */
        start local 2 // org.aspectj.weaver.patterns.TypePattern[] tps
         8: .line 1736
            aload 1 /* typePats */
            aload 2 /* tps */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         9: .line 1737
            new org.aspectj.weaver.patterns.TypePatternList
            dup
            aload 2 /* tps */
            invokespecial org.aspectj.weaver.patterns.TypePatternList.<init>:([Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.TypePattern[] tps
        end local 1 // java.util.List typePats
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/aspectj/weaver/patterns/PatternParser;
            3   10     1  typePats  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
            4    5     2        tp  Lorg/aspectj/weaver/patterns/TypePattern;
            8   10     2       tps  [Lorg/aspectj/weaver/patterns/TypePattern;

  public org.aspectj.weaver.patterns.TypeVariablePattern parseTypeVariable();
    descriptor: ()Lorg/aspectj/weaver/patterns/TypeVariablePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1741
            aconst_null
            astore 1 /* upperBound */
        start local 1 // org.aspectj.weaver.patterns.TypePattern upperBound
         1: .line 1742
            aconst_null
            astore 2 /* additionalInterfaceBounds */
        start local 2 // org.aspectj.weaver.patterns.TypePattern[] additionalInterfaceBounds
         2: .line 1743
            aconst_null
            astore 3 /* lowerBound */
        start local 3 // org.aspectj.weaver.patterns.TypePattern lowerBound
         3: .line 1744
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseIdentifier:()Ljava/lang/String;
            astore 4 /* typeVariableName */
        start local 4 // java.lang.String typeVariableName
         4: .line 1745
            aload 0 /* this */
            ldc "extends"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 1746
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 1 /* upperBound */
         6: .line 1747
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeParseAdditionalInterfaceBounds:()[Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* additionalInterfaceBounds */
         7: .line 1748
            goto 10
      StackMap locals: org.aspectj.weaver.patterns.PatternParser org.aspectj.weaver.patterns.TypePattern org.aspectj.weaver.patterns.TypePattern[] org.aspectj.weaver.patterns.TypePattern java.lang.String
      StackMap stack:
         8: aload 0 /* this */
            ldc "super"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEatIdentifier:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 1749
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 3 /* lowerBound */
        10: .line 1751
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.TypeVariablePattern
            dup
            aload 4 /* typeVariableName */
            aload 1 /* upperBound */
            aload 2 /* additionalInterfaceBounds */
            aload 3 /* lowerBound */
            invokespecial org.aspectj.weaver.patterns.TypeVariablePattern.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/patterns/TypePattern;[Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 4 // java.lang.String typeVariableName
        end local 3 // org.aspectj.weaver.patterns.TypePattern lowerBound
        end local 2 // org.aspectj.weaver.patterns.TypePattern[] additionalInterfaceBounds
        end local 1 // org.aspectj.weaver.patterns.TypePattern upperBound
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   11     0                       this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   11     1                 upperBound  Lorg/aspectj/weaver/patterns/TypePattern;
            2   11     2  additionalInterfaceBounds  [Lorg/aspectj/weaver/patterns/TypePattern;
            3   11     3                 lowerBound  Lorg/aspectj/weaver/patterns/TypePattern;
            4   11     4           typeVariableName  Ljava/lang/String;

  private org.aspectj.weaver.patterns.TypePattern[] maybeParseAdditionalInterfaceBounds();
    descriptor: ()[Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1755
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* boundsList */
        start local 1 // java.util.List boundsList
         1: .line 1756
            goto 4
         2: .line 1757
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 2 /* tp */
        start local 2 // org.aspectj.weaver.patterns.TypePattern tp
         3: .line 1758
            aload 1 /* boundsList */
            aload 2 /* tp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.aspectj.weaver.patterns.TypePattern tp
         4: .line 1756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "&"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            ifne 2
         5: .line 1760
            aload 1 /* boundsList */
            invokeinterface java.util.List.size:()I
            ifne 7
         6: .line 1761
            aconst_null
            areturn
         7: .line 1763
      StackMap locals:
      StackMap stack:
            aload 1 /* boundsList */
            invokeinterface java.util.List.size:()I
            anewarray org.aspectj.weaver.patterns.TypePattern
            astore 2 /* ret */
        start local 2 // org.aspectj.weaver.patterns.TypePattern[] ret
         8: .line 1764
            aload 1 /* boundsList */
            aload 2 /* ret */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         9: .line 1765
            aload 2 /* ret */
            areturn
        end local 2 // org.aspectj.weaver.patterns.TypePattern[] ret
        end local 1 // java.util.List boundsList
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/aspectj/weaver/patterns/PatternParser;
            1   10     1  boundsList  Ljava/util/List<Lorg/aspectj/weaver/patterns/TypePattern;>;
            3    4     2          tp  Lorg/aspectj/weaver/patterns/TypePattern;
            8   10     2         ret  [Lorg/aspectj/weaver/patterns/TypePattern;

  public java.lang.String parsePossibleStringSequence(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // boolean shouldEnd
         0: .line 1769
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuffer result
         1: .line 1771
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* token */
        start local 3 // org.aspectj.weaver.patterns.IToken token
         2: .line 1772
            aload 3 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            ifnonnull 11
         3: .line 1773
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "string"
            aload 3 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         4: .line 1776
      StackMap locals: java.lang.StringBuffer org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aload 2 /* result */
            aload 3 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 1777
            aload 0 /* this */
            ldc "+"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.maybeEat:(Ljava/lang/String;)Z
            istore 4 /* plus */
        start local 4 // boolean plus
         6: .line 1778
            iload 4 /* plus */
            ifne 8
         7: .line 1779
            goto 12
         8: .line 1781
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* token */
         9: .line 1782
            aload 3 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            ifnonnull 11
        10: .line 1783
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "string"
            aload 3 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 4 // boolean plus
        11: .line 1775
      StackMap locals:
      StackMap stack:
            aload 3 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            ldc "string"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
        12: .line 1786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eatIdentifier:(Ljava/lang/String;)V
        13: .line 1787
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 4 /* t */
        start local 4 // org.aspectj.weaver.patterns.IToken t
        14: .line 1788
            iload 1 /* shouldEnd */
            ifeq 16
            aload 4 /* t */
            getstatic org.aspectj.weaver.patterns.IToken.EOF:Lorg/aspectj/weaver/patterns/IToken;
            if_acmpeq 16
        15: .line 1789
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "<string>;"
            aload 3 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        16: .line 1793
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.getIndex:()I
            istore 5 /* currentIndex */
        start local 5 // int currentIndex
        17: .line 1794
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iload 5 /* currentIndex */
            iconst_1
            isub
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.setIndex:(I)V
        18: .line 1796
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 5 // int currentIndex
        end local 4 // org.aspectj.weaver.patterns.IToken t
        end local 3 // org.aspectj.weaver.patterns.IToken token
        end local 2 // java.lang.StringBuffer result
        end local 1 // boolean shouldEnd
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/aspectj/weaver/patterns/PatternParser;
            0   19     1     shouldEnd  Z
            1   19     2        result  Ljava/lang/StringBuffer;
            2   19     3         token  Lorg/aspectj/weaver/patterns/IToken;
            6   11     4          plus  Z
           14   19     4             t  Lorg/aspectj/weaver/patterns/IToken;
           17   19     5  currentIndex  I
    MethodParameters:
           Name  Flags
      shouldEnd  

  public java.lang.String parseStringLiteral();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1801
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* token */
        start local 1 // org.aspectj.weaver.patterns.IToken token
         1: .line 1802
            aload 1 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getLiteralKind:()Ljava/lang/String;
            astore 2 /* literalKind */
        start local 2 // java.lang.String literalKind
         2: .line 1803
            aload 2 /* literalKind */
            ldc "string"
            if_acmpne 4
         3: .line 1804
            aload 1 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            areturn
         4: .line 1807
      StackMap locals: org.aspectj.weaver.patterns.IToken java.lang.String
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "string"
            aload 1 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 2 // java.lang.String literalKind
        end local 1 // org.aspectj.weaver.patterns.IToken token
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    5     1        token  Lorg/aspectj/weaver/patterns/IToken;
            2    5     2  literalKind  Ljava/lang/String;

  public java.lang.String parseIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1811
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* token */
        start local 1 // org.aspectj.weaver.patterns.IToken token
         1: .line 1812
            aload 1 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 3
         2: .line 1813
            aload 1 /* token */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            areturn
         3: .line 1815
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            ldc "identifier"
            aload 1 /* token */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 1 // org.aspectj.weaver.patterns.IToken token
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1  token  Lorg/aspectj/weaver/patterns/IToken;

  public void eatIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String expectedValue
         0: .line 1819
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* next */
        start local 2 // org.aspectj.weaver.patterns.IToken next
         1: .line 1820
            aload 2 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* expectedValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 1821
            new org.aspectj.weaver.patterns.ParserException
            dup
            aload 1 /* expectedValue */
            aload 2 /* next */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         3: .line 1823
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            return
        end local 2 // org.aspectj.weaver.patterns.IToken next
        end local 1 // java.lang.String expectedValue
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    4     1  expectedValue  Ljava/lang/String;
            1    4     2           next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
               Name  Flags
      expectedValue  

  public boolean maybeEatIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String expectedValue
         0: .line 1826
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* next */
        start local 2 // org.aspectj.weaver.patterns.IToken next
         1: .line 1827
            aload 2 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* expectedValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 1828
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         3: .line 1829
            iconst_1
            ireturn
         4: .line 1831
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.IToken next
        end local 1 // java.lang.String expectedValue
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    5     1  expectedValue  Ljava/lang/String;
            1    5     2           next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
               Name  Flags
      expectedValue  

  public void eat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String expectedValue
         0: .line 1836
            aload 0 /* this */
            aload 1 /* expectedValue */
            aload 1 /* expectedValue */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.eat:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 1837
            return
        end local 1 // java.lang.String expectedValue
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    2     1  expectedValue  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      expectedValue  

  private void eat(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String expectedValue
        start local 2 // java.lang.String expectedMessage
         0: .line 1840
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.nextToken:()Lorg/aspectj/weaver/patterns/IToken;
            astore 3 /* next */
        start local 3 // org.aspectj.weaver.patterns.IToken next
         1: .line 1841
            aload 3 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* expectedValue */
            if_acmpeq 8
         2: .line 1842
            aload 1 /* expectedValue */
            ldc ">"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 3 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            ldc ">"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         3: .line 1844
            aload 0 /* this */
            aload 3 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            ldc "string"
            aload 3 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getStart:()I
            iconst_1
            iadd
         4: .line 1845
            aload 3 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getEnd:()I
         5: .line 1844
            invokestatic org.aspectj.weaver.patterns.BasicToken.makeLiteral:(Ljava/lang/String;Ljava/lang/String;II)Lorg/aspectj/weaver/patterns/BasicToken;
            putfield org.aspectj.weaver.patterns.PatternParser.pendingRightArrows:Lorg/aspectj/weaver/patterns/IToken;
         6: .line 1846
            return
         7: .line 1848
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            aload 2 /* expectedMessage */
            aload 3 /* next */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         8: .line 1850
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.aspectj.weaver.patterns.IToken next
        end local 2 // java.lang.String expectedMessage
        end local 1 // java.lang.String expectedValue
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    9     1    expectedValue  Ljava/lang/String;
            0    9     2  expectedMessage  Ljava/lang/String;
            1    9     3             next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
                 Name  Flags
      expectedValue    
      expectedMessage  

  private org.aspectj.weaver.patterns.IToken nextToken();
    descriptor: ()Lorg/aspectj/weaver/patterns/IToken;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1855
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.pendingRightArrows:Lorg/aspectj/weaver/patterns/IToken;
            ifnull 4
         1: .line 1856
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.pendingRightArrows:Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* ret */
        start local 1 // org.aspectj.weaver.patterns.IToken ret
         2: .line 1857
            aload 0 /* this */
            aconst_null
            putfield org.aspectj.weaver.patterns.PatternParser.pendingRightArrows:Lorg/aspectj/weaver/patterns/IToken;
         3: .line 1858
            aload 1 /* ret */
            areturn
        end local 1 // org.aspectj.weaver.patterns.IToken ret
         4: .line 1860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            areturn
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            2    4     1   ret  Lorg/aspectj/weaver/patterns/IToken;

  public boolean maybeEatAdjacent(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String token
         0: .line 1865
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* next */
        start local 2 // org.aspectj.weaver.patterns.IToken next
         1: .line 1866
            aload 2 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* token */
            if_acmpne 5
         2: .line 1867
            aload 0 /* this */
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            iconst_m1
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:(I)Lorg/aspectj/weaver/patterns/IToken;
            aload 2 /* next */
            invokevirtual org.aspectj.weaver.patterns.PatternParser.isAdjacent:(Lorg/aspectj/weaver/patterns/IToken;Lorg/aspectj/weaver/patterns/IToken;)Z
            ifeq 5
         3: .line 1868
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         4: .line 1869
            iconst_1
            ireturn
         5: .line 1872
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.IToken next
        end local 1 // java.lang.String token
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    6     1  token  Ljava/lang/String;
            1    6     2   next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
       Name  Flags
      token  

  public boolean maybeEat(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String token
         0: .line 1876
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* next */
        start local 2 // org.aspectj.weaver.patterns.IToken next
         1: .line 1877
            aload 2 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* token */
            if_acmpne 4
         2: .line 1878
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         3: .line 1879
            iconst_1
            ireturn
         4: .line 1881
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.IToken next
        end local 1 // java.lang.String token
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    5     1  token  Ljava/lang/String;
            1    5     2   next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
       Name  Flags
      token  

  public java.lang.String maybeEatIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1886
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* next */
        start local 1 // org.aspectj.weaver.patterns.IToken next
         1: .line 1887
            aload 1 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.isIdentifier:()Z
            ifeq 4
         2: .line 1888
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            pop
         3: .line 1889
            aload 1 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            areturn
         4: .line 1891
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.aspectj.weaver.patterns.IToken next
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    5     1  next  Lorg/aspectj/weaver/patterns/IToken;

  public boolean peek(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String token
         0: .line 1896
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.peek:()Lorg/aspectj/weaver/patterns/IToken;
            astore 2 /* next */
        start local 2 // org.aspectj.weaver.patterns.IToken next
         1: .line 1897
            aload 2 /* next */
            invokeinterface org.aspectj.weaver.patterns.IToken.getString:()Ljava/lang/String;
            aload 1 /* token */
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // org.aspectj.weaver.patterns.IToken next
        end local 1 // java.lang.String token
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    3     1  token  Ljava/lang/String;
            1    3     2   next  Lorg/aspectj/weaver/patterns/IToken;
    MethodParameters:
       Name  Flags
      token  

  public void checkEof();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
         0: .line 1901
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PatternParser.tokenSource:Lorg/aspectj/weaver/patterns/ITokenSource;
            invokeinterface org.aspectj.weaver.patterns.ITokenSource.next:()Lorg/aspectj/weaver/patterns/IToken;
            astore 1 /* last */
        start local 1 // org.aspectj.weaver.patterns.IToken last
         1: .line 1902
            aload 1 /* last */
            getstatic org.aspectj.weaver.patterns.IToken.EOF:Lorg/aspectj/weaver/patterns/IToken;
            if_acmpeq 3
         2: .line 1903
            new org.aspectj.weaver.patterns.ParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected pointcut element: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* last */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* last */
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
         3: .line 1905
      StackMap locals: org.aspectj.weaver.patterns.IToken
      StackMap stack:
            return
        end local 1 // org.aspectj.weaver.patterns.IToken last
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            1    4     1  last  Lorg/aspectj/weaver/patterns/IToken;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String data
         0: .line 1908
            aload 0 /* this */
            aload 1 /* data */
            aconst_null
            invokestatic org.aspectj.weaver.patterns.BasicTokenSource.makeTokenSource:(Ljava/lang/String;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/ITokenSource;
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Lorg/aspectj/weaver/patterns/ITokenSource;)V
         1: .line 1909
            return
        end local 1 // java.lang.String data
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    2     1  data  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      data  

  public void <init>(java.lang.String, org.aspectj.weaver.ISourceContext);
    descriptor: (Ljava/lang/String;Lorg/aspectj/weaver/ISourceContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PatternParser this
        start local 1 // java.lang.String data
        start local 2 // org.aspectj.weaver.ISourceContext context
         0: .line 1912
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* context */
            invokestatic org.aspectj.weaver.patterns.BasicTokenSource.makeTokenSource:(Ljava/lang/String;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/ITokenSource;
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Lorg/aspectj/weaver/patterns/ITokenSource;)V
         1: .line 1913
            return
        end local 2 // org.aspectj.weaver.ISourceContext context
        end local 1 // java.lang.String data
        end local 0 // org.aspectj.weaver.patterns.PatternParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/aspectj/weaver/patterns/PatternParser;
            0    2     1     data  Ljava/lang/String;
            0    2     2  context  Lorg/aspectj/weaver/ISourceContext;
    MethodParameters:
         Name  Flags
      data     
      context  
}
SourceFile: "PatternParser.java"
InnerClasses:
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow
  public Kind = org.aspectj.weaver.patterns.DeclareAnnotation$Kind of org.aspectj.weaver.patterns.DeclareAnnotation
  public IfFalsePointcut = org.aspectj.weaver.patterns.IfPointcut$IfFalsePointcut of org.aspectj.weaver.patterns.IfPointcut
  public IfTruePointcut = org.aspectj.weaver.patterns.IfPointcut$IfTruePointcut of org.aspectj.weaver.patterns.IfPointcut