public class sun.rmi.rmic.RMIGenerator implements sun.rmi.rmic.RMIConstants, sun.rmi.rmic.Generator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.rmic.RMIGenerator
super_class: java.lang.Object
{
private static final java.util.Hashtable<java.lang.String, java.lang.Integer> versionOptions;
descriptor: Ljava/util/Hashtable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
private sun.rmi.rmic.BatchEnvironment env;
descriptor: Lsun/rmi/rmic/BatchEnvironment;
flags: (0x0002) ACC_PRIVATE
private sun.rmi.rmic.RemoteClass remoteClass;
descriptor: Lsun/rmi/rmic/RemoteClass;
flags: (0x0002) ACC_PRIVATE
private int version;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.rmi.rmic.RemoteClass$Method[] remoteMethods;
descriptor: [Lsun/rmi/rmic/RemoteClass$Method;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.Identifier remoteClassName;
descriptor: Lsun/tools/java/Identifier;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.Identifier stubClassName;
descriptor: Lsun/tools/java/Identifier;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.Identifier skeletonClassName;
descriptor: Lsun/tools/java/Identifier;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.ClassDefinition cdef;
descriptor: Lsun/tools/java/ClassDefinition;
flags: (0x0002) ACC_PRIVATE
private java.io.File destDir;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.File stubFile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.File skeletonFile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] methodFieldNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.ClassDefinition defException;
descriptor: Lsun/tools/java/ClassDefinition;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.ClassDefinition defRemoteException;
descriptor: Lsun/tools/java/ClassDefinition;
flags: (0x0002) ACC_PRIVATE
private sun.tools.java.ClassDefinition defRuntimeException;
descriptor: Lsun/tools/java/ClassDefinition;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
1: getstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
ldc "-v1.1"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
ldc "-vcompat"
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
ldc "-v1.2"
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_3
putfield sun.rmi.rmic.RMIGenerator.version:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/rmic/RMIGenerator;
public boolean parseArgs(java.lang.String[], sun.rmi.rmic.Main);
descriptor: ([Ljava/lang/String;Lsun/rmi/rmic/Main;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 16
3: StackMap locals: java.lang.String int
StackMap stack:
aload 1
iload 4
aaload
ifnull 15
4: aload 1
iload 4
aaload
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 5
start local 5 5: getstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
aload 5
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 15
6: aload 3
ifnull 12
7: aload 3
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
8: aload 2
ldc "rmic.cannot.use.both"
9: aload 3
aload 5
10: invokevirtual sun.rmi.rmic.Main.error:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
11: iconst_0
ireturn
12: StackMap locals: java.lang.String
StackMap stack:
aload 5
astore 3
13: aload 0
getstatic sun.rmi.rmic.RMIGenerator.versionOptions:Ljava/util/Hashtable;
aload 5
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
putfield sun.rmi.rmic.RMIGenerator.version:I
14: aload 1
iload 4
aconst_null
aastore
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 1
arraylength
if_icmplt 3
end local 4 17: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/rmi/rmic/RMIGenerator;
0 18 1 argv [Ljava/lang/String;
0 18 2 main Lsun/rmi/rmic/Main;
1 18 3 explicitVersion Ljava/lang/String;
2 17 4 i I
5 15 5 arg Ljava/lang/String;
MethodParameters:
Name Flags
argv
main
public void generate(sun.rmi.rmic.BatchEnvironment, sun.tools.java.ClassDefinition, java.io.File);
descriptor: (Lsun/rmi/rmic/BatchEnvironment;Lsun/tools/java/ClassDefinition;Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokestatic sun.rmi.rmic.RemoteClass.forClass:(Lsun/rmi/rmic/BatchEnvironment;Lsun/tools/java/ClassDefinition;)Lsun/rmi/rmic/RemoteClass;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: return
3: StackMap locals: sun.rmi.rmic.RemoteClass
StackMap stack:
new sun.rmi.rmic.RMIGenerator
dup
aload 1
aload 2
aload 3
aload 4
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
invokespecial sun.rmi.rmic.RMIGenerator.<init>:(Lsun/rmi/rmic/BatchEnvironment;Lsun/tools/java/ClassDefinition;Ljava/io/File;Lsun/rmi/rmic/RemoteClass;I)V
astore 5
start local 5 4: goto 8
end local 5 StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
5: astore 6
start local 6 6: aload 1
lconst_0
ldc "rmic.class.not.found"
aload 6
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
invokevirtual sun.rmi.rmic.BatchEnvironment.error:(JLjava/lang/String;Ljava/lang/Object;)V
7: return
end local 6 start local 5 8: StackMap locals: sun.rmi.rmic.RMIGenerator
StackMap stack:
aload 5
invokevirtual sun.rmi.rmic.RMIGenerator.generate:()V
9: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/rmi/rmic/RMIGenerator;
0 10 1 env Lsun/rmi/rmic/BatchEnvironment;
0 10 2 cdef Lsun/tools/java/ClassDefinition;
0 10 3 destDir Ljava/io/File;
1 10 4 remoteClass Lsun/rmi/rmic/RemoteClass;
4 5 5 gen Lsun/rmi/rmic/RMIGenerator;
8 10 5 gen Lsun/rmi/rmic/RMIGenerator;
6 8 6 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
3 4 5 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
cdef
destDir
private void generate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokevirtual sun.rmi.rmic.BatchEnvironment.addGeneratedFile:(Ljava/io/File;)V
1: new sun.rmi.rmic.IndentingWriter
dup
2: new java.io.OutputStreamWriter
dup
new java.io.FileOutputStream
dup
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
3: invokespecial sun.rmi.rmic.IndentingWriter.<init>:(Ljava/io/Writer;)V
astore 1
start local 1 4: aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeStub:(Lsun/rmi/rmic/IndentingWriter;)V
5: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.close:()V
6: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.BatchEnvironment.verbose:()Z
ifeq 8
7: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
ldc "rmic.wrote"
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokestatic sun.rmi.rmic.Main.getText:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.rmi.rmic.BatchEnvironment.output:(Ljava/lang/String;)V
8: StackMap locals: sun.rmi.rmic.IndentingWriter
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokestatic sun.tools.java.ClassFile.newClassFile:(Ljava/io/File;)Lsun/tools/java/ClassFile;
invokevirtual sun.rmi.rmic.BatchEnvironment.parseFile:(Lsun/tools/java/ClassFile;)V
end local 1 9: goto 13
StackMap locals: sun.rmi.rmic.RMIGenerator
StackMap stack: java.io.IOException
10: pop
11: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
lconst_0
ldc "cant.write"
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.BatchEnvironment.error:(JLjava/lang/String;Ljava/lang/Object;)V
12: return
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_1
if_icmpeq 15
14: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 32
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
invokevirtual sun.rmi.rmic.BatchEnvironment.addGeneratedFile:(Ljava/io/File;)V
16: new sun.rmi.rmic.IndentingWriter
dup
17: new java.io.OutputStreamWriter
dup
18: new java.io.FileOutputStream
dup
aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
19: invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
20: invokespecial sun.rmi.rmic.IndentingWriter.<init>:(Ljava/io/Writer;)V
astore 1
start local 1 21: aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeSkeleton:(Lsun/rmi/rmic/IndentingWriter;)V
22: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.close:()V
23: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.BatchEnvironment.verbose:()Z
ifeq 27
24: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
ldc "rmic.wrote"
25: aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
invokevirtual java.io.File.getPath:()Ljava/lang/String;
26: invokestatic sun.rmi.rmic.Main.getText:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.rmi.rmic.BatchEnvironment.output:(Ljava/lang/String;)V
27: StackMap locals: sun.rmi.rmic.IndentingWriter
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
invokestatic sun.tools.java.ClassFile.newClassFile:(Ljava/io/File;)Lsun/tools/java/ClassFile;
invokevirtual sun.rmi.rmic.BatchEnvironment.parseFile:(Lsun/tools/java/ClassFile;)V
end local 1 28: goto 36
StackMap locals: sun.rmi.rmic.RMIGenerator
StackMap stack: java.io.IOException
29: pop
30: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
lconst_0
ldc "cant.write"
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.BatchEnvironment.error:(JLjava/lang/String;Ljava/lang/Object;)V
31: return
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
aload 0
getfield sun.rmi.rmic.RMIGenerator.destDir:Ljava/io/File;
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
invokestatic sun.rmi.rmic.Util.getOutputDirectoryFor:(Lsun/tools/java/Identifier;Ljava/io/File;Lsun/rmi/rmic/BatchEnvironment;)Ljava/io/File;
astore 1
start local 1 33: new java.io.File
dup
aload 1
new java.lang.StringBuilder
dup
aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 2
start local 2 34: aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
35: aload 2
invokevirtual java.io.File.delete:()Z
pop
end local 2 end local 1 36: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/rmi/rmic/RMIGenerator;
4 9 1 out Lsun/rmi/rmic/IndentingWriter;
21 28 1 out Lsun/rmi/rmic/IndentingWriter;
33 36 1 outputDir Ljava/io/File;
34 36 2 skeletonClassFile Ljava/io/File;
Exception table:
from to target type
1 9 10 Class java.io.IOException
16 28 29 Class java.io.IOException
protected static java.io.File sourceFileForClass(sun.tools.java.Identifier, sun.tools.java.Identifier, java.io.File, sun.rmi.rmic.BatchEnvironment);
descriptor: (Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;Ljava/io/File;Lsun/rmi/rmic/BatchEnvironment;)Ljava/io/File;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokestatic sun.rmi.rmic.Util.getOutputDirectoryFor:(Lsun/tools/java/Identifier;Ljava/io/File;Lsun/rmi/rmic/BatchEnvironment;)Ljava/io/File;
astore 4
start local 4 1: aload 1
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
astore 5
start local 5 2: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 3: new java.io.File
dup
aload 4
aload 6
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 className Lsun/tools/java/Identifier;
0 4 1 outputClassName Lsun/tools/java/Identifier;
0 4 2 destDir Ljava/io/File;
0 4 3 env Lsun/rmi/rmic/BatchEnvironment;
1 4 4 packageDir Ljava/io/File;
2 4 5 outputName Ljava/lang/String;
3 4 6 outputFileName Ljava/lang/String;
MethodParameters:
Name Flags
className
outputClassName
destDir
env
private void <init>(sun.rmi.rmic.BatchEnvironment, sun.tools.java.ClassDefinition, java.io.File, sun.rmi.rmic.RemoteClass, int);
descriptor: (Lsun/rmi/rmic/BatchEnvironment;Lsun/tools/java/ClassDefinition;Ljava/io/File;Lsun/rmi/rmic/RemoteClass;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield sun.rmi.rmic.RMIGenerator.destDir:Ljava/io/File;
2: aload 0
aload 2
putfield sun.rmi.rmic.RMIGenerator.cdef:Lsun/tools/java/ClassDefinition;
3: aload 0
aload 1
putfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
4: aload 0
aload 4
putfield sun.rmi.rmic.RMIGenerator.remoteClass:Lsun/rmi/rmic/RemoteClass;
5: aload 0
iload 5
putfield sun.rmi.rmic.RMIGenerator.version:I
6: aload 0
aload 4
invokevirtual sun.rmi.rmic.RemoteClass.getRemoteMethods:()[Lsun/rmi/rmic/RemoteClass$Method;
putfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
7: aload 0
aload 4
invokevirtual sun.rmi.rmic.RemoteClass.getName:()Lsun/tools/java/Identifier;
putfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
8: aload 0
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.stubFor:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
putfield sun.rmi.rmic.RMIGenerator.stubClassName:Lsun/tools/java/Identifier;
9: aload 0
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.skeletonFor:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
putfield sun.rmi.rmic.RMIGenerator.skeletonClassName:Lsun/tools/java/Identifier;
10: aload 0
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
invokestatic sun.rmi.rmic.RMIGenerator.nameMethodFields:([Lsun/rmi/rmic/RemoteClass$Method;)[Ljava/lang/String;
putfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
11: aload 0
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubClassName:Lsun/tools/java/Identifier;
aload 3
aload 1
invokestatic sun.rmi.rmic.RMIGenerator.sourceFileForClass:(Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;Ljava/io/File;Lsun/rmi/rmic/BatchEnvironment;)Ljava/io/File;
putfield sun.rmi.rmic.RMIGenerator.stubFile:Ljava/io/File;
12: aload 0
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonClassName:Lsun/tools/java/Identifier;
aload 3
aload 1
invokestatic sun.rmi.rmic.RMIGenerator.sourceFileForClass:(Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;Ljava/io/File;Lsun/rmi/rmic/BatchEnvironment;)Ljava/io/File;
putfield sun.rmi.rmic.RMIGenerator.skeletonFile:Ljava/io/File;
13: aload 0
14: aload 1
getstatic sun.rmi.rmic.RMIGenerator.idJavaLangException:Lsun/tools/java/Identifier;
invokevirtual sun.rmi.rmic.BatchEnvironment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
15: aload 1
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
16: putfield sun.rmi.rmic.RMIGenerator.defException:Lsun/tools/java/ClassDefinition;
17: aload 0
18: aload 1
getstatic sun.rmi.rmic.RMIGenerator.idRemoteException:Lsun/tools/java/Identifier;
invokevirtual sun.rmi.rmic.BatchEnvironment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
19: aload 1
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
20: putfield sun.rmi.rmic.RMIGenerator.defRemoteException:Lsun/tools/java/ClassDefinition;
21: aload 0
22: aload 1
getstatic sun.rmi.rmic.RMIGenerator.idJavaLangRuntimeException:Lsun/tools/java/Identifier;
invokevirtual sun.rmi.rmic.BatchEnvironment.getClassDeclaration:(Lsun/tools/java/Identifier;)Lsun/tools/java/ClassDeclaration;
23: aload 1
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
24: putfield sun.rmi.rmic.RMIGenerator.defRuntimeException:Lsun/tools/java/ClassDefinition;
25: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/rmi/rmic/RMIGenerator;
0 26 1 env Lsun/rmi/rmic/BatchEnvironment;
0 26 2 cdef Lsun/tools/java/ClassDefinition;
0 26 3 destDir Ljava/io/File;
0 26 4 remoteClass Lsun/rmi/rmic/RemoteClass;
0 26 5 version I
Exceptions:
throws sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
env
cdef
destDir
remoteClass
version
private void writeStub(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "// Stub class generated by rmic, do not edit."
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
1: aload 1
ldc "// Contents subject to change without notice."
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
2: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
3: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.isQualified:()Z
ifeq 6
4: aload 1
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
5: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
6: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "public final class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
getfield sun.rmi.rmic.RMIGenerator.stubClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
9: aload 1
new java.lang.StringBuilder
dup
ldc "extends "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idRemoteStub:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
10: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClass:Lsun/rmi/rmic/RemoteClass;
invokevirtual sun.rmi.rmic.RemoteClass.getRemoteInterfaces:()[Lsun/tools/java/ClassDefinition;
astore 2
start local 2 11: aload 2
arraylength
ifle 21
12: aload 1
ldc "implements "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
13: iconst_0
istore 3
start local 3 14: goto 19
15: StackMap locals: sun.tools.java.ClassDefinition[] int
StackMap stack:
iload 3
ifle 17
16: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
aaload
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 2
arraylength
if_icmplt 15
end local 3 20: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
21: StackMap locals:
StackMap stack:
aload 1
ldc "{"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
22: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_1
if_icmpeq 24
23: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 28
24: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeOperationsArray:(Lsun/rmi/rmic/IndentingWriter;)V
25: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
26: aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeInterfaceHash:(Lsun/rmi/rmic/IndentingWriter;)V
27: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpeq 30
29: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_3
if_icmpne 60
30: StackMap locals:
StackMap stack:
aload 1
ldc "private static final long serialVersionUID = 2;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
31: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
32: aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
arraylength
ifle 60
33: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 35
34: aload 1
ldc "private static boolean useNewInvoke;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeMethodFieldDeclarations:(Lsun/rmi/rmic/IndentingWriter;)V
36: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
37: aload 1
ldc "static {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
38: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
39: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 49
40: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
getstatic sun.rmi.rmic.RMIGenerator.idRemoteRef:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".class.getMethod(\"invoke\","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
41: aload 1
ldc "new java.lang.Class[] {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
42: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
getstatic sun.rmi.rmic.RMIGenerator.idRemote:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".class,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
43: aload 1
ldc "java.lang.reflect.Method.class,"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
44: aload 1
ldc "java.lang.Object[].class,"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
45: aload 1
ldc "long.class"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
46: aload 1
ldc "});"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
47: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pO:()V
48: aload 1
ldc "useNewInvoke = true;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
49: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeMethodFieldInitializers:(Lsun/rmi/rmic/IndentingWriter;)V
50: aload 1
ldc "} catch (java.lang.NoSuchMethodException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
51: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 54
52: aload 1
ldc "useNewInvoke = false;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
53: goto 57
54: StackMap locals:
StackMap stack:
aload 1
ldc "throw new java.lang.NoSuchMethodError("
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
55: aload 1
ldc "\"stub class initialization failed\");"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
56: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pO:()V
57: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
58: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
59: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
60: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeStubConstructors:(Lsun/rmi/rmic/IndentingWriter;)V
61: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
62: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
ifle 70
63: aload 1
ldc "// methods from remote interfaces"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
64: iconst_0
istore 3
start local 3 65: goto 69
66: StackMap locals: int
StackMap stack:
aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
67: aload 0
aload 1
iload 3
invokevirtual sun.rmi.rmic.RMIGenerator.writeStubMethod:(Lsun/rmi/rmic/IndentingWriter;I)V
68: iinc 3 1
StackMap locals:
StackMap stack:
69: iload 3
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
if_icmplt 66
end local 3 70: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
71: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Lsun/rmi/rmic/RMIGenerator;
0 72 1 p Lsun/rmi/rmic/IndentingWriter;
11 72 2 remoteInterfaces [Lsun/tools/java/ClassDefinition;
14 20 3 i I
65 70 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeStubConstructors(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "// constructors"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
1: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_1
if_icmpeq 3
2: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 8
3: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
6: aload 1
ldc "super();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
7: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.RMIGenerator.stubClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic sun.rmi.rmic.RMIGenerator.idRemoteRef:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ref) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
11: aload 1
ldc "super(ref);"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
12: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/rmi/rmic/RMIGenerator;
0 14 1 p Lsun/rmi/rmic/IndentingWriter;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeStubMethod(sun.rmi.rmic.IndentingWriter, int);
descriptor: (Lsun/rmi/rmic/IndentingWriter;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
iload 2
aaload
astore 3
start local 3 1: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getName:()Lsun/tools/java/Identifier;
astore 4
start local 4 2: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getType:()Lsun/tools/java/Type;
astore 5
start local 5 3: aload 5
invokevirtual sun.tools.java.Type.getArgumentTypes:()[Lsun/tools/java/Type;
astore 6
start local 6 4: aload 6
invokestatic sun.rmi.rmic.RMIGenerator.nameParameters:([Lsun/tools/java/Type;)[Ljava/lang/String;
astore 7
start local 7 5: aload 5
invokevirtual sun.tools.java.Type.getReturnType:()Lsun/tools/java/Type;
astore 8
start local 8 6: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getExceptions:()[Lsun/tools/java/ClassDeclaration;
astore 9
start local 9 7: aload 1
new java.lang.StringBuilder
dup
ldc "// implementation of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 5
aload 4
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
iconst_1
iconst_0
invokevirtual sun.tools.java.Type.typeString:(Ljava/lang/String;ZZ)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
10: aload 1
new java.lang.StringBuilder
dup
ldc "public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
11: iconst_0
istore 10
start local 10 12: goto 17
13: StackMap locals: sun.rmi.rmic.RMIGenerator sun.rmi.rmic.IndentingWriter int sun.rmi.rmic.RemoteClass$Method sun.tools.java.Identifier sun.tools.java.Type sun.tools.java.Type[] java.lang.String[] sun.tools.java.Type sun.tools.java.ClassDeclaration[] int
StackMap stack:
iload 10
ifle 15
14: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 6
iload 10
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
iload 10
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
16: iinc 10 1
StackMap locals:
StackMap stack:
17: iload 10
aload 6
arraylength
if_icmplt 13
end local 10 18: aload 1
ldc ")"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
19: aload 9
arraylength
ifle 29
20: aload 1
ldc "throws "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
21: iconst_0
istore 10
start local 10 22: goto 27
23: StackMap locals:
StackMap stack:
iload 10
ifle 25
24: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 1
aload 9
iload 10
aaload
invokevirtual sun.tools.java.ClassDeclaration.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
26: iinc 10 1
StackMap locals:
StackMap stack:
27: iload 10
aload 9
arraylength
if_icmplt 23
end local 10 28: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
29: StackMap locals:
StackMap stack:
aload 1
ldc "{"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
30: aload 0
aload 9
invokevirtual sun.rmi.rmic.RMIGenerator.computeUniqueCatchList:([Lsun/tools/java/ClassDeclaration;)Ljava/util/Vector;
astore 10
start local 10 31: aload 10
invokevirtual java.util.Vector.size:()I
ifle 33
32: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
33: StackMap locals: java.util.Vector
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 35
34: aload 1
ldc "if (useNewInvoke) {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpeq 37
36: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_3
if_icmpne 57
37: StackMap locals:
StackMap stack:
aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 39
38: aload 1
ldc "Object $result = "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "ref.invoke(this, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
40: aload 6
arraylength
ifle 51
41: aload 1
ldc "new java.lang.Object[] {"
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
42: iconst_0
istore 11
start local 11 43: goto 48
44: StackMap locals: int
StackMap stack:
iload 11
ifle 46
45: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 1
aload 6
iload 11
aaload
aload 7
iload 11
aaload
invokestatic sun.rmi.rmic.RMIGenerator.wrapArgumentCode:(Lsun/tools/java/Type;Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
47: iinc 11 1
StackMap locals:
StackMap stack:
48: iload 11
aload 6
arraylength
if_icmplt 44
end local 11 49: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
50: goto 52
51: StackMap locals:
StackMap stack:
aload 1
ldc "null"
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc ", "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getMethodHash:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "L);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
53: aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 57
54: aload 1
new java.lang.StringBuilder
dup
ldc "return "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
55: aload 8
ldc "$result"
invokestatic sun.rmi.rmic.RMIGenerator.unwrapArgumentCode:(Lsun/tools/java/Type;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
57: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 59
58: aload 1
ldc "} else {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
59: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_1
if_icmpeq 61
60: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 96
61: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
getstatic sun.rmi.rmic.RMIGenerator.idRemoteCall:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " call = ref.newCall(("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic sun.rmi.rmic.RMIGenerator.idRemoteObject:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
62: ldc ") this, operations, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", interfaceHash);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
64: aload 6
arraylength
ifle 73
65: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
66: aload 1
ldc "java.io.ObjectOutput out = call.getOutputStream();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
67: aload 1
ldc "out"
aload 6
aload 7
invokestatic sun.rmi.rmic.RMIGenerator.writeMarshalArguments:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;[Lsun/tools/java/Type;[Ljava/lang/String;)V
68: aload 1
ldc "} catch (java.io.IOException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
69: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idMarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
70: ldc "(\"error marshalling arguments\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
71: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
72: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
73: StackMap locals:
StackMap stack:
aload 1
ldc "ref.invoke(call);"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
74: aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 77
75: aload 1
ldc "ref.done(call);"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
76: goto 96
77: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " $result;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
78: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
79: aload 1
ldc "java.io.ObjectInput in = call.getInputStream();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
80: aload 1
ldc "in"
aload 8
ldc "$result"
invokestatic sun.rmi.rmic.RMIGenerator.writeUnmarshalArgument:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)Z
81: istore 11
start local 11 82: aload 1
ldc ";"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
83: aload 1
ldc "} catch (java.io.IOException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
84: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
85: ldc "(\"error unmarshalling return\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
86: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
87: iload 11
ifeq 92
88: aload 1
ldc "} catch (java.lang.ClassNotFoundException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
89: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
90: ldc "(\"error unmarshalling return\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
91: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
92: StackMap locals: int
StackMap stack:
aload 1
ldc "} finally {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
93: aload 1
ldc "ref.done(call);"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
94: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
95: aload 1
ldc "return $result;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
end local 11 96: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 98
97: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
98: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.Vector.size:()I
ifle 110
99: aload 10
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 11
start local 11 100: goto 104
101: StackMap locals: java.util.Enumeration
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.tools.java.ClassDefinition
astore 12
start local 12 102: aload 1
new java.lang.StringBuilder
dup
ldc "} catch ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " e) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
103: aload 1
ldc "throw e;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
end local 12 104: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 101
end local 11 105: aload 1
ldc "} catch (java.lang.Exception e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
106: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnexpectedException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
107: ldc "(\"undeclared checked exception\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
109: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
110: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
111: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 112 0 this Lsun/rmi/rmic/RMIGenerator;
0 112 1 p Lsun/rmi/rmic/IndentingWriter;
0 112 2 opnum I
1 112 3 method Lsun/rmi/rmic/RemoteClass$Method;
2 112 4 methodName Lsun/tools/java/Identifier;
3 112 5 methodType Lsun/tools/java/Type;
4 112 6 paramTypes [Lsun/tools/java/Type;
5 112 7 paramNames [Ljava/lang/String;
6 112 8 returnType Lsun/tools/java/Type;
7 112 9 exceptions [Lsun/tools/java/ClassDeclaration;
12 18 10 i I
22 28 10 i I
31 112 10 catchList Ljava/util/Vector<Lsun/tools/java/ClassDefinition;>;
43 49 11 i I
82 96 11 objectRead Z
100 105 11 enumeration Ljava/util/Enumeration<Lsun/tools/java/ClassDefinition;>;
102 104 12 def Lsun/tools/java/ClassDefinition;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
opnum
private java.util.Vector<sun.tools.java.ClassDefinition> computeUniqueCatchList(sun.tools.java.ClassDeclaration[]);
descriptor: ([Lsun/tools/java/ClassDeclaration;)Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.defRuntimeException:Lsun/tools/java/ClassDefinition;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
2: aload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.defRemoteException:Lsun/tools/java/ClassDefinition;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
3: iconst_0
istore 3
start local 3 4: goto 26
5: StackMap locals: java.util.Vector int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 6: aload 0
getfield sun.rmi.rmic.RMIGenerator.defException:Lsun/tools/java/ClassDefinition;
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 4
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 9
7: aload 2
invokevirtual java.util.Vector.clear:()V
8: goto 27
9: StackMap locals: sun.tools.java.ClassDeclaration
StackMap stack:
aload 0
getfield sun.rmi.rmic.RMIGenerator.defException:Lsun/tools/java/ClassDefinition;
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 4
invokevirtual sun.tools.java.ClassDefinition.superClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifne 11
10: goto 25
11: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 12: goto 20
13: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.tools.java.ClassDefinition
astore 6
start local 6 14: aload 6
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 4
invokevirtual sun.tools.java.ClassDefinition.superClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 16
15: goto 25
16: StackMap locals: sun.tools.java.ClassDefinition
StackMap stack:
aload 6
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
aload 4
invokevirtual sun.tools.java.ClassDefinition.subClassOf:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
ifeq 19
17: aload 2
iload 5
invokevirtual java.util.Vector.removeElementAt:(I)V
18: goto 20
19: StackMap locals:
StackMap stack:
iinc 5 1
end local 6 20: StackMap locals:
StackMap stack:
iload 5
aload 2
invokevirtual java.util.Vector.size:()I
if_icmplt 13
end local 5 21: aload 2
aload 4
aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
invokevirtual sun.tools.java.ClassDeclaration.getClassDefinition:(Lsun/tools/java/Environment;)Lsun/tools/java/ClassDefinition;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
22: goto 25
StackMap locals: sun.rmi.rmic.RMIGenerator sun.tools.java.ClassDeclaration[] java.util.Vector int sun.tools.java.ClassDeclaration
StackMap stack: sun.tools.java.ClassNotFound
23: astore 5
start local 5 24: aload 0
getfield sun.rmi.rmic.RMIGenerator.env:Lsun/rmi/rmic/BatchEnvironment;
lconst_0
ldc "class.not.found"
aload 5
getfield sun.tools.java.ClassNotFound.name:Lsun/tools/java/Identifier;
aload 4
invokevirtual sun.tools.java.ClassDeclaration.getName:()Lsun/tools/java/Identifier;
invokevirtual sun.rmi.rmic.BatchEnvironment.error:(JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 end local 4 25: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
26: iload 3
aload 1
arraylength
if_icmplt 5
end local 3 27: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/rmi/rmic/RMIGenerator;
0 28 1 exceptions [Lsun/tools/java/ClassDeclaration;
1 28 2 uniqueList Ljava/util/Vector<Lsun/tools/java/ClassDefinition;>;
4 27 3 i I
6 25 4 decl Lsun/tools/java/ClassDeclaration;
12 21 5 j I
14 20 6 def Lsun/tools/java/ClassDefinition;
24 25 5 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
6 8 23 Class sun.tools.java.ClassNotFound
9 10 23 Class sun.tools.java.ClassNotFound
11 15 23 Class sun.tools.java.ClassNotFound
16 22 23 Class sun.tools.java.ClassNotFound
Signature: ([Lsun/tools/java/ClassDeclaration;)Ljava/util/Vector<Lsun/tools/java/ClassDefinition;>;
MethodParameters:
Name Flags
exceptions
private void writeSkeleton(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_3
if_icmpne 2
1: new java.lang.Error
dup
ldc "should not generate skeleton for version"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ldc "// Skeleton class generated by rmic, do not edit."
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
3: aload 1
ldc "// Contents subject to change without notice."
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
4: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
5: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.isQualified:()Z
ifeq 8
6: aload 1
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
7: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
8: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "public final class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
getfield sun.rmi.rmic.RMIGenerator.skeletonClassName:Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
11: aload 1
new java.lang.StringBuilder
dup
ldc "implements "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idSkeleton:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
12: aload 1
ldc "{"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
13: aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeOperationsArray:(Lsun/rmi/rmic/IndentingWriter;)V
14: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
15: aload 0
aload 1
invokevirtual sun.rmi.rmic.RMIGenerator.writeInterfaceHash:(Lsun/rmi/rmic/IndentingWriter;)V
16: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
17: aload 1
new java.lang.StringBuilder
dup
ldc "public "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idOperation:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "[] getOperations() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
18: aload 1
new java.lang.StringBuilder
dup
ldc "return ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idOperation:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "[]) operations.clone();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
19: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
20: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
21: aload 1
new java.lang.StringBuilder
dup
ldc "public void dispatch("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idRemote:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " obj, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: getstatic sun.rmi.rmic.RMIGenerator.idRemoteCall:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " call, int opnum, long hash)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
24: aload 1
ldc "throws java.lang.Exception"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
25: aload 1
ldc "{"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
26: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 46
27: aload 1
ldc "if (opnum < 0) {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
28: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
ifle 40
29: iconst_0
istore 2
start local 2 30: goto 38
31: StackMap locals: int
StackMap stack:
iload 2
ifle 33
32: aload 1
ldc "} else "
invokevirtual sun.rmi.rmic.IndentingWriter.pO:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "if (hash == "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
iload 2
aaload
invokevirtual sun.rmi.rmic.RemoteClass$Method.getMethodHash:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "L) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
36: aload 1
new java.lang.StringBuilder
dup
ldc "opnum = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
37: iinc 2 1
StackMap locals:
StackMap stack:
38: iload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
if_icmplt 31
end local 2 39: aload 1
ldc "} else {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
40: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "(\"invalid method hash\");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
43: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
ifle 45
44: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
aload 1
ldc "} else {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 1
ldc "if (hash != interfaceHash)"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
47: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: getstatic sun.rmi.rmic.RMIGenerator.idSkeletonMismatchException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "(\"interface hash mismatch\");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
50: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pO:()V
51: aload 0
getfield sun.rmi.rmic.RMIGenerator.version:I
iconst_2
if_icmpne 53
52: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
53: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
54: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " server = ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClassName:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") obj;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
55: aload 1
ldc "switch (opnum) {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
56: iconst_0
istore 2
start local 2 57: goto 60
58: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual sun.rmi.rmic.RMIGenerator.writeSkeletonDispatchCase:(Lsun/rmi/rmic/IndentingWriter;I)V
59: iinc 2 1
StackMap locals:
StackMap stack:
60: iload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
if_icmplt 58
end local 2 61: aload 1
ldc "default:"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
62: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
63: ldc "(\"invalid method number\");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
65: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
66: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
67: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
68: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lsun/rmi/rmic/RMIGenerator;
0 69 1 p Lsun/rmi/rmic/IndentingWriter;
30 39 2 opnum I
57 61 2 opnum I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeSkeletonDispatchCase(sun.rmi.rmic.IndentingWriter, int);
descriptor: (Lsun/rmi/rmic/IndentingWriter;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
iload 2
aaload
astore 3
start local 3 1: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getName:()Lsun/tools/java/Identifier;
astore 4
start local 4 2: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getType:()Lsun/tools/java/Type;
astore 5
start local 5 3: aload 5
invokevirtual sun.tools.java.Type.getArgumentTypes:()[Lsun/tools/java/Type;
astore 6
start local 6 4: aload 6
invokestatic sun.rmi.rmic.RMIGenerator.nameParameters:([Lsun/tools/java/Type;)[Ljava/lang/String;
astore 7
start local 7 5: aload 5
invokevirtual sun.tools.java.Type.getReturnType:()Lsun/tools/java/Type;
astore 8
start local 8 6: aload 1
new java.lang.StringBuilder
dup
ldc "case "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": // "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 5
aload 4
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
iconst_1
iconst_0
invokevirtual sun.tools.java.Type.typeString:(Ljava/lang/String;ZZ)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
9: aload 1
ldc "{"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
10: aload 6
arraylength
ifle 34
11: iconst_0
istore 9
start local 9 12: goto 15
13: StackMap locals: sun.rmi.rmic.RMIGenerator sun.rmi.rmic.IndentingWriter int sun.rmi.rmic.RemoteClass$Method sun.tools.java.Identifier sun.tools.java.Type sun.tools.java.Type[] java.lang.String[] sun.tools.java.Type int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 6
iload 9
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
iload 9
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
14: iinc 9 1
StackMap locals:
StackMap stack:
15: iload 9
aload 6
arraylength
if_icmplt 13
end local 9 16: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
17: aload 1
ldc "java.io.ObjectInput in = call.getInputStream();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
18: aload 1
ldc "in"
19: aload 6
aload 7
20: invokestatic sun.rmi.rmic.RMIGenerator.writeUnmarshalArguments:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;[Lsun/tools/java/Type;[Ljava/lang/String;)Z
istore 9
start local 9 21: aload 1
ldc "} catch (java.io.IOException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
22: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23: ldc "(\"error unmarshalling arguments\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
25: iload 9
ifeq 30
26: aload 1
ldc "} catch (java.lang.ClassNotFoundException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
27: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idUnmarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
28: ldc "(\"error unmarshalling arguments\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
30: StackMap locals: sun.rmi.rmic.RMIGenerator sun.rmi.rmic.IndentingWriter int sun.rmi.rmic.RemoteClass$Method sun.tools.java.Identifier sun.tools.java.Type sun.tools.java.Type[] java.lang.String[] sun.tools.java.Type int
StackMap stack:
aload 1
ldc "} finally {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
31: aload 1
ldc "call.releaseInputStream();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
32: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
end local 9 33: goto 35
34: StackMap locals:
StackMap stack:
aload 1
ldc "call.releaseInputStream();"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 37
36: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " $result = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
37: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "server."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
38: iconst_0
istore 9
start local 9 39: goto 44
40: StackMap locals: int
StackMap stack:
iload 9
ifle 42
41: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 1
aload 7
iload 9
aaload
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
43: iinc 9 1
StackMap locals:
StackMap stack:
44: iload 9
aload 7
arraylength
if_icmplt 40
end local 9 45: aload 1
ldc ");"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
46: aload 1
ldc "try {"
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
47: aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 49
48: aload 1
ldc "java.io.ObjectOutput out = "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
49: StackMap locals:
StackMap stack:
aload 1
ldc "call.getResultStream(true);"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
50: aload 8
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 53
51: aload 1
ldc "out"
aload 8
ldc "$result"
invokestatic sun.rmi.rmic.RMIGenerator.writeMarshalArgument:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)V
52: aload 1
ldc ";"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
53: StackMap locals:
StackMap stack:
aload 1
ldc "} catch (java.io.IOException e) {"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
54: aload 1
new java.lang.StringBuilder
dup
ldc "throw new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
55: getstatic sun.rmi.rmic.RMIGenerator.idMarshalException:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "(\"error marshalling return\", e);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
57: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
58: aload 1
ldc "break;"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
59: aload 1
ldc "}"
invokevirtual sun.rmi.rmic.IndentingWriter.pOlnI:(Ljava/lang/String;)V
60: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
61: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lsun/rmi/rmic/RMIGenerator;
0 62 1 p Lsun/rmi/rmic/IndentingWriter;
0 62 2 opnum I
1 62 3 method Lsun/rmi/rmic/RemoteClass$Method;
2 62 4 methodName Lsun/tools/java/Identifier;
3 62 5 methodType Lsun/tools/java/Type;
4 62 6 paramTypes [Lsun/tools/java/Type;
5 62 7 paramNames [Ljava/lang/String;
6 62 8 returnType Lsun/tools/java/Type;
12 16 9 i I
21 33 9 objectsRead Z
39 45 9 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
opnum
private void writeOperationsArray(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "private static final "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idOperation:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "[] operations = {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.plnI:(Ljava/lang/String;)V
1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: int
StackMap stack:
iload 2
ifle 5
4: aload 1
ldc ","
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.rmi.rmic.RMIGenerator.idOperation:Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "(\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
iload 2
aaload
invokevirtual sun.rmi.rmic.RemoteClass$Method.getOperationString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
arraylength
if_icmplt 3
end local 2 10: aload 1
invokevirtual sun.rmi.rmic.IndentingWriter.pln:()V
11: aload 1
ldc "};"
invokevirtual sun.rmi.rmic.IndentingWriter.pOln:(Ljava/lang/String;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/rmi/rmic/RMIGenerator;
0 13 1 p Lsun/rmi/rmic/IndentingWriter;
2 10 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeInterfaceHash(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
ldc "private static final long interfaceHash = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteClass:Lsun/rmi/rmic/RemoteClass;
invokevirtual sun.rmi.rmic.RemoteClass.getInterfaceHash:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "L;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/rmic/RMIGenerator;
0 4 1 p Lsun/rmi/rmic/IndentingWriter;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeMethodFieldDeclarations(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "private static java.lang.reflect.Method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
arraylength
if_icmplt 2
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/rmi/rmic/RMIGenerator;
0 8 1 p Lsun/rmi/rmic/IndentingWriter;
1 7 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private void writeMethodFieldInitializers(sun.rmi.rmic.IndentingWriter);
descriptor: (Lsun/rmi/rmic/IndentingWriter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 20
2: StackMap locals: int
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
iload 2
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
3: aload 0
getfield sun.rmi.rmic.RMIGenerator.remoteMethods:[Lsun/rmi/rmic/RemoteClass$Method;
iload 2
aaload
astore 3
start local 3 4: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getMemberDefinition:()Lsun/tools/java/MemberDefinition;
astore 4
start local 4 5: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getName:()Lsun/tools/java/Identifier;
astore 5
start local 5 6: aload 3
invokevirtual sun.rmi.rmic.RemoteClass$Method.getType:()Lsun/tools/java/Type;
astore 6
start local 6 7: aload 6
invokevirtual sun.tools.java.Type.getArgumentTypes:()[Lsun/tools/java/Type;
astore 7
start local 7 8: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 4
invokevirtual sun.tools.java.MemberDefinition.getClassDefinition:()Lsun/tools/java/ClassDefinition;
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".class.getMethod(\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\", new java.lang.Class[] {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
11: iconst_0
istore 8
start local 8 12: goto 17
13: StackMap locals: sun.rmi.rmic.RMIGenerator sun.rmi.rmic.IndentingWriter int sun.rmi.rmic.RemoteClass$Method sun.tools.java.MemberDefinition sun.tools.java.Identifier sun.tools.java.Type sun.tools.java.Type[] int
StackMap stack:
iload 8
ifle 15
14: aload 1
ldc ", "
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 7
iload 8
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
aload 7
arraylength
if_icmplt 13
end local 8 18: aload 1
ldc "});"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 end local 4 end local 3 19: iinc 2 1
StackMap locals: sun.rmi.rmic.RMIGenerator sun.rmi.rmic.IndentingWriter int
StackMap stack:
20: iload 2
aload 0
getfield sun.rmi.rmic.RMIGenerator.methodFieldNames:[Ljava/lang/String;
arraylength
if_icmplt 2
end local 2 21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/rmi/rmic/RMIGenerator;
0 22 1 p Lsun/rmi/rmic/IndentingWriter;
1 21 2 i I
4 19 3 method Lsun/rmi/rmic/RemoteClass$Method;
5 19 4 def Lsun/tools/java/MemberDefinition;
6 19 5 methodName Lsun/tools/java/Identifier;
7 19 6 methodType Lsun/tools/java/Type;
8 19 7 paramTypes [Lsun/tools/java/Type;
12 18 8 j I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
private static java.lang.String[] nameMethodFields(sun.rmi.rmic.RemoteClass$Method[]);
descriptor: ([Lsun/rmi/rmic/RemoteClass$Method;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.String
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
new java.lang.StringBuilder
dup
ldc "$method_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iload 2
aaload
invokevirtual sun.rmi.rmic.RemoteClass$Method.getName:()Lsun/tools/java/Identifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 methods [Lsun/rmi/rmic/RemoteClass$Method;
1 7 1 names [Ljava/lang/String;
2 6 2 i I
MethodParameters:
Name Flags
methods
private static java.lang.String[] nameParameters(sun.tools.java.Type[]);
descriptor: ([Lsun/tools/java/Type;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray java.lang.String
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
new java.lang.StringBuilder
dup
ldc "$param_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
iload 2
aaload
invokestatic sun.rmi.rmic.RMIGenerator.generateNameFromType:(Lsun/tools/java/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: aastore
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 types [Lsun/tools/java/Type;
1 9 1 names [Ljava/lang/String;
2 8 2 i I
MethodParameters:
Name Flags
types
private static java.lang.String generateNameFromType(sun.tools.java.Type);
descriptor: (Lsun/tools/java/Type;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.tools.java.Type.getTypeCode:()I
istore 1
start local 1 1: iload 1
tableswitch { // 0 - 10
0: 2
1: 2
2: 2
3: 2
4: 2
5: 2
6: 2
7: 2
8: 5
9: 3
10: 4
default: 5
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.tools.java.Type.toString:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "arrayOf_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
invokestatic sun.rmi.rmic.RMIGenerator.generateNameFromType:(Lsun/tools/java/Type;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.Names.mangleClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "unexpected type code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 type Lsun/tools/java/Type;
1 6 1 typeCode I
MethodParameters:
Name Flags
type
private static void writeMarshalArgument(sun.rmi.rmic.IndentingWriter, java.lang.String, sun.tools.java.Type, java.lang.String);
descriptor: (Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual sun.tools.java.Type.getTypeCode:()I
istore 4
start local 4 1: iload 4
tableswitch { // 0 - 10
0: 2
1: 4
2: 6
3: 8
4: 10
5: 12
6: 14
7: 16
8: 20
9: 18
10: 18
default: 20
}
2: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeBoolean("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
3: goto 21
4: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeByte("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
5: goto 21
6: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeChar("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
7: goto 21
8: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeShort("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
9: goto 21
10: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeInt("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
11: goto 21
12: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeLong("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
13: goto 21
14: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeFloat("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
15: goto 21
16: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeDouble("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
17: goto 21
18: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".writeObject("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
19: goto 21
20: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "unexpected type code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 p Lsun/rmi/rmic/IndentingWriter;
0 22 1 streamName Ljava/lang/String;
0 22 2 type Lsun/tools/java/Type;
0 22 3 name Ljava/lang/String;
1 22 4 typeCode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
streamName
type
name
private static void writeMarshalArguments(sun.rmi.rmic.IndentingWriter, java.lang.String, sun.tools.java.Type[], java.lang.String[]);
descriptor: (Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;[Lsun/tools/java/Type;[Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
arraylength
aload 3
arraylength
if_icmpeq 2
1: new java.lang.Error
dup
ldc "parameter type and name arrays different sizes"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
iload 4
aaload
aload 3
iload 4
aaload
invokestatic sun.rmi.rmic.RMIGenerator.writeMarshalArgument:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)V
5: aload 0
ldc ";"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 p Lsun/rmi/rmic/IndentingWriter;
0 9 1 streamName Ljava/lang/String;
0 9 2 types [Lsun/tools/java/Type;
0 9 3 names [Ljava/lang/String;
3 8 4 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
streamName
types
names
private static boolean writeUnmarshalArgument(sun.rmi.rmic.IndentingWriter, java.lang.String, sun.tools.java.Type, java.lang.String);
descriptor: (Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 3
ifnull 3
2: aload 0
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
3: StackMap locals: int
StackMap stack:
aload 2
invokevirtual sun.tools.java.Type.getTypeCode:()I
istore 5
start local 5 4: aload 2
invokevirtual sun.tools.java.Type.getTypeCode:()I
tableswitch { // 0 - 10
0: 5
1: 7
2: 9
3: 11
4: 13
5: 15
6: 17
7: 19
8: 24
9: 21
10: 21
default: 24
}
5: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readBoolean()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
6: goto 25
7: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readByte()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
8: goto 25
9: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readChar()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
10: goto 25
11: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readShort()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
12: goto 25
13: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readInt()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
14: goto 25
15: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readLong()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
16: goto 25
17: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readFloat()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
18: goto 25
19: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".readDouble()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
20: goto 25
21: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".readObject()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.rmic.IndentingWriter.p:(Ljava/lang/String;)V
22: iconst_1
istore 4
23: goto 25
24: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "unexpected type code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 p Lsun/rmi/rmic/IndentingWriter;
0 26 1 streamName Ljava/lang/String;
0 26 2 type Lsun/tools/java/Type;
0 26 3 name Ljava/lang/String;
1 26 4 readObject Z
4 26 5 typeCode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
streamName
type
name
private static boolean writeUnmarshalArguments(sun.rmi.rmic.IndentingWriter, java.lang.String, sun.tools.java.Type[], java.lang.String[]);
descriptor: (Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;[Lsun/tools/java/Type;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
arraylength
aload 3
arraylength
if_icmpeq 2
1: new java.lang.Error
dup
ldc "parameter type and name arrays different sizes"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 9
5: StackMap locals: int int
StackMap stack:
aload 0
aload 1
aload 2
iload 5
aaload
aload 3
iload 5
aaload
invokestatic sun.rmi.rmic.RMIGenerator.writeUnmarshalArgument:(Lsun/rmi/rmic/IndentingWriter;Ljava/lang/String;Lsun/tools/java/Type;Ljava/lang/String;)Z
ifeq 7
6: iconst_1
istore 4
7: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual sun.rmi.rmic.IndentingWriter.pln:(Ljava/lang/String;)V
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 2
arraylength
if_icmplt 5
end local 5 10: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 p Lsun/rmi/rmic/IndentingWriter;
0 11 1 streamName Ljava/lang/String;
0 11 2 types [Lsun/tools/java/Type;
0 11 3 names [Ljava/lang/String;
3 11 4 readObject Z
4 10 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
p
streamName
types
names
private static java.lang.String wrapArgumentCode(sun.tools.java.Type, java.lang.String);
descriptor: (Lsun/tools/java/Type;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.tools.java.Type.getTypeCode:()I
istore 2
start local 2 1: iload 2
tableswitch { // 0 - 10
0: 2
1: 5
2: 6
3: 7
4: 8
5: 9
6: 10
7: 11
8: 13
9: 12
10: 12
default: 13
}
2: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Byte("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Character("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Short("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Integer("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Long("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Float("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "new java.lang.Double("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
aload 1
areturn
13: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "unexpected type code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 type Lsun/tools/java/Type;
0 14 1 name Ljava/lang/String;
1 14 2 typeCode I
MethodParameters:
Name Flags
type
name
private static java.lang.String unwrapArgumentCode(sun.tools.java.Type, java.lang.String);
descriptor: (Lsun/tools/java/Type;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.tools.java.Type.getTypeCode:()I
istore 2
start local 2 1: iload 2
tableswitch { // 0 - 10
0: 2
1: 3
2: 4
3: 5
4: 6
5: 7
6: 8
7: 9
8: 11
9: 10
10: 10
default: 11
}
2: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Boolean) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").booleanValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Byte) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").byteValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Character) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").charValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Short) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").shortValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Integer) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").intValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Long) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").longValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Float) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").floatValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "((java.lang.Double) "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ").doubleValue()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "(("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "unexpected type code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 type Lsun/tools/java/Type;
0 12 1 name Ljava/lang/String;
1 12 2 typeCode I
MethodParameters:
Name Flags
type
name
}
SourceFile: "RMIGenerator.java"
InnerClasses:
public Method = sun.rmi.rmic.RemoteClass$Method of sun.rmi.rmic.RemoteClass