final class sun.rmi.rmic.newrmic.jrmp.RemoteClass
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.rmi.rmic.newrmic.jrmp.RemoteClass
super_class: java.lang.Object
{
private final sun.rmi.rmic.newrmic.BatchEnvironment env;
descriptor: Lsun/rmi/rmic/newrmic/BatchEnvironment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.javadoc.ClassDoc implClass;
descriptor: Lcom/sun/javadoc/ClassDoc;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.javadoc.ClassDoc[] remoteInterfaces;
descriptor: [Lcom/sun/javadoc/ClassDoc;
flags: (0x0002) ACC_PRIVATE
private sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[] remoteMethods;
descriptor: [Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
flags: (0x0002) ACC_PRIVATE
private long interfaceHash;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static sun.rmi.rmic.newrmic.jrmp.RemoteClass forClass(sun.rmi.rmic.newrmic.BatchEnvironment, com.sun.javadoc.ClassDoc);
descriptor: (Lsun/rmi/rmic/newrmic/BatchEnvironment;Lcom/sun/javadoc/ClassDoc;)Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new sun.rmi.rmic.newrmic.jrmp.RemoteClass
dup
aload 0
aload 1
invokespecial sun.rmi.rmic.newrmic.jrmp.RemoteClass.<init>:(Lsun/rmi/rmic/newrmic/BatchEnvironment;Lcom/sun/javadoc/ClassDoc;)V
astore 2
start local 2 1: aload 2
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass.init:()Z
ifeq 3
2: aload 2
areturn
3: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 env Lsun/rmi/rmic/newrmic/BatchEnvironment;
0 4 1 implClass Lcom/sun/javadoc/ClassDoc;
1 4 2 remoteClass Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
MethodParameters:
Name Flags
env
implClass
private void <init>(sun.rmi.rmic.newrmic.BatchEnvironment, com.sun.javadoc.ClassDoc);
descriptor: (Lsun/rmi/rmic/newrmic/BatchEnvironment;Lcom/sun/javadoc/ClassDoc;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
2: aload 0
aload 2
putfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
0 4 1 env Lsun/rmi/rmic/newrmic/BatchEnvironment;
0 4 2 implClass Lcom/sun/javadoc/ClassDoc;
MethodParameters:
Name Flags
env
implClass
com.sun.javadoc.ClassDoc classDoc();
descriptor: ()Lcom/sun/javadoc/ClassDoc;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
com.sun.javadoc.ClassDoc[] remoteInterfaces();
descriptor: ()[Lcom/sun/javadoc/ClassDoc;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteInterfaces:[Lcom/sun/javadoc/ClassDoc;
invokevirtual com.sun.javadoc.ClassDoc[].clone:()Ljava/lang/Object;
checkcast com.sun.javadoc.ClassDoc[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[] remoteMethods();
descriptor: ()[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[].clone:()Ljava/lang/Object;
checkcast sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
long interfaceHash();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.interfaceHash:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
private boolean init();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.isInterface:()Z
ifeq 5
1: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
ldc "rmic.cant.make.stubs.for.interface"
iconst_1
anewarray java.lang.String
dup
iconst_0
2: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
aastore
3: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.error:(Ljava/lang/String;[Ljava/lang/String;)V
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 6: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
astore 2
start local 2 7: goto 30
8: StackMap locals: java.util.List com.sun.javadoc.ClassDoc
StackMap stack:
aload 2
invokeinterface com.sun.javadoc.ClassDoc.interfaces:()[Lcom/sun/javadoc/ClassDoc;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 18
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass java.util.List com.sun.javadoc.ClassDoc top int int com.sun.javadoc.ClassDoc[]
StackMap stack:
9: aload 6
iload 4
aaload
astore 3
start local 3 10: aload 1
aload 3
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 17
11: aload 3
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.docRemote:()Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.subclassOf:(Lcom/sun/javadoc/ClassDoc;)Z
ifeq 17
12: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.verbose:()Z
ifeq 17
14: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
new java.lang.StringBuilder
dup
ldc "[found remote interface: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 3
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()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;
16: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.output:(Ljava/lang/String;)V
end local 3 17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 5
if_icmplt 9
19: aload 2
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
if_acmpne 29
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 29
20: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.docRemote:()Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.subclassOf:(Lcom/sun/javadoc/ClassDoc;)Z
ifeq 25
21: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
ldc "rmic.must.implement.remote.directly"
iconst_1
anewarray java.lang.String
dup
iconst_0
22: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
aastore
23: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.error:(Ljava/lang/String;[Ljava/lang/String;)V
24: goto 28
25: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass java.util.List com.sun.javadoc.ClassDoc
StackMap stack:
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
ldc "rmic.must.implement.remote"
iconst_1
anewarray java.lang.String
dup
iconst_0
26: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
aastore
27: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.error:(Ljava/lang/String;[Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
iconst_0
ireturn
29: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.sun.javadoc.ClassDoc.superclass:()Lcom/sun/javadoc/ClassDoc;
astore 2
StackMap locals:
StackMap stack:
30: aload 2
ifnonnull 8
end local 2 31: aload 0
32: aload 1
33: aload 1
invokeinterface java.util.List.size:()I
anewarray com.sun.javadoc.ClassDoc
34: invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.sun.javadoc.ClassDoc[]
35: putfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteInterfaces:[Lcom/sun/javadoc/ClassDoc;
36: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 37: iconst_0
istore 3
start local 3 38: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 42
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass java.util.List java.util.Map int top java.util.Iterator
StackMap stack:
39: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.javadoc.ClassDoc
astore 4
start local 4 40: aload 0
aload 4
aload 2
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass.collectRemoteMethods:(Lcom/sun/javadoc/ClassDoc;Ljava/util/Map;)Z
ifne 42
41: iconst_1
istore 3
end local 4 42: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
43: iload 3
ifeq 45
44: iconst_0
ireturn
45: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass java.util.List java.util.Map int
StackMap stack:
aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 2
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
46: astore 4
start local 4 47: aload 4
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
48: aload 0
aload 2
invokeinterface java.util.Map.size:()I
anewarray sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
putfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
49: iconst_0
istore 5
start local 5 50: goto 74
51: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
iload 5
aload 2
aload 4
iload 5
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
aastore
52: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.verbose:()Z
ifeq 73
53: new java.lang.StringBuilder
dup
ldc "[found remote method <"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
iload 5
aaload
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.operationString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 56: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
iload 5
aaload
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.exceptionTypes:()[Lcom/sun/javadoc/ClassDoc;
astore 7
start local 7 57: aload 7
arraylength
ifle 66
58: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " throws "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
59: iconst_0
istore 8
start local 8 60: goto 65
61: StackMap locals: java.lang.String com.sun.javadoc.ClassDoc[] int
StackMap stack:
iload 8
ifle 63
62: new java.lang.StringBuilder
dup
aload 6
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;
astore 6
63: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
iload 8
aaload
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
64: iinc 8 1
StackMap locals:
StackMap stack:
65: iload 8
aload 7
arraylength
if_icmplt 61
end local 8 66: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n\tname and descriptor = \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
67: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
iload 5
aaload
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.nameAndDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
68: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
69: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n\tmethod hash = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
iload 5
aaload
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.methodHash:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
71: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
72: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
aload 6
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.output:(Ljava/lang/String;)V
end local 7 end local 6 73: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
74: iload 5
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
arraylength
if_icmplt 51
end local 5 75: aload 0
aload 0
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass.computeInterfaceHash:()J
putfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.interfaceHash:J
76: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
6 77 1 remotesImplemented Ljava/util/List<Lcom/sun/javadoc/ClassDoc;>;
7 31 2 cl Lcom/sun/javadoc/ClassDoc;
10 17 3 intf Lcom/sun/javadoc/ClassDoc;
37 77 2 methods Ljava/util/Map<Ljava/lang/String;Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;>;
38 77 3 errors Z
40 42 4 intf Lcom/sun/javadoc/ClassDoc;
47 77 4 orderedKeys [Ljava/lang/String;
50 75 5 i I
56 73 6 msg Ljava/lang/String;
57 73 7 exceptions [Lcom/sun/javadoc/ClassDoc;
60 66 8 j I
private boolean collectRemoteMethods(com.sun.javadoc.ClassDoc, java.util.Map<java.lang.String, sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method>);
descriptor: (Lcom/sun/javadoc/ClassDoc;Ljava/util/Map;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.sun.javadoc.ClassDoc.isInterface:()Z
ifne 4
1: new java.lang.AssertionError
dup
2: new java.lang.StringBuilder
dup
aload 1
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " not an interface"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: aload 1
invokeinterface com.sun.javadoc.ClassDoc.methods:()[Lcom/sun/javadoc/MethodDoc;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 42
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int top int int com.sun.javadoc.MethodDoc[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: iconst_0
istore 8
start local 8 8: aload 4
invokeinterface com.sun.javadoc.MethodDoc.thrownExceptions:()[Lcom/sun/javadoc/ClassDoc;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 14
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int com.sun.javadoc.MethodDoc int int com.sun.javadoc.MethodDoc[] int top int int com.sun.javadoc.ClassDoc[]
StackMap stack:
9: aload 12
iload 10
aaload
astore 9
start local 9 10: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.docRemoteException:()Lcom/sun/javadoc/ClassDoc;
aload 9
invokeinterface com.sun.javadoc.ClassDoc.subclassOf:(Lcom/sun/javadoc/ClassDoc;)Z
ifeq 13
11: iconst_1
istore 8
12: goto 15
end local 9 13: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
14: iload 10
iload 11
if_icmplt 9
15: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int com.sun.javadoc.MethodDoc int int com.sun.javadoc.MethodDoc[] int
StackMap stack:
iload 8
ifne 22
16: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
ldc "rmic.must.throw.remoteexception"
iconst_2
anewarray java.lang.String
dup
iconst_0
17: aload 1
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
aastore
dup
iconst_1
18: new java.lang.StringBuilder
dup
aload 4
invokeinterface com.sun.javadoc.MethodDoc.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface com.sun.javadoc.MethodDoc.signature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
19: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.error:(Ljava/lang/String;[Ljava/lang/String;)V
20: iconst_1
istore 3
21: goto 41
22: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass.findImplMethod:(Lcom/sun/javadoc/MethodDoc;)Lcom/sun/javadoc/MethodDoc;
astore 9
start local 9 23: aload 9
ifnull 35
24: aload 9
invokeinterface com.sun.javadoc.MethodDoc.thrownExceptions:()[Lcom/sun/javadoc/ClassDoc;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 34
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int com.sun.javadoc.MethodDoc int int com.sun.javadoc.MethodDoc[] int com.sun.javadoc.MethodDoc top int int com.sun.javadoc.ClassDoc[]
StackMap stack:
25: aload 13
iload 11
aaload
astore 10
start local 10 26: aload 10
aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.docException:()Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.subclassOf:(Lcom/sun/javadoc/ClassDoc;)Z
ifne 33
27: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.env:Lsun/rmi/rmic/newrmic/BatchEnvironment;
ldc "rmic.must.only.throw.exception"
iconst_2
anewarray java.lang.String
dup
iconst_0
28: new java.lang.StringBuilder
dup
aload 9
invokeinterface com.sun.javadoc.MethodDoc.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokeinterface com.sun.javadoc.MethodDoc.signature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
29: aload 10
invokeinterface com.sun.javadoc.ClassDoc.qualifiedName:()Ljava/lang/String;
aastore
30: invokevirtual sun.rmi.rmic.newrmic.BatchEnvironment.error:(Ljava/lang/String;[Ljava/lang/String;)V
31: iconst_1
istore 3
32: goto 41
end local 10 33: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
34: iload 11
iload 12
if_icmplt 25
35: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int com.sun.javadoc.MethodDoc int int com.sun.javadoc.MethodDoc[] int com.sun.javadoc.MethodDoc
StackMap stack:
new sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
dup
aload 0
aload 4
invokespecial sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.<init>:(Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;Lcom/sun/javadoc/MethodDoc;)V
astore 10
start local 10 36: aload 10
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.nameAndDescriptor:()Ljava/lang/String;
astore 11
start local 11 37: aload 2
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
astore 12
start local 12 38: aload 12
ifnull 40
39: aload 10
aload 12
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.mergeWith:(Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;)Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
astore 10
40: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method java.lang.String sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
StackMap stack:
aload 2
aload 11
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 9 end local 8 end local 4 41: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int top int int com.sun.javadoc.MethodDoc[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
42: iload 5
iload 6
if_icmplt 6
43: aload 1
invokeinterface com.sun.javadoc.ClassDoc.interfaces:()[Lcom/sun/javadoc/ClassDoc;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 48
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int top int int com.sun.javadoc.ClassDoc[]
StackMap stack:
44: aload 7
iload 5
aaload
astore 4
start local 4 45: aload 0
aload 4
aload 2
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass.collectRemoteMethods:(Lcom/sun/javadoc/ClassDoc;Ljava/util/Map;)Z
ifne 47
46: iconst_1
istore 3
end local 4 47: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
48: iload 5
iload 6
if_icmplt 44
49: iload 3
ifeq 50
iconst_0
goto 51
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.ClassDoc java.util.Map int
StackMap stack:
50: iconst_1
StackMap locals:
StackMap stack: int
51: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
0 52 1 intf Lcom/sun/javadoc/ClassDoc;
0 52 2 table Ljava/util/Map<Ljava/lang/String;Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;>;
5 52 3 errors Z
7 41 4 method Lcom/sun/javadoc/MethodDoc;
8 41 8 hasRemoteException Z
10 13 9 ex Lcom/sun/javadoc/ClassDoc;
23 41 9 implMethod Lcom/sun/javadoc/MethodDoc;
26 33 10 ex Lcom/sun/javadoc/ClassDoc;
36 41 10 newMethod Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
37 41 11 key Ljava/lang/String;
38 41 12 oldMethod Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
45 47 4 superintf Lcom/sun/javadoc/ClassDoc;
Signature: (Lcom/sun/javadoc/ClassDoc;Ljava/util/Map<Ljava/lang/String;Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;>;)Z
MethodParameters:
Name Flags
intf
table
private com.sun.javadoc.MethodDoc findImplMethod(com.sun.javadoc.MethodDoc);
descriptor: (Lcom/sun/javadoc/MethodDoc;)Lcom/sun/javadoc/MethodDoc;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.javadoc.MethodDoc.name:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokestatic sun.rmi.rmic.newrmic.jrmp.Util.methodDescriptorOf:(Lcom/sun/javadoc/MethodDoc;)Ljava/lang/String;
astore 3
start local 3 2: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.implClass:Lcom/sun/javadoc/ClassDoc;
invokeinterface com.sun.javadoc.ClassDoc.methods:()[Lcom/sun/javadoc/MethodDoc;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass com.sun.javadoc.MethodDoc java.lang.String java.lang.String top int int com.sun.javadoc.MethodDoc[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 2
aload 4
invokeinterface com.sun.javadoc.MethodDoc.name:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 3
aload 4
invokestatic sun.rmi.rmic.newrmic.jrmp.Util.methodDescriptorOf:(Lcom/sun/javadoc/MethodDoc;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 4
areturn
end local 4 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 3
9: aconst_null
areturn
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/newrmic/jrmp/RemoteClass;
0 10 1 interfaceMethod Lcom/sun/javadoc/MethodDoc;
1 10 2 name Ljava/lang/String;
2 10 3 desc Ljava/lang/String;
4 7 4 implMethod Lcom/sun/javadoc/MethodDoc;
MethodParameters:
Name Flags
interfaceMethod
private long computeInterfaceHash();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: new java.io.ByteArrayOutputStream
dup
sipush 512
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 3
start local 3 2: ldc "SHA"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 4
start local 4 3: new java.io.DataOutputStream
dup
4: new java.security.DigestOutputStream
dup
aload 3
aload 4
invokespecial java.security.DigestOutputStream.<init>:(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
5: invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 6: aload 5
iconst_1
invokevirtual java.io.DataOutputStream.writeInt:(I)V
7: aload 0
getfield sun.rmi.rmic.newrmic.jrmp.RemoteClass.remoteMethods:[Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 20
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass long java.io.ByteArrayOutputStream java.security.MessageDigest java.io.DataOutputStream top int int sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 6
invokevirtual sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method.methodDoc:()Lcom/sun/javadoc/MethodDoc;
astore 10
start local 10 10: aload 5
aload 10
invokeinterface com.sun.javadoc.MethodDoc.name:()Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
11: aload 5
aload 10
invokestatic sun.rmi.rmic.newrmic.jrmp.Util.methodDescriptorOf:(Lcom/sun/javadoc/MethodDoc;)Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
12: aload 10
invokeinterface com.sun.javadoc.MethodDoc.thrownExceptions:()[Lcom/sun/javadoc/ClassDoc;
astore 11
start local 11 13: aload 11
new sun.rmi.rmic.newrmic.jrmp.RemoteClass$ClassDocComparator
dup
invokespecial sun.rmi.rmic.newrmic.jrmp.RemoteClass$ClassDocComparator.<init>:()V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
14: aload 11
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 18
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass long java.io.ByteArrayOutputStream java.security.MessageDigest java.io.DataOutputStream sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method int int sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[] com.sun.javadoc.MethodDoc com.sun.javadoc.ClassDoc[] top int int com.sun.javadoc.ClassDoc[]
StackMap stack:
15: aload 15
iload 13
aaload
astore 12
start local 12 16: aload 5
aload 12
invokestatic sun.rmi.rmic.newrmic.jrmp.Util.binaryNameOf:(Lcom/sun/javadoc/ClassDoc;)Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 12 17: iinc 13 1
StackMap locals:
StackMap stack:
18: iload 13
iload 14
if_icmplt 15
end local 11 end local 10 end local 6 19: iinc 7 1
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass long java.io.ByteArrayOutputStream java.security.MessageDigest java.io.DataOutputStream top int int sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method[]
StackMap stack:
20: iload 7
iload 8
if_icmplt 8
21: aload 5
invokevirtual java.io.DataOutputStream.flush:()V
22: aload 4
invokevirtual java.security.MessageDigest.digest:()[B
astore 6
start local 6 23: iconst_0
istore 7
start local 7 24: goto 27
25: StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass long java.io.ByteArrayOutputStream java.security.MessageDigest java.io.DataOutputStream byte[] int
StackMap stack:
lload 1
aload 6
iload 7
baload
sipush 255
iand
i2l
iload 7
bipush 8
imul
lshl
ladd
lstore 1
26: iinc 7 1
StackMap locals:
StackMap stack:
27: iload 7
bipush 8
aload 6
arraylength
invokestatic java.lang.Math.min:(II)I
if_icmplt 25
end local 7 end local 6 end local 5 end local 4 28: goto 33
StackMap locals: sun.rmi.rmic.newrmic.jrmp.RemoteClass long java.io.ByteArrayOutputStream
StackMap stack: java.io.IOException
29: astore 4
start local 4 30: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 31: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 4
start local 4 32: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 33: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/rmi/rmic/newrmic/jrmp/RemoteClass;
1 34 1 hash J
2 34 3 sink Ljava/io/ByteArrayOutputStream;
3 28 4 md Ljava/security/MessageDigest;
6 28 5 out Ljava/io/DataOutputStream;
9 19 6 method Lsun/rmi/rmic/newrmic/jrmp/RemoteClass$Method;
10 19 10 methodDoc Lcom/sun/javadoc/MethodDoc;
13 19 11 exceptions [Lcom/sun/javadoc/ClassDoc;
16 17 12 ex Lcom/sun/javadoc/ClassDoc;
23 28 6 hashArray [B
24 28 7 i I
30 31 4 e Ljava/io/IOException;
32 33 4 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
2 28 29 Class java.io.IOException
2 28 31 Class java.security.NoSuchAlgorithmException
}
SourceFile: "RemoteClass.java"
NestMembers:
sun.rmi.rmic.newrmic.jrmp.RemoteClass$ClassDocComparator sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method
InnerClasses:
private ClassDocComparator = sun.rmi.rmic.newrmic.jrmp.RemoteClass$ClassDocComparator of sun.rmi.rmic.newrmic.jrmp.RemoteClass
final Method = sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method of sun.rmi.rmic.newrmic.jrmp.RemoteClass