public class org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor extends org.aspectj.weaver.patterns.AbstractPatternNodeVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor
  super_class: org.aspectj.weaver.patterns.AbstractPatternNodeVisitor
{
  private static final org.aspectj.weaver.patterns.TypePattern MAYBE;
    descriptor: Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final boolean m_isTarget;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 29
            new org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$TypePatternMayBe
            dup
            invokespecial org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$TypePatternMayBe.<init>:()V
            putstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(boolean, org.aspectj.weaver.ResolvedType);
    descriptor: (ZLorg/aspectj/weaver/ResolvedType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // boolean isTarget
        start local 2 // org.aspectj.weaver.ResolvedType fromAspectType
         0: .line 34
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.AbstractPatternNodeVisitor.<init>:()V
         1: .line 35
            aload 0 /* this */
            iload 1 /* isTarget */
            putfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
         2: .line 36
            aload 0 /* this */
            aload 2 /* fromAspectType */
            putfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_fromAspectType:Lorg/aspectj/weaver/ResolvedType;
         3: .line 37
            return
        end local 2 // org.aspectj.weaver.ResolvedType fromAspectType
        end local 1 // boolean isTarget
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    4     1        isTarget  Z
            0    4     2  fromAspectType  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
                Name  Flags
      isTarget        
      fromAspectType  

  public org.aspectj.weaver.patterns.TypePattern getPerTypePointcut(org.aspectj.weaver.patterns.Pointcut);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.Pointcut perClausePointcut
         0: .line 40
            aload 1 /* perClausePointcut */
            aload 0 /* this */
            aload 1 /* perClausePointcut */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.accept:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 41
            aload 2 /* o */
            instanceof org.aspectj.weaver.patterns.TypePattern
            ifeq 3
         2: .line 42
            aload 2 /* o */
            checkcast org.aspectj.weaver.patterns.TypePattern
            areturn
         3: .line 44
      StackMap locals: java.lang.Object
      StackMap stack:
            new org.aspectj.weaver.BCException
            dup
            new java.lang.StringBuilder
            dup
            ldc "perClausePointcut visitor did not return a typepattern, it returned "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 45
            aload 2 /* o */
            ifnonnull 5
            ldc ""
            goto 6
      StackMap locals: org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor org.aspectj.weaver.patterns.Pointcut java.lang.Object
      StackMap stack: new 3 new 3 java.lang.StringBuilder
         5: new java.lang.StringBuilder
            dup
            ldc " of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor org.aspectj.weaver.patterns.Pointcut java.lang.Object
      StackMap stack: new 3 new 3 java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 44
            invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object o
        end local 1 // org.aspectj.weaver.patterns.Pointcut perClausePointcut
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    8     1  perClausePointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            1    8     2                  o  Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      perClausePointcut  

  public java.lang.Object visit(org.aspectj.weaver.patterns.WithinPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/WithinPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.WithinPointcut node
        start local 2 // java.lang.Object data
         0: .line 52
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 2
         1: .line 55
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 57
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.WithinPointcut.getTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.WithinPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    3     1  node  Lorg/aspectj/weaver/patterns/WithinPointcut;
            0    3     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.WithincodePointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/WithincodePointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.WithincodePointcut node
        start local 2 // java.lang.Object data
         0: .line 62
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 2
         1: .line 65
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.WithincodePointcut.getSignature:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getDeclaringType:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.WithincodePointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    3     1  node  Lorg/aspectj/weaver/patterns/WithincodePointcut;
            0    3     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.WithinAnnotationPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/WithinAnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.WithinAnnotationPointcut node
        start local 2 // java.lang.Object data
         0: .line 72
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 2
         1: .line 73
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 75
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern
            dup
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.WithinAnnotationPointcut.getAnnotationTypePattern:()Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.WithinAnnotationPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    3     1  node  Lorg/aspectj/weaver/patterns/WithinAnnotationPointcut;
            0    3     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/WithinCodeAnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut node
        start local 2 // java.lang.Object data
         0: .line 80
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 2
         1: .line 81
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 83
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    3     1  node  Lorg/aspectj/weaver/patterns/WithinCodeAnnotationPointcut;
            0    3     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.KindedPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/KindedPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.KindedPointcut node
        start local 2 // java.lang.Object data
         0: .line 88
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.AdviceExecution:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 89
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.ConstructorExecution:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 5
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.Initialization:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 91
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 5
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.PreInitialization:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 92
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.StaticInitialization:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getSignature:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            astore 3 /* signaturePattern */
        start local 3 // org.aspectj.weaver.patterns.SignaturePattern signaturePattern
         6: .line 94
            aload 3 /* signaturePattern */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.isStarAnnotation:()Z
            istore 4 /* isStarAnnotation */
        start local 4 // boolean isStarAnnotation
         7: .line 98
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifne 10
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 99
            iload 4 /* isStarAnnotation */
            ifne 10
         9: .line 100
            new org.aspectj.weaver.patterns.HasMemberTypePatternForPerThisMatching
            dup
            aload 3 /* signaturePattern */
            invokespecial org.aspectj.weaver.patterns.HasMemberTypePatternForPerThisMatching.<init>:(Lorg/aspectj/weaver/patterns/SignaturePattern;)V
            areturn
        10: .line 103
      StackMap locals: org.aspectj.weaver.patterns.SignaturePattern int
      StackMap stack:
            aload 3 /* signaturePattern */
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getDeclaringType:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 4 // boolean isStarAnnotation
        end local 3 // org.aspectj.weaver.patterns.SignaturePattern signaturePattern
        11: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.ConstructorCall:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 13
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.FieldGet:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 105
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.FieldSet:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifne 13
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.MethodCall:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 15
        14: .line 107
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getSignature:()Lorg/aspectj/weaver/patterns/SignaturePattern;
            invokevirtual org.aspectj.weaver.patterns.SignaturePattern.getDeclaringType:()Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        15: .line 109
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        16: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            getstatic org.aspectj.weaver.Shadow.ExceptionHandler:Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 112
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        18: .line 114
      StackMap locals:
      StackMap stack:
            new org.aspectj.weaver.patterns.ParserException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Undetermined - should not happen: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.KindedPointcut.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
            invokevirtual org.aspectj.weaver.Shadow$Kind.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokespecial org.aspectj.weaver.patterns.ParserException.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/IHasPosition;)V
            athrow
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.KindedPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0   19     1              node  Lorg/aspectj/weaver/patterns/KindedPointcut;
            0   19     2              data  Ljava/lang/Object;
            6   11     3  signaturePattern  Lorg/aspectj/weaver/patterns/SignaturePattern;
            7   11     4  isStarAnnotation  Z
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.AndPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.AndPointcut node
        start local 2 // java.lang.Object data
         0: .line 119
            new org.aspectj.weaver.patterns.AndTypePattern
            dup
            aload 0 /* this */
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.AndPointcut.left:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.getPerTypePointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.AndPointcut.right:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.getPerTypePointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
            invokespecial org.aspectj.weaver.patterns.AndTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.AndPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/AndPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.OrPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/OrPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.OrPointcut node
        start local 2 // java.lang.Object data
         0: .line 123
            new org.aspectj.weaver.patterns.OrTypePattern
            dup
            aload 0 /* this */
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.OrPointcut.left:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.getPerTypePointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
            aload 0 /* this */
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.OrPointcut.right:Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.getPerTypePointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
            invokespecial org.aspectj.weaver.patterns.OrTypePattern.<init>:(Lorg/aspectj/weaver/patterns/TypePattern;Lorg/aspectj/weaver/patterns/TypePattern;)V
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.OrPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/OrPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.NotPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/NotPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.NotPointcut node
        start local 2 // java.lang.Object data
         0: .line 134
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.NotPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/NotPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut node
        start local 2 // java.lang.Object data
         0: .line 138
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 2
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.isThis:()Z
            ifne 2
         1: .line 139
            new org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern
            dup
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.getAnnotationTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifne 4
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.isThis:()Z
            ifeq 4
         3: .line 141
            new org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern
            dup
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.getAnnotationTypePattern:()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
            invokespecial org.aspectj.weaver.patterns.AnyWithAnnotationTypePattern.<init>:(Lorg/aspectj/weaver/patterns/AnnotationTypePattern;)V
            areturn
         4: .line 144
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    5     1  node  Lorg/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut;
            0    5     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ThisOrTargetPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ThisOrTargetPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ThisOrTargetPointcut node
        start local 2 // java.lang.Object data
         0: .line 149
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifeq 1
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetPointcut.isThis:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_isTarget:Z
            ifne 8
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetPointcut.isThis:()Z
            ifeq 8
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.aspectj.weaver.patterns.ThisOrTargetPointcut.getType:()Lorg/aspectj/weaver/patterns/TypePattern;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* pointcutString */
        start local 3 // java.lang.String pointcutString
         3: .line 153
            aload 3 /* pointcutString */
            ldc "<nothing>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 154
            new org.aspectj.weaver.patterns.NoTypePattern
            dup
            invokespecial org.aspectj.weaver.patterns.NoTypePattern.<init>:()V
            areturn
         5: .line 159
      StackMap locals: java.lang.String
      StackMap stack:
            new org.aspectj.weaver.patterns.PatternParser
            dup
            aload 3 /* pointcutString */
            bipush 36
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokespecial org.aspectj.weaver.patterns.PatternParser.<init>:(Ljava/lang/String;)V
            invokevirtual org.aspectj.weaver.patterns.PatternParser.parseTypePattern:()Lorg/aspectj/weaver/patterns/TypePattern;
            astore 4 /* copy */
        start local 4 // org.aspectj.weaver.patterns.TypePattern copy
         6: .line 161
            aload 4 /* copy */
            iconst_1
            putfield org.aspectj.weaver.patterns.TypePattern.includeSubtypes:Z
         7: .line 162
            aload 4 /* copy */
            areturn
        end local 4 // org.aspectj.weaver.patterns.TypePattern copy
        end local 3 // java.lang.String pointcutString
         8: .line 165
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ThisOrTargetPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    9     1            node  Lorg/aspectj/weaver/patterns/ThisOrTargetPointcut;
            0    9     2            data  Ljava/lang/Object;
            3    8     3  pointcutString  Ljava/lang/String;
            6    8     4            copy  Lorg/aspectj/weaver/patterns/TypePattern;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ReferencePointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ReferencePointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ReferencePointcut node
        start local 2 // java.lang.Object data
         0: .line 175
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_fromAspectType:Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* searchStart */
        start local 4 // org.aspectj.weaver.ResolvedType searchStart
         1: .line 176
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.ReferencePointcut.onType:Lorg/aspectj/weaver/UnresolvedType;
            ifnull 5
         2: .line 177
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.ReferencePointcut.onType:Lorg/aspectj/weaver/UnresolvedType;
            aload 0 /* this */
            getfield org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.m_fromAspectType:Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
            invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* searchStart */
         3: .line 178
            aload 4 /* searchStart */
            invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
            ifeq 5
         4: .line 179
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
         5: .line 182
      StackMap locals: org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor org.aspectj.weaver.patterns.ReferencePointcut java.lang.Object top org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 4 /* searchStart */
            aload 1 /* node */
            getfield org.aspectj.weaver.patterns.ReferencePointcut.name:Ljava/lang/String;
            invokevirtual org.aspectj.weaver.ResolvedType.findPointcut:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            astore 3 /* pointcutDec */
        start local 3 // org.aspectj.weaver.ResolvedPointcutDefinition pointcutDec
         6: .line 184
            aload 0 /* this */
            aload 3 /* pointcutDec */
            invokevirtual org.aspectj.weaver.ResolvedPointcutDefinition.getPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
            invokevirtual org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.getPerTypePointcut:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 4 // org.aspectj.weaver.ResolvedType searchStart
        end local 3 // org.aspectj.weaver.ResolvedPointcutDefinition pointcutDec
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ReferencePointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    7     1         node  Lorg/aspectj/weaver/patterns/ReferencePointcut;
            0    7     2         data  Ljava/lang/Object;
            6    7     3  pointcutDec  Lorg/aspectj/weaver/ResolvedPointcutDefinition;
            1    7     4  searchStart  Lorg/aspectj/weaver/ResolvedType;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.IfPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/IfPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.IfPointcut node
        start local 2 // java.lang.Object data
         0: .line 188
            getstatic org.aspectj.weaver.patterns.TypePattern.ANY:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.IfPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/IfPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.HandlerPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/HandlerPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.HandlerPointcut node
        start local 2 // java.lang.Object data
         0: .line 193
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.HandlerPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/HandlerPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.CflowPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/CflowPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.CflowPointcut node
        start local 2 // java.lang.Object data
         0: .line 197
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.CflowPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/CflowPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ConcreteCflowPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ConcreteCflowPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ConcreteCflowPointcut node
        start local 2 // java.lang.Object data
         0: .line 201
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ConcreteCflowPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/ConcreteCflowPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ArgsPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ArgsPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ArgsPointcut node
        start local 2 // java.lang.Object data
         0: .line 205
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ArgsPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/ArgsPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.ArgsAnnotationPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/ArgsAnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.ArgsAnnotationPointcut node
        start local 2 // java.lang.Object data
         0: .line 209
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.ArgsAnnotationPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/ArgsAnnotationPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.AnnotationPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/AnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.AnnotationPointcut node
        start local 2 // java.lang.Object data
         0: .line 213
            getstatic org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor.MAYBE:Lorg/aspectj/weaver/patterns/TypePattern;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.AnnotationPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/AnnotationPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  

  public java.lang.Object visit(org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut, java.lang.Object);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
        start local 1 // org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut node
        start local 2 // java.lang.Object data
         0: .line 219
            new org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$1
            dup
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$1.<init>:(Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;)V
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut node
        end local 0 // org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor;
            0    1     1  node  Lorg/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut;
            0    1     2  data  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  
      data  
}
SourceFile: "PerThisOrTargetPointcutVisitor.java"
NestMembers:
  org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$1  org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$TypePatternMayBe
InnerClasses:
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow
  org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$1
  private TypePatternMayBe = org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor$TypePatternMayBe of org.aspectj.weaver.patterns.PerThisOrTargetPointcutVisitor
  MatchesNothingPointcut = org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut of org.aspectj.weaver.patterns.Pointcut