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

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

  public void <init>(org.aspectj.weaver.tools.ContextBasedMatcher, org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/tools/ContextBasedMatcher;Lorg/aspectj/weaver/World;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.tools.ContextBasedMatcher expr
        start local 2 // org.aspectj.weaver.World world
         0: .line 49
            aload 0 /* this */
            invokespecial org.aspectj.weaver.patterns.Pointcut.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 1 /* expr */
            putfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matcher:Lorg/aspectj/weaver/tools/ContextBasedMatcher;
         2: .line 51
            aload 0 /* this */
            aload 2 /* world */
            putfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.world:Lorg/aspectj/weaver/World;
         3: .line 52
            return
        end local 2 // org.aspectj.weaver.World world
        end local 1 // org.aspectj.weaver.tools.ContextBasedMatcher expr
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    4     1   expr  Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            0    4     2  world  Lorg/aspectj/weaver/World;
    MethodParameters:
       Name  Flags
      expr   
      world  

  public byte getPointcutKind();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
         0: .line 60
            bipush 22
            ireturn
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;

  public org.aspectj.util.FuzzyBoolean fastMatch(org.aspectj.weaver.patterns.FastMatchInfo);
    descriptor: (Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.patterns.FastMatchInfo info
         0: .line 69
            aload 1 /* info */
            instanceof org.aspectj.weaver.reflect.ReflectionFastMatchInfo
            ifeq 14
         1: .line 71
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.world:Lorg/aspectj/weaver/World;
            instanceof org.aspectj.weaver.reflect.ReflectionWorld
            ifne 3
         2: .line 72
            new java.lang.IllegalStateException
            dup
            ldc "Can only match user-extension pcds with a ReflectionWorld"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 74
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         4: .line 76
            aload 1 /* info */
            invokevirtual org.aspectj.weaver.patterns.FastMatchInfo.getType:()Lorg/aspectj/weaver/ResolvedType;
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.world:Lorg/aspectj/weaver/World;
            checkcast org.aspectj.weaver.reflect.ReflectionWorld
            invokevirtual org.aspectj.weaver.reflect.ReflectionWorld.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 2 /* clazz */
         5: .line 77
            goto 11
      StackMap locals: org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut org.aspectj.weaver.patterns.FastMatchInfo java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
         6: pop
         7: .line 78
            aload 1 /* info */
            invokevirtual org.aspectj.weaver.patterns.FastMatchInfo.getType:()Lorg/aspectj/weaver/ResolvedType;
            instanceof org.aspectj.weaver.ReferenceType
            ifeq 11
         8: .line 79
            aload 1 /* info */
            invokevirtual org.aspectj.weaver.patterns.FastMatchInfo.getType:()Lorg/aspectj/weaver/ResolvedType;
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 3 /* rtd */
        start local 3 // org.aspectj.weaver.ReferenceTypeDelegate rtd
         9: .line 80
            aload 3 /* rtd */
            instanceof org.aspectj.weaver.reflect.ReflectionBasedReferenceTypeDelegate
            ifeq 11
        10: .line 81
            aload 3 /* rtd */
            checkcast org.aspectj.weaver.reflect.ReflectionBasedReferenceTypeDelegate
            invokevirtual org.aspectj.weaver.reflect.ReflectionBasedReferenceTypeDelegate.getClazz:()Ljava/lang/Class;
            astore 2 /* clazz */
        end local 3 // org.aspectj.weaver.ReferenceTypeDelegate rtd
        11: .line 85
      StackMap locals:
      StackMap stack:
            aload 2 /* clazz */
            ifnonnull 13
        12: .line 86
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        13: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matcher:Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            aload 2 /* clazz */
            aload 1 /* info */
            checkcast org.aspectj.weaver.reflect.ReflectionFastMatchInfo
            invokevirtual org.aspectj.weaver.reflect.ReflectionFastMatchInfo.getMatchingContext:()Lorg/aspectj/weaver/tools/MatchingContext;
            invokeinterface org.aspectj.weaver.tools.ContextBasedMatcher.couldMatchJoinPointsInType:(Ljava/lang/Class;Lorg/aspectj/weaver/tools/MatchingContext;)Z
            invokestatic org.aspectj.util.FuzzyBoolean.fromBoolean:(Z)Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 2 // java.lang.Class clazz
        14: .line 90
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Can only match user-extension pcds against Reflection FastMatchInfo objects"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.aspectj.weaver.patterns.FastMatchInfo info
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0   15     1   info  Lorg/aspectj/weaver/patterns/FastMatchInfo;
            4   14     2  clazz  Ljava/lang/Class<*>;
            9   11     3    rtd  Lorg/aspectj/weaver/ReferenceTypeDelegate;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      info  

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

  protected org.aspectj.util.FuzzyBoolean matchInternal(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
         0: .line 108
            aload 1 /* shadow */
            instanceof org.aspectj.weaver.reflect.ReflectionShadow
            ifeq 9
         1: .line 109
            aload 1 /* shadow */
            checkcast org.aspectj.weaver.reflect.ReflectionShadow
            invokevirtual org.aspectj.weaver.reflect.ReflectionShadow.getMatchingContext:()Lorg/aspectj/weaver/tools/MatchingContext;
            astore 2 /* context */
        start local 2 // org.aspectj.weaver.tools.MatchingContext context
         2: .line 110
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matcher:Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            aload 2 /* context */
            invokeinterface org.aspectj.weaver.tools.ContextBasedMatcher.matchesStatically:(Lorg/aspectj/weaver/tools/MatchingContext;)Lorg/aspectj/weaver/tools/FuzzyBoolean;
            astore 3 /* match */
        start local 3 // org.aspectj.weaver.tools.FuzzyBoolean match
         3: .line 111
            aload 3 /* match */
            getstatic org.aspectj.weaver.tools.FuzzyBoolean.MAYBE:Lorg/aspectj/weaver/tools/FuzzyBoolean;
            if_acmpne 5
         4: .line 112
            getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         5: .line 113
      StackMap locals: org.aspectj.weaver.tools.MatchingContext org.aspectj.weaver.tools.FuzzyBoolean
      StackMap stack:
            aload 3 /* match */
            getstatic org.aspectj.weaver.tools.FuzzyBoolean.YES:Lorg/aspectj/weaver/tools/FuzzyBoolean;
            if_acmpne 7
         6: .line 114
            getstatic org.aspectj.util.FuzzyBoolean.YES:Lorg/aspectj/util/FuzzyBoolean;
            areturn
         7: .line 115
      StackMap locals:
      StackMap stack:
            aload 3 /* match */
            getstatic org.aspectj.weaver.tools.FuzzyBoolean.NO:Lorg/aspectj/weaver/tools/FuzzyBoolean;
            if_acmpne 9
         8: .line 116
            getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
            areturn
        end local 3 // org.aspectj.weaver.tools.FuzzyBoolean match
        end local 2 // org.aspectj.weaver.tools.MatchingContext context
         9: .line 119
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Can only match user-extension pcds against Reflection shadows (not BCEL)"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0   10     1   shadow  Lorg/aspectj/weaver/Shadow;
            2    9     2  context  Lorg/aspectj/weaver/tools/MatchingContext;
            3    9     3    match  Lorg/aspectj/weaver/tools/FuzzyBoolean;
    MethodParameters:
        Name  Flags
      shadow  

  protected void resolveBindings(org.aspectj.weaver.patterns.IScope, org.aspectj.weaver.patterns.Bindings);
    descriptor: (Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.patterns.IScope scope
        start local 2 // org.aspectj.weaver.patterns.Bindings bindings
         0: .line 130
            return
        end local 2 // org.aspectj.weaver.patterns.Bindings bindings
        end local 1 // org.aspectj.weaver.patterns.IScope scope
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    1     1     scope  Lorg/aspectj/weaver/patterns/IScope;
            0    1     2  bindings  Lorg/aspectj/weaver/patterns/Bindings;
    MethodParameters:
          Name  Flags
      scope     
      bindings  

  protected org.aspectj.weaver.patterns.Pointcut concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.ResolvedType inAspect
        start local 2 // org.aspectj.weaver.ResolvedType declaringType
        start local 3 // org.aspectj.weaver.IntMap bindings
         0: .line 139
            aload 0 /* this */
            areturn
        end local 3 // org.aspectj.weaver.IntMap bindings
        end local 2 // org.aspectj.weaver.ResolvedType declaringType
        end local 1 // org.aspectj.weaver.ResolvedType inAspect
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    1     1       inAspect  Lorg/aspectj/weaver/ResolvedType;
            0    1     2  declaringType  Lorg/aspectj/weaver/ResolvedType;
            0    1     3       bindings  Lorg/aspectj/weaver/IntMap;
    MethodParameters:
               Name  Flags
      inAspect       
      declaringType  
      bindings       

  protected org.aspectj.weaver.ast.Test findResidueInternal(org.aspectj.weaver.Shadow, org.aspectj.weaver.patterns.ExposedState);
    descriptor: (Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.Shadow shadow
        start local 2 // org.aspectj.weaver.patterns.ExposedState state
         0: .line 149
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matcher:Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            invokeinterface org.aspectj.weaver.tools.ContextBasedMatcher.mayNeedDynamicTest:()Z
            ifne 2
         1: .line 150
            getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
            areturn
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* shadow */
            invokevirtual org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matchInternal:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
            pop
         3: .line 154
            new org.aspectj.weaver.internal.tools.MatchingContextBasedTest
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut.matcher:Lorg/aspectj/weaver/tools/ContextBasedMatcher;
            invokespecial org.aspectj.weaver.internal.tools.MatchingContextBasedTest.<init>:(Lorg/aspectj/weaver/tools/ContextBasedMatcher;)V
            areturn
        end local 2 // org.aspectj.weaver.patterns.ExposedState state
        end local 1 // org.aspectj.weaver.Shadow shadow
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    4     1  shadow  Lorg/aspectj/weaver/Shadow;
            0    4     2   state  Lorg/aspectj/weaver/patterns/ExposedState;
    MethodParameters:
        Name  Flags
      shadow  
      state   

  public org.aspectj.weaver.patterns.Pointcut parameterizeWith(java.util.Map, org.aspectj.weaver.World);
    descriptor: (Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // java.util.Map typeVariableMap
        start local 2 // org.aspectj.weaver.World w
         0: .line 164
            aload 0 /* this */
            areturn
        end local 2 // org.aspectj.weaver.World w
        end local 1 // java.util.Map typeVariableMap
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    1     1  typeVariableMap  Ljava/util/Map;
            0    1     2                w  Lorg/aspectj/weaver/World;
    MethodParameters:
                 Name  Flags
      typeVariableMap  
      w                

  public void write(org.aspectj.weaver.CompressingDataOutputStream);
    descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
        start local 1 // org.aspectj.weaver.CompressingDataOutputStream s
         0: .line 173
            new java.lang.UnsupportedOperationException
            dup
            ldc "can't write custom pointcut designator expressions to stream"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.aspectj.weaver.CompressingDataOutputStream s
        end local 0 // org.aspectj.weaver.internal.tools.PointcutDesignatorHandlerBasedPointcut this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut;
            0    1     1     s  Lorg/aspectj/weaver/CompressingDataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

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