public class org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl implements org.aspectj.weaver.tools.StandardPointcutExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl
  super_class: java.lang.Object
{
  private org.aspectj.weaver.World world;
    descriptor: Lorg/aspectj/weaver/World;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String expression;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.tools.PointcutParameter[] parameters;
    descriptor: [Lorg/aspectj/weaver/tools/PointcutParameter;
    flags: (0x0002) ACC_PRIVATE

  private org.aspectj.weaver.tools.MatchingContext matchContext;
    descriptor: Lorg/aspectj/weaver/tools/MatchingContext;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.aspectj.weaver.patterns.Pointcut, java.lang.String, org.aspectj.weaver.tools.PointcutParameter[], org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/lang/String;[Lorg/aspectj/weaver/tools/PointcutParameter;Lorg/aspectj/weaver/World;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.patterns.Pointcut pointcut
        start local 2 // java.lang.String expression
        start local 3 // org.aspectj.weaver.tools.PointcutParameter[] params
        start local 4 // org.aspectj.weaver.World inWorld
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            new org.aspectj.weaver.tools.DefaultMatchingContext
            dup
            invokespecial org.aspectj.weaver.tools.DefaultMatchingContext.<init>:()V
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
         2: .line 56
            aload 0 /* this */
            aload 1 /* pointcut */
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
         3: .line 57
            aload 0 /* this */
            aload 2 /* expression */
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.expression:Ljava/lang/String;
         4: .line 58
            aload 0 /* this */
            aload 4 /* inWorld */
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
         5: .line 59
            aload 0 /* this */
            aload 3 /* params */
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.parameters:[Lorg/aspectj/weaver/tools/PointcutParameter;
         6: .line 60
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.parameters:[Lorg/aspectj/weaver/tools/PointcutParameter;
            ifnonnull 8
         7: .line 61
            aload 0 /* this */
            iconst_0
            anewarray org.aspectj.weaver.tools.PointcutParameter
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.parameters:[Lorg/aspectj/weaver/tools/PointcutParameter;
         8: .line 63
      StackMap locals: org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl org.aspectj.weaver.patterns.Pointcut java.lang.String org.aspectj.weaver.tools.PointcutParameter[] org.aspectj.weaver.World
      StackMap stack:
            return
        end local 4 // org.aspectj.weaver.World inWorld
        end local 3 // org.aspectj.weaver.tools.PointcutParameter[] params
        end local 2 // java.lang.String expression
        end local 1 // org.aspectj.weaver.patterns.Pointcut pointcut
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    9     1    pointcut  Lorg/aspectj/weaver/patterns/Pointcut;
            0    9     2  expression  Ljava/lang/String;
            0    9     3      params  [Lorg/aspectj/weaver/tools/PointcutParameter;
            0    9     4     inWorld  Lorg/aspectj/weaver/World;
    MethodParameters:
            Name  Flags
      pointcut    
      expression  
      params      
      inWorld     

  public org.aspectj.weaver.patterns.Pointcut getUnderlyingPointcut();
    descriptor: ()Lorg/aspectj/weaver/patterns/Pointcut;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
         0: .line 66
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
            areturn
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;

  public void setMatchingContext(org.aspectj.weaver.tools.MatchingContext);
    descriptor: (Lorg/aspectj/weaver/tools/MatchingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.tools.MatchingContext aMatchContext
         0: .line 75
            aload 0 /* this */
            aload 1 /* aMatchContext */
            putfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
         1: .line 76
            return
        end local 1 // org.aspectj.weaver.tools.MatchingContext aMatchContext
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    2     1  aMatchContext  Lorg/aspectj/weaver/tools/MatchingContext;
    MethodParameters:
               Name  Flags
      aMatchContext  

  public boolean couldMatchJoinPointsInType(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // java.lang.Class aClass
         0: .line 79
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
            aload 1 /* aClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.aspectj.weaver.World.resolve:(Ljava/lang/String;)Lorg/aspectj/weaver/ResolvedType;
            astore 2 /* matchType */
        start local 2 // org.aspectj.weaver.ResolvedType matchType
         1: .line 80
            new org.aspectj.weaver.reflect.ReflectionFastMatchInfo
            dup
            aload 2 /* matchType */
            aconst_null
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
            invokespecial org.aspectj.weaver.reflect.ReflectionFastMatchInfo.<init>:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/Shadow$Kind;Lorg/aspectj/weaver/tools/MatchingContext;Lorg/aspectj/weaver/World;)V
            astore 3 /* info */
        start local 3 // org.aspectj.weaver.reflect.ReflectionFastMatchInfo info
         2: .line 81
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 3 /* info */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.fastMatch:(Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
            invokevirtual org.aspectj.util.FuzzyBoolean.maybeTrue:()Z
            ireturn
        end local 3 // org.aspectj.weaver.reflect.ReflectionFastMatchInfo info
        end local 2 // org.aspectj.weaver.ResolvedType matchType
        end local 1 // java.lang.Class aClass
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    3     1     aClass  Ljava/lang/Class;
            1    3     2  matchType  Lorg/aspectj/weaver/ResolvedType;
            2    3     3       info  Lorg/aspectj/weaver/reflect/ReflectionFastMatchInfo;
    MethodParameters:
        Name  Flags
      aClass  

  public boolean mayNeedDynamicTest();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
         0: .line 85
            new org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor
            dup
            invokespecial org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.<init>:()V
            astore 1 /* visitor */
        start local 1 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor visitor
         1: .line 86
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* visitor */
            aconst_null
            invokevirtual org.aspectj.weaver.patterns.Pointcut.traverse:(Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 87
            aload 1 /* visitor */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.hasDynamicContent:()Z
            ireturn
        end local 1 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor visitor
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            1    3     1  visitor  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor;

  private org.aspectj.weaver.patterns.ExposedState getExposedState();
    descriptor: ()Lorg/aspectj/weaver/patterns/ExposedState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
         0: .line 91
            new org.aspectj.weaver.patterns.ExposedState
            dup
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.parameters:[Lorg/aspectj/weaver/tools/PointcutParameter;
            arraylength
            invokespecial org.aspectj.weaver.patterns.ExposedState.<init>:(I)V
            areturn
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;

  public org.aspectj.weaver.tools.ShadowMatch matchesMethodExecution(org.aspectj.weaver.ResolvedMember);
    descriptor: (Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.ResolvedMember aMethod
         0: .line 99
            aload 0 /* this */
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchesExecution:(Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/tools/ShadowMatch;
            areturn
        end local 1 // org.aspectj.weaver.ResolvedMember aMethod
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    1     1  aMethod  Lorg/aspectj/weaver/ResolvedMember;
    MethodParameters:
         Name  Flags
      aMethod  

  public org.aspectj.weaver.tools.ShadowMatch matchesConstructorExecution(java.lang.reflect.Constructor);
    descriptor: (Ljava/lang/reflect/Constructor;)Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // java.lang.reflect.Constructor aConstructor
         0: .line 103
            aconst_null
            areturn
        end local 1 // java.lang.reflect.Constructor aConstructor
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    1     1  aConstructor  Ljava/lang/reflect/Constructor;
    MethodParameters:
              Name  Flags
      aConstructor  

  private org.aspectj.weaver.tools.ShadowMatch matchesExecution(org.aspectj.weaver.ResolvedMember);
    descriptor: (Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.ResolvedMember aMember
         0: .line 117
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
            aload 1 /* aMember */
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
            invokestatic org.aspectj.weaver.reflect.StandardShadow.makeExecutionShadow:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/tools/MatchingContext;)Lorg/aspectj/weaver/Shadow;
            astore 2 /* s */
        start local 2 // org.aspectj.weaver.Shadow s
         1: .line 118
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.getShadowMatch:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
            astore 3 /* sm */
        start local 3 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
         2: .line 119
            aload 3 /* sm */
            aload 1 /* aMember */
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setSubject:(Lorg/aspectj/weaver/ResolvedMember;)V
         3: .line 120
            aload 3 /* sm */
            aconst_null
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinCode:(Lorg/aspectj/weaver/ResolvedMember;)V
         4: .line 121
            aload 3 /* sm */
            aload 1 /* aMember */
            invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            checkcast org.aspectj.weaver.ResolvedType
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinType:(Lorg/aspectj/weaver/ResolvedType;)V
         5: .line 122
            aload 3 /* sm */
            areturn
        end local 3 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
        end local 2 // org.aspectj.weaver.Shadow s
        end local 1 // org.aspectj.weaver.ResolvedMember aMember
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    6     1  aMember  Lorg/aspectj/weaver/ResolvedMember;
            1    6     2        s  Lorg/aspectj/weaver/Shadow;
            2    6     3       sm  Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
    MethodParameters:
         Name  Flags
      aMember  

  public org.aspectj.weaver.tools.ShadowMatch matchesStaticInitialization(org.aspectj.weaver.ResolvedType);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.ResolvedType aType
         0: .line 135
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
            aload 1 /* aType */
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
            invokestatic org.aspectj.weaver.reflect.StandardShadow.makeStaticInitializationShadow:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/tools/MatchingContext;)Lorg/aspectj/weaver/Shadow;
            astore 2 /* s */
        start local 2 // org.aspectj.weaver.Shadow s
         1: .line 136
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.getShadowMatch:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
            astore 3 /* sm */
        start local 3 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
         2: .line 137
            aload 3 /* sm */
            aconst_null
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setSubject:(Lorg/aspectj/weaver/ResolvedMember;)V
         3: .line 138
            aload 3 /* sm */
            aconst_null
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinCode:(Lorg/aspectj/weaver/ResolvedMember;)V
         4: .line 139
            aload 3 /* sm */
            aload 1 /* aType */
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinType:(Lorg/aspectj/weaver/ResolvedType;)V
         5: .line 140
            aload 3 /* sm */
            areturn
        end local 3 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
        end local 2 // org.aspectj.weaver.Shadow s
        end local 1 // org.aspectj.weaver.ResolvedType aType
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    6     1  aType  Lorg/aspectj/weaver/ResolvedType;
            1    6     2      s  Lorg/aspectj/weaver/Shadow;
            2    6     3     sm  Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
    MethodParameters:
       Name  Flags
      aType  

  public org.aspectj.weaver.tools.ShadowMatch matchesMethodCall(org.aspectj.weaver.ResolvedMember, org.aspectj.weaver.ResolvedMember);
    descriptor: (Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.ResolvedMember aMethod
        start local 2 // org.aspectj.weaver.ResolvedMember withinCode
         0: .line 171
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.world:Lorg/aspectj/weaver/World;
            aload 1 /* aMethod */
            aload 2 /* withinCode */
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
            invokestatic org.aspectj.weaver.reflect.StandardShadow.makeCallShadow:(Lorg/aspectj/weaver/World;Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/tools/MatchingContext;)Lorg/aspectj/weaver/Shadow;
            astore 3 /* s */
        start local 3 // org.aspectj.weaver.Shadow s
         1: .line 172
            aload 0 /* this */
            aload 3 /* s */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.getShadowMatch:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
            astore 4 /* sm */
        start local 4 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
         2: .line 173
            aload 4 /* sm */
            aload 1 /* aMethod */
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setSubject:(Lorg/aspectj/weaver/ResolvedMember;)V
         3: .line 174
            aload 4 /* sm */
            aload 2 /* withinCode */
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinCode:(Lorg/aspectj/weaver/ResolvedMember;)V
         4: .line 175
            aload 4 /* sm */
            aload 2 /* withinCode */
            invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
            checkcast org.aspectj.weaver.ResolvedType
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setWithinType:(Lorg/aspectj/weaver/ResolvedType;)V
         5: .line 176
            aload 4 /* sm */
            areturn
        end local 4 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
        end local 3 // org.aspectj.weaver.Shadow s
        end local 2 // org.aspectj.weaver.ResolvedMember withinCode
        end local 1 // org.aspectj.weaver.ResolvedMember aMethod
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    6     1     aMethod  Lorg/aspectj/weaver/ResolvedMember;
            0    6     2  withinCode  Lorg/aspectj/weaver/ResolvedMember;
            1    6     3           s  Lorg/aspectj/weaver/Shadow;
            2    6     4          sm  Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
    MethodParameters:
            Name  Flags
      aMethod     
      withinCode  

  private org.aspectj.weaver.reflect.StandardShadowMatchImpl getShadowMatch(org.aspectj.weaver.Shadow);
    descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
        start local 1 // org.aspectj.weaver.Shadow forShadow
         0: .line 262
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* forShadow */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.match:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
            astore 2 /* match */
        start local 2 // org.aspectj.util.FuzzyBoolean match
         1: .line 263
            getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
            astore 3 /* residueTest */
        start local 3 // org.aspectj.weaver.ast.Test residueTest
         2: .line 264
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.getExposedState:()Lorg/aspectj/weaver/patterns/ExposedState;
            astore 4 /* state */
        start local 4 // org.aspectj.weaver.patterns.ExposedState state
         3: .line 265
            aload 2 /* match */
            invokevirtual org.aspectj.util.FuzzyBoolean.maybeTrue:()Z
            ifeq 5
         4: .line 266
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.pointcut:Lorg/aspectj/weaver/patterns/Pointcut;
            aload 1 /* forShadow */
            aload 4 /* state */
            invokevirtual org.aspectj.weaver.patterns.Pointcut.findResidue:(Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
            astore 3 /* residueTest */
         5: .line 268
      StackMap locals: org.aspectj.util.FuzzyBoolean org.aspectj.weaver.ast.Test org.aspectj.weaver.patterns.ExposedState
      StackMap stack:
            new org.aspectj.weaver.reflect.StandardShadowMatchImpl
            dup
            aload 2 /* match */
            aload 3 /* residueTest */
            aload 4 /* state */
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.parameters:[Lorg/aspectj/weaver/tools/PointcutParameter;
            invokespecial org.aspectj.weaver.reflect.StandardShadowMatchImpl.<init>:(Lorg/aspectj/util/FuzzyBoolean;Lorg/aspectj/weaver/ast/Test;Lorg/aspectj/weaver/patterns/ExposedState;[Lorg/aspectj/weaver/tools/PointcutParameter;)V
            astore 5 /* sm */
        start local 5 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
         6: .line 269
            aload 5 /* sm */
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.matchContext:Lorg/aspectj/weaver/tools/MatchingContext;
            invokevirtual org.aspectj.weaver.reflect.StandardShadowMatchImpl.setMatchingContext:(Lorg/aspectj/weaver/tools/MatchingContext;)V
         7: .line 270
            aload 5 /* sm */
            areturn
        end local 5 // org.aspectj.weaver.reflect.StandardShadowMatchImpl sm
        end local 4 // org.aspectj.weaver.patterns.ExposedState state
        end local 3 // org.aspectj.weaver.ast.Test residueTest
        end local 2 // org.aspectj.util.FuzzyBoolean match
        end local 1 // org.aspectj.weaver.Shadow forShadow
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
            0    8     1    forShadow  Lorg/aspectj/weaver/Shadow;
            1    8     2        match  Lorg/aspectj/util/FuzzyBoolean;
            2    8     3  residueTest  Lorg/aspectj/weaver/ast/Test;
            3    8     4        state  Lorg/aspectj/weaver/patterns/ExposedState;
            6    8     5           sm  Lorg/aspectj/weaver/reflect/StandardShadowMatchImpl;
    MethodParameters:
           Name  Flags
      forShadow  

  public java.lang.String getPointcutExpression();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
         0: .line 279
            aload 0 /* this */
            getfield org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl.expression:Ljava/lang/String;
            areturn
        end local 0 // org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl;
}
SourceFile: "StandardPointcutExpressionImpl.java"
NestMembers:
  org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$Handler  org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor
InnerClasses:
  public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow
  public Handler = org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$Handler of org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl
  private HasPossibleDynamicContentVisitor = org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor of org.aspectj.weaver.internal.tools.StandardPointcutExpressionImpl