public class sun.misc.ClassLoaderUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.ClassLoaderUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/ClassLoaderUtil;
public static void releaseLoader(java.net.URLClassLoader);
descriptor: (Ljava/net/URLClassLoader;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic sun.misc.ClassLoaderUtil.releaseLoader:(Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 classLoader Ljava/net/URLClassLoader;
MethodParameters:
Name Flags
classLoader
public static java.util.List<java.io.IOException> releaseLoader(java.net.URLClassLoader, java.util.List<java.lang.String>);
descriptor: (Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=16, args_size=2
start local 0 start local 1 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 1: aload 1
ifnull 3
2: aload 1
invokeinterface java.util.List.clear:()V
3: StackMap locals: java.util.List
StackMap stack:
invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
4: aload 0
invokeinterface sun.misc.JavaNetAccess.getURLClassPath:(Ljava/net/URLClassLoader;)Lsun/misc/URLClassPath;
5: astore 3
start local 3 6: aload 3
getfield sun.misc.URLClassPath.loaders:Ljava/util/ArrayList;
astore 4
start local 4 7: aload 3
getfield sun.misc.URLClassPath.urls:Ljava/util/Stack;
astore 5
start local 5 8: aload 3
getfield sun.misc.URLClassPath.lmap:Ljava/util/HashMap;
astore 6
start local 6 9: aload 5
dup
astore 7
monitorenter
10: aload 5
invokevirtual java.util.Stack.clear:()V
11: aload 7
monitorexit
12: goto 15
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.Stack
StackMap stack: java.lang.Throwable
13: aload 7
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 6
dup
astore 7
monitorenter
16: aload 6
invokevirtual java.util.HashMap.clear:()V
17: aload 7
monitorexit
18: goto 21
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.HashMap
StackMap stack: java.lang.Throwable
19: aload 7
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 3
dup
astore 7
monitorenter
22: aload 4
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 9
goto 41
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 24: aload 8
ifnull 41
25: aload 8
instanceof sun.misc.URLClassPath$JarLoader
ifeq 41
26: aload 8
checkcast sun.misc.URLClassPath$JarLoader
astore 10
start local 10 27: aload 10
invokevirtual sun.misc.URLClassPath$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
astore 11
start local 11 28: aload 11
ifnull 41
29: aload 11
invokevirtual java.util.jar.JarFile.close:()V
30: aload 1
ifnull 41
31: aload 1
aload 11
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: goto 41
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath java.lang.Object java.util.Iterator sun.misc.URLClassPath$JarLoader java.util.jar.JarFile
StackMap stack: java.io.IOException
33: astore 12
start local 12 34: aload 11
ifnonnull 35
ldc "filename not available"
goto 36
StackMap locals: java.io.IOException
StackMap stack:
35: aload 11
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
36: astore 13
start local 13 37: new java.lang.StringBuilder
dup
ldc "Error closing JAR file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 38: new java.io.IOException
dup
aload 14
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 15
start local 15 39: aload 15
aload 12
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
40: aload 2
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 41: StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
42: aload 4
invokevirtual java.util.ArrayList.clear:()V
43: aload 7
monitorexit
44: goto 49
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath
StackMap stack: java.lang.Throwable
45: aload 7
monitorexit
46: athrow
end local 6 end local 5 end local 4 end local 3 47: StackMap locals: java.net.URLClassLoader java.util.List java.util.List
StackMap stack: java.lang.Throwable
astore 3
start local 3 48: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 49: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 classLoader Ljava/net/URLClassLoader;
0 50 1 jarsClosed Ljava/util/List<Ljava/lang/String;>;
1 50 2 ioExceptions Ljava/util/List<Ljava/io/IOException;>;
6 47 3 ucp Lsun/misc/URLClassPath;
7 47 4 loaders Ljava/util/ArrayList;
8 47 5 urls Ljava/util/Stack;
9 47 6 lmap Ljava/util/HashMap;
24 41 8 o Ljava/lang/Object;
27 41 10 jl Lsun/misc/URLClassPath$JarLoader;
28 41 11 jarFile Ljava/util/jar/JarFile;
34 41 12 ioe Ljava/io/IOException;
37 41 13 jarFileName Ljava/lang/String;
38 41 14 msg Ljava/lang/String;
39 41 15 newIOE Ljava/io/IOException;
48 49 3 t Ljava/lang/Throwable;
Exception table:
from to target type
10 12 13 any
13 14 13 any
16 18 19 any
19 20 19 any
28 32 33 Class java.io.IOException
22 44 45 any
45 46 45 any
1 47 47 Class java.lang.Throwable
Signature: (Ljava/net/URLClassLoader;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/io/IOException;>;
MethodParameters:
Name Flags
classLoader
jarsClosed
}
SourceFile: "ClassLoaderUtil.java"
InnerClasses:
JarLoader = sun.misc.URLClassPath$JarLoader of sun.misc.URLClassPath