class org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch implements org.aspectj.weaver.tools.ShadowMatch
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch
  super_class: java.lang.Object
{
  private final org.aspectj.weaver.tools.ShadowMatch primary;
    descriptor: Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.aspectj.weaver.tools.ShadowMatch other;
    descriptor: Lorg/aspectj/weaver/tools/ShadowMatch;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.aspectj.weaver.tools.ShadowMatch, org.aspectj.weaver.tools.ShadowMatch);
    descriptor: (Lorg/aspectj/weaver/tools/ShadowMatch;Lorg/aspectj/weaver/tools/ShadowMatch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
        start local 1 // org.aspectj.weaver.tools.ShadowMatch primary
        start local 2 // org.aspectj.weaver.tools.ShadowMatch other
         0: .line 684
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 685
            aload 0 /* this */
            aload 1 /* primary */
            putfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
         2: .line 686
            aload 0 /* this */
            aload 2 /* other */
            putfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.other:Lorg/aspectj/weaver/tools/ShadowMatch;
         3: .line 687
            return
        end local 2 // org.aspectj.weaver.tools.ShadowMatch other
        end local 1 // org.aspectj.weaver.tools.ShadowMatch primary
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;
            0    4     1  primary  Lorg/aspectj/weaver/tools/ShadowMatch;
            0    4     2    other  Lorg/aspectj/weaver/tools/ShadowMatch;
    MethodParameters:
         Name  Flags
      primary  
      other    

  public boolean alwaysMatches();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
         0: .line 691
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.alwaysMatches:()Z
            ireturn
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;

  public boolean maybeMatches();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
         0: .line 696
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.maybeMatches:()Z
            ireturn
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;

  public boolean neverMatches();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
         0: .line 701
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.neverMatches:()Z
            ireturn
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;

  public org.aspectj.weaver.tools.JoinPointMatch matchesJoinPoint(java.lang.Object, java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/aspectj/weaver/tools/JoinPointMatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
        start local 1 // java.lang.Object thisObject
        start local 2 // java.lang.Object targetObject
        start local 3 // java.lang.Object[] args
         0: .line 707
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
            aload 1 /* thisObject */
            aload 2 /* targetObject */
            aload 3 /* args */
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.matchesJoinPoint:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/aspectj/weaver/tools/JoinPointMatch;
         1: areturn
         2: .line 709
      StackMap locals:
      StackMap stack: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
            pop
         3: .line 710
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.other:Lorg/aspectj/weaver/tools/ShadowMatch;
            aload 1 /* thisObject */
            aload 2 /* targetObject */
            aload 3 /* args */
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.matchesJoinPoint:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/aspectj/weaver/tools/JoinPointMatch;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Object targetObject
        end local 1 // java.lang.Object thisObject
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;
            0    4     1    thisObject  Ljava/lang/Object;
            0    4     2  targetObject  Ljava/lang/Object;
            0    4     3          args  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
    MethodParameters:
              Name  Flags
      thisObject    
      targetObject  
      args          

  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.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
        start local 1 // org.aspectj.weaver.tools.MatchingContext aMatchContext
         0: .line 716
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.primary:Lorg/aspectj/weaver/tools/ShadowMatch;
            aload 1 /* aMatchContext */
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.setMatchingContext:(Lorg/aspectj/weaver/tools/MatchingContext;)V
         1: .line 717
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch.other:Lorg/aspectj/weaver/tools/ShadowMatch;
            aload 1 /* aMatchContext */
            invokeinterface org.aspectj.weaver.tools.ShadowMatch.setMatchingContext:(Lorg/aspectj/weaver/tools/MatchingContext;)V
         2: .line 718
            return
        end local 1 // org.aspectj.weaver.tools.MatchingContext aMatchContext
        end local 0 // org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/springframework/aop/aspectj/AspectJExpressionPointcut$DefensiveShadowMatch;
            0    3     1  aMatchContext  Lorg/aspectj/weaver/tools/MatchingContext;
    MethodParameters:
               Name  Flags
      aMatchContext  
}
SourceFile: "AspectJExpressionPointcut.java"
NestHost: org.springframework.aop.aspectj.AspectJExpressionPointcut
InnerClasses:
  public ReflectionWorldException = org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException of org.aspectj.weaver.reflect.ReflectionWorld
  private DefensiveShadowMatch = org.springframework.aop.aspectj.AspectJExpressionPointcut$DefensiveShadowMatch of org.springframework.aop.aspectj.AspectJExpressionPointcut