public class sun.rmi.rmic.iiop.ClassPathLoader extends java.lang.ClassLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.rmic.iiop.ClassPathLoader
super_class: java.lang.ClassLoader
{
private sun.tools.java.ClassPath classPath;
descriptor: Lsun/tools/java/ClassPath;
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.tools.java.ClassPath);
descriptor: (Lsun/tools/java/ClassPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.ClassLoader.<init>:()V
1: aload 0
aload 1
putfield sun.rmi.rmic.iiop.ClassPathLoader.classPath:Lsun/tools/java/ClassPath;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/rmic/iiop/ClassPathLoader;
0 3 1 classPath Lsun/tools/java/ClassPath;
MethodParameters:
Name Flags
classPath
protected java.lang.Class findClass(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 start local 1 0: aload 0
aload 1
invokevirtual sun.rmi.rmic.iiop.ClassPathLoader.loadClassData:(Ljava/lang/String;)[B
astore 2
start local 2 1: aload 0
aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual sun.rmi.rmic.iiop.ClassPathLoader.defineClass:(Ljava/lang/String;[BII)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/rmic/iiop/ClassPathLoader;
0 2 1 name Ljava/lang/String;
1 2 2 b [B
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
name
private byte[] loadClassData(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
bipush 46
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 3: aload 0
getfield sun.rmi.rmic.iiop.ClassPathLoader.classPath:Lsun/tools/java/ClassPath;
aload 2
invokevirtual sun.tools.java.ClassPath.getFile:(Ljava/lang/String;)Lsun/tools/java/ClassFile;
astore 3
start local 3 4: aload 3
ifnull 32
5: aconst_null
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: new java.io.DataInputStream
dup
aload 3
invokevirtual sun.tools.java.ClassFile.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
8: astore 6
start local 6 9: aload 3
invokevirtual sun.tools.java.ClassFile.length:()J
l2i
newarray 8
astore 5
10: aload 6
aload 5
invokevirtual java.io.DataInputStream.readFully:([B)V
11: goto 23
StackMap locals: sun.rmi.rmic.iiop.ClassPathLoader java.lang.String java.lang.String sun.tools.java.ClassFile java.lang.Exception byte[] java.io.DataInputStream
StackMap stack: java.io.IOException
12: astore 7
start local 7 13: aconst_null
astore 5
14: aload 7
astore 4
end local 7 15: aload 6
invokevirtual java.io.DataInputStream.close:()V
16: goto 29
StackMap locals:
StackMap stack: java.io.IOException
17: pop
goto 29
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
19: aload 6
invokevirtual java.io.DataInputStream.close:()V
20: goto 22
StackMap locals: sun.rmi.rmic.iiop.ClassPathLoader java.lang.String java.lang.String sun.tools.java.ClassFile java.lang.Exception byte[] java.io.DataInputStream top java.lang.Throwable
StackMap stack: java.io.IOException
21: pop
22: StackMap locals:
StackMap stack:
aload 8
athrow
23: StackMap locals: sun.rmi.rmic.iiop.ClassPathLoader java.lang.String java.lang.String sun.tools.java.ClassFile java.lang.Exception byte[] java.io.DataInputStream
StackMap stack:
aload 6
invokevirtual java.io.DataInputStream.close:()V
24: goto 29
StackMap locals:
StackMap stack: java.io.IOException
25: pop
end local 6 26: goto 29
StackMap locals: sun.rmi.rmic.iiop.ClassPathLoader java.lang.String java.lang.String sun.tools.java.ClassFile java.lang.Exception byte[]
StackMap stack: java.io.IOException
27: astore 6
start local 6 28: aload 6
astore 4
end local 6 29: StackMap locals:
StackMap stack:
aload 5
ifnonnull 31
30: new java.lang.ClassNotFoundException
dup
aload 1
aload 4
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
31: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 32: StackMap locals:
StackMap stack:
new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/rmi/rmic/iiop/ClassPathLoader;
0 33 1 className Ljava/lang/String;
3 33 2 filename Ljava/lang/String;
4 33 3 classFile Lsun/tools/java/ClassFile;
6 32 4 reportedError Ljava/lang/Exception;
7 32 5 data [B
9 26 6 input Ljava/io/DataInputStream;
13 15 7 ex Ljava/io/IOException;
28 29 6 ex Ljava/io/IOException;
Exception table:
from to target type
10 11 12 Class java.io.IOException
15 16 17 Class java.io.IOException
10 15 18 any
19 20 21 Class java.io.IOException
23 24 25 Class java.io.IOException
7 26 27 Class java.io.IOException
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className
}
SourceFile: "ClassPathLoader.java"