abstract class org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor extends org.springframework.aop.aspectj.RuntimeTestWalker$TestVisitorAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor
  super_class: org.springframework.aop.aspectj.RuntimeTestWalker$TestVisitorAdapter
{
  private final java.lang.Class<?> matchClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

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

  private final int matchVarType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.Class<?>, boolean, );
    descriptor: (Ljava/lang/Class;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
        start local 1 // java.lang.Class matchClass
        start local 2 // boolean defaultMatches
        start local 3 // int matchVarType
         0: .line 186
            aload 0 /* this */
            invokespecial org.springframework.aop.aspectj.RuntimeTestWalker$TestVisitorAdapter.<init>:()V
         1: .line 187
            aload 0 /* this */
            aload 1 /* matchClass */
            putfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matchClass:Ljava/lang/Class;
         2: .line 188
            aload 0 /* this */
            iload 2 /* defaultMatches */
            putfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matches:Z
         3: .line 189
            aload 0 /* this */
            iload 3 /* matchVarType */
            putfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matchVarType:I
         4: .line 190
            return
        end local 3 // int matchVarType
        end local 2 // boolean defaultMatches
        end local 1 // java.lang.Class matchClass
        end local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/aop/aspectj/RuntimeTestWalker$InstanceOfResidueTestVisitor;
            0    5     1      matchClass  Ljava/lang/Class<*>;
            0    5     2  defaultMatches  Z
            0    5     3    matchVarType  I
    Signature: (Ljava/lang/Class<*>;ZI)V
    MethodParameters:
                Name  Flags
      matchClass      
      defaultMatches  
      matchVarType    

  public boolean instanceOfMatches(org.aspectj.weaver.ast.Test);
    descriptor: (Lorg/aspectj/weaver/ast/Test;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
        start local 1 // org.aspectj.weaver.ast.Test test
         0: .line 193
            aload 1 /* test */
            aload 0 /* this */
            invokevirtual org.aspectj.weaver.ast.Test.accept:(Lorg/aspectj/weaver/ast/ITestVisitor;)V
         1: .line 194
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matches:Z
            ireturn
        end local 1 // org.aspectj.weaver.ast.Test test
        end local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/aop/aspectj/RuntimeTestWalker$InstanceOfResidueTestVisitor;
            0    2     1  test  Lorg/aspectj/weaver/ast/Test;
    MethodParameters:
      Name  Flags
      test  

  public void visit(org.aspectj.weaver.ast.Instanceof);
    descriptor: (Lorg/aspectj/weaver/ast/Instanceof;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
        start local 1 // org.aspectj.weaver.ast.Instanceof i
         0: .line 199
            aload 0 /* this */
            aload 1 /* i */
            invokevirtual org.aspectj.weaver.ast.Instanceof.getVar:()Lorg/aspectj/weaver/ast/Var;
            checkcast org.aspectj.weaver.reflect.ReflectionVar
            invokevirtual org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.getVarType:(Lorg/aspectj/weaver/reflect/ReflectionVar;)I
            istore 2 /* varType */
        start local 2 // int varType
         1: .line 200
            iload 2 /* varType */
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matchVarType:I
            if_icmpeq 3
         2: .line 201
            return
         3: .line 203
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 3 /* typeClass */
        start local 3 // java.lang.Class typeClass
         4: .line 204
            aload 1 /* i */
            invokevirtual org.aspectj.weaver.ast.Instanceof.getType:()Lorg/aspectj/weaver/UnresolvedType;
            checkcast org.aspectj.weaver.ResolvedType
            astore 4 /* type */
        start local 4 // org.aspectj.weaver.ResolvedType type
         5: .line 205
            aload 4 /* type */
            instanceof org.aspectj.weaver.ReferenceType
            ifeq 13
         6: .line 206
            aload 4 /* type */
            checkcast org.aspectj.weaver.ReferenceType
            invokevirtual org.aspectj.weaver.ReferenceType.getDelegate:()Lorg/aspectj/weaver/ReferenceTypeDelegate;
            astore 5 /* delegate */
        start local 5 // org.aspectj.weaver.ReferenceTypeDelegate delegate
         7: .line 207
            aload 5 /* delegate */
            instanceof org.aspectj.weaver.reflect.ReflectionBasedReferenceTypeDelegate
            ifeq 13
         8: .line 209
            getstatic org.springframework.aop.aspectj.RuntimeTestWalker.myClassField:Ljava/lang/reflect/Field;
            invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Field;)V
         9: .line 210
            getstatic org.springframework.aop.aspectj.RuntimeTestWalker.myClassField:Ljava/lang/reflect/Field;
            aload 5 /* delegate */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* typeClass */
        10: .line 211
            goto 13
        11: .line 212
      StackMap locals: org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor org.aspectj.weaver.ast.Instanceof int java.lang.Class org.aspectj.weaver.ResolvedType org.aspectj.weaver.ReferenceTypeDelegate
      StackMap stack: java.lang.IllegalAccessException
            astore 6 /* ex */
        start local 6 // java.lang.IllegalAccessException ex
        12: .line 213
            new java.lang.IllegalStateException
            dup
            aload 6 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalAccessException ex
        end local 5 // org.aspectj.weaver.ReferenceTypeDelegate delegate
        13: .line 219
      StackMap locals:
      StackMap stack:
            aload 3 /* typeClass */
            ifnonnull 15
        14: .line 220
            aload 4 /* type */
            invokevirtual org.aspectj.weaver.ResolvedType.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matchClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* typeClass */
        15: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* typeClass */
            aload 0 /* this */
            getfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matchClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matches:Z
        16: .line 223
            goto 19
        17: .line 224
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
        18: .line 225
            aload 0 /* this */
            iconst_0
            putfield org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor.matches:Z
        19: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.aspectj.weaver.ResolvedType type
        end local 3 // java.lang.Class typeClass
        end local 2 // int varType
        end local 1 // org.aspectj.weaver.ast.Instanceof i
        end local 0 // org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/springframework/aop/aspectj/RuntimeTestWalker$InstanceOfResidueTestVisitor;
            0   20     1          i  Lorg/aspectj/weaver/ast/Instanceof;
            1   20     2    varType  I
            4   20     3  typeClass  Ljava/lang/Class<*>;
            5   20     4       type  Lorg/aspectj/weaver/ResolvedType;
            7   13     5   delegate  Lorg/aspectj/weaver/ReferenceTypeDelegate;
           12   13     6         ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.IllegalAccessException
          13    16      17  Class java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      i     
}
SourceFile: "RuntimeTestWalker.java"
NestHost: org.springframework.aop.aspectj.RuntimeTestWalker
InnerClasses:
  private abstract InstanceOfResidueTestVisitor = org.springframework.aop.aspectj.RuntimeTestWalker$InstanceOfResidueTestVisitor of org.springframework.aop.aspectj.RuntimeTestWalker
  private TestVisitorAdapter = org.springframework.aop.aspectj.RuntimeTestWalker$TestVisitorAdapter of org.springframework.aop.aspectj.RuntimeTestWalker