class org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader extends org.springframework.core.OverridingClassLoader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader
super_class: org.springframework.core.OverridingClassLoader
{
final org.springframework.context.support.ContextTypeMatchClassLoader this$0;
descriptor: Lorg/springframework/context/support/ContextTypeMatchClassLoader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.context.support.ContextTypeMatchClassLoader, java.lang.ClassLoader);
descriptor: (Lorg/springframework/context/support/ContextTypeMatchClassLoader;Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
start local 2 // java.lang.ClassLoader parent
0: .line 84
aload 0 /* this */
aload 1
putfield org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.this$0:Lorg/springframework/context/support/ContextTypeMatchClassLoader;
1: .line 85
aload 0 /* this */
aload 2 /* parent */
invokespecial org.springframework.core.OverridingClassLoader.<init>:(Ljava/lang/ClassLoader;)V
2: .line 86
return
end local 2 // java.lang.ClassLoader parent
end local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/context/support/ContextTypeMatchClassLoader$ContextOverridingClassLoader;
0 3 2 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
this$0 final
parent
protected boolean isEligibleForOverriding(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
start local 1 // java.lang.String className
0: .line 90
aload 0 /* this */
aload 1 /* className */
invokevirtual org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.isExcluded:(Ljava/lang/String;)Z
ifne 1
aload 0 /* this */
getfield org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.this$0:Lorg/springframework/context/support/ContextTypeMatchClassLoader;
aload 1 /* className */
invokestatic org.springframework.context.support.ContextTypeMatchClassLoader.access$0:(Lorg/springframework/context/support/ContextTypeMatchClassLoader;Ljava/lang/String;)Z
ifeq 2
1: .line 91
StackMap locals:
StackMap stack:
iconst_0
ireturn
2: .line 93
StackMap locals:
StackMap stack:
getstatic org.springframework.context.support.ContextTypeMatchClassLoader.findLoadedClassMethod:Ljava/lang/reflect/Method;
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
3: .line 94
aload 0 /* this */
invokevirtual org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.getParent:()Ljava/lang/ClassLoader;
astore 2 /* parent */
start local 2 // java.lang.ClassLoader parent
4: .line 95
goto 8
5: .line 96
StackMap locals: java.lang.ClassLoader
StackMap stack:
getstatic org.springframework.context.support.ContextTypeMatchClassLoader.findLoadedClassMethod:Ljava/lang/reflect/Method;
aload 2 /* parent */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1 /* className */
aastore
invokestatic org.springframework.util.ReflectionUtils.invokeMethod:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
ifnull 7
6: .line 97
iconst_0
ireturn
7: .line 99
StackMap locals:
StackMap stack:
aload 2 /* parent */
invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
astore 2 /* parent */
8: .line 95
StackMap locals:
StackMap stack:
aload 2 /* parent */
ifnonnull 5
9: .line 101
iconst_1
ireturn
end local 2 // java.lang.ClassLoader parent
end local 1 // java.lang.String className
end local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/context/support/ContextTypeMatchClassLoader$ContextOverridingClassLoader;
0 10 1 className Ljava/lang/String;
4 10 2 parent Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
className
protected java.lang.Class<?> loadClassForOverriding(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
start local 1 // java.lang.String name
0: .line 106
aload 0 /* this */
getfield org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.this$0:Lorg/springframework/context/support/ContextTypeMatchClassLoader;
getfield org.springframework.context.support.ContextTypeMatchClassLoader.bytesCache:Ljava/util/Map;
aload 1 /* name */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 2 /* bytes */
start local 2 // byte[] bytes
1: .line 107
aload 2 /* bytes */
ifnonnull 7
2: .line 108
aload 0 /* this */
aload 1 /* name */
invokevirtual org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.loadBytesForClass:(Ljava/lang/String;)[B
astore 2 /* bytes */
3: .line 109
aload 2 /* bytes */
ifnull 6
4: .line 110
aload 0 /* this */
getfield org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.this$0:Lorg/springframework/context/support/ContextTypeMatchClassLoader;
getfield org.springframework.context.support.ContextTypeMatchClassLoader.bytesCache:Ljava/util/Map;
aload 1 /* name */
aload 2 /* bytes */
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: .line 111
goto 7
6: .line 113
StackMap locals: byte[]
StackMap stack:
aconst_null
areturn
7: .line 116
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* name */
aload 2 /* bytes */
iconst_0
aload 2 /* bytes */
arraylength
invokevirtual org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader.defineClass:(Ljava/lang/String;[BII)Ljava/lang/Class;
areturn
end local 2 // byte[] bytes
end local 1 // java.lang.String name
end local 0 // org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/context/support/ContextTypeMatchClassLoader$ContextOverridingClassLoader;
0 8 1 name Ljava/lang/String;
1 8 2 bytes [B
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
}
SourceFile: "ContextTypeMatchClassLoader.java"
NestHost: org.springframework.context.support.ContextTypeMatchClassLoader
InnerClasses:
private ContextOverridingClassLoader = org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader of org.springframework.context.support.ContextTypeMatchClassLoader