public class sun.rmi.rmic.iiop.ImplementationType extends sun.rmi.rmic.iiop.ClassType
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.rmic.iiop.ImplementationType
super_class: sun.rmi.rmic.iiop.ClassType
{
public static sun.rmi.rmic.iiop.ImplementationType forImplementation(sun.tools.java.ClassDefinition, sun.rmi.rmic.iiop.ContextStack, boolean);
descriptor: (Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;Z)Lsun/rmi/rmic/iiop/ImplementationType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.rmi.rmic.iiop.ContextStack.anyErrors:()Z
ifeq 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 0
invokevirtual sun.tools.java.ClassDefinition.getType:()Lsun/tools/java/Type;
astore 5
start local 5 4: aload 5
aload 1
invokestatic sun.rmi.rmic.iiop.ImplementationType.getType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/Type;
astore 6
start local 6 5: aload 6
ifnull 10
6: aload 6
instanceof sun.rmi.rmic.iiop.ImplementationType
ifne 8
7: aconst_null
areturn
8: StackMap locals: sun.tools.java.ClassDefinition sun.rmi.rmic.iiop.ContextStack int int sun.rmi.rmic.iiop.ImplementationType sun.tools.java.Type sun.rmi.rmic.iiop.Type
StackMap stack:
aload 6
checkcast sun.rmi.rmic.iiop.ImplementationType
9: areturn
10: StackMap locals:
StackMap stack:
iload 2
aload 1
aload 0
invokestatic sun.rmi.rmic.iiop.ImplementationType.couldBeImplementation:(ZLsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassDefinition;)Z
ifeq 24
11: new sun.rmi.rmic.iiop.ImplementationType
dup
aload 1
aload 0
invokespecial sun.rmi.rmic.iiop.ImplementationType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassDefinition;)V
astore 7
start local 7 12: aload 5
aload 7
aload 1
invokestatic sun.rmi.rmic.iiop.ImplementationType.putType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
13: aload 1
aload 7
invokevirtual sun.rmi.rmic.iiop.ContextStack.push:(Lsun/rmi/rmic/iiop/ContextElement;)Lsun/rmi/rmic/iiop/TypeContext;
pop
14: iconst_1
istore 3
15: aload 7
aload 1
iload 2
invokevirtual sun.rmi.rmic.iiop.ImplementationType.initialize:(Lsun/rmi/rmic/iiop/ContextStack;Z)Z
ifeq 19
16: aload 1
iconst_1
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
17: aload 7
astore 4
18: goto 24
19: StackMap locals: sun.rmi.rmic.iiop.ImplementationType
StackMap stack:
aload 5
aload 1
invokestatic sun.rmi.rmic.iiop.ImplementationType.removeType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
20: aload 1
iconst_0
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
end local 7 end local 6 end local 5 21: goto 24
StackMap locals: sun.tools.java.ClassDefinition sun.rmi.rmic.iiop.ContextStack int int sun.rmi.rmic.iiop.ImplementationType
StackMap stack: sun.tools.java.CompilerError
22: pop
23: iload 3
ifeq 24
aload 1
iconst_0
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
24: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 classDef Lsun/tools/java/ClassDefinition;
0 25 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 25 2 quiet Z
2 25 3 doPop Z
3 25 4 result Lsun/rmi/rmic/iiop/ImplementationType;
4 21 5 theType Lsun/tools/java/Type;
5 21 6 existing Lsun/rmi/rmic/iiop/Type;
12 21 7 it Lsun/rmi/rmic/iiop/ImplementationType;
Exception table:
from to target type
3 7 22 Class sun.tools.java.CompilerError
8 9 22 Class sun.tools.java.CompilerError
10 21 22 Class sun.tools.java.CompilerError
MethodParameters:
Name Flags
classDef
stack
quiet
public java.lang.String getTypeDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Implementation"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ImplementationType;
private void <init>(sun.rmi.rmic.iiop.ContextStack, sun.tools.java.ClassDefinition);
descriptor: (Lsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassDefinition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc 100728832
aload 2
aload 1
invokespecial sun.rmi.rmic.iiop.ClassType.<init>:(ILsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/rmic/iiop/ImplementationType;
0 2 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 2 2 classDef Lsun/tools/java/ClassDefinition;
MethodParameters:
Name Flags
stack
classDef
private static boolean couldBeImplementation(boolean, sun.rmi.rmic.iiop.ContextStack, sun.tools.java.ClassDefinition);
descriptor: (ZLsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassDefinition;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual sun.rmi.rmic.iiop.ContextStack.getEnv:()Lsun/rmi/rmic/iiop/BatchEnvironment;
astore 4
start local 4 2: aload 2
invokevirtual sun.tools.java.ClassDefinition.isClass:()Z
ifne 5
3: bipush 17
iload 0
aload 1
aload 2
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.iiop.ImplementationType.failedConstraint:(IZLsun/rmi/rmic/iiop/ContextStack;Ljava/lang/Object;)Z
pop
4: goto 10
5: StackMap locals: int sun.rmi.rmic.iiop.BatchEnvironment
StackMap stack:
aload 4
getfield sun.rmi.rmic.iiop.BatchEnvironment.defRemote:Lsun/tools/java/ClassDefinition;
aload 4
aload 2
invokevirtual sun.tools.java.ClassDefinition.getClassDeclaration:()Lsun/tools/java/ClassDeclaration;
invokevirtual sun.tools.java.ClassDefinition.implementedBy:(Lsun/tools/java/Environment;Lsun/tools/java/ClassDeclaration;)Z
istore 3
6: iload 3
ifne 10
bipush 8
iload 0
aload 1
aload 2
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
invokestatic sun.rmi.rmic.iiop.ImplementationType.failedConstraint:(IZLsun/rmi/rmic/iiop/ContextStack;Ljava/lang/Object;)Z
pop
7: goto 10
StackMap locals:
StackMap stack: sun.tools.java.ClassNotFound
8: astore 5
start local 5 9: aload 1
aload 5
invokestatic sun.rmi.rmic.iiop.ImplementationType.classNotFound:(Lsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassNotFound;)V
end local 5 10: StackMap locals:
StackMap stack:
iload 3
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 quiet Z
0 11 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 11 2 classDef Lsun/tools/java/ClassDefinition;
1 11 3 result Z
2 11 4 env Lsun/rmi/rmic/iiop/BatchEnvironment;
9 10 5 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
2 7 8 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
quiet
stack
classDef
private boolean initialize(sun.rmi.rmic.iiop.ContextStack, boolean);
descriptor: (Lsun/rmi/rmic/iiop/ContextStack;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
invokevirtual sun.rmi.rmic.iiop.ImplementationType.getClassDefinition:()Lsun/tools/java/ClassDefinition;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual sun.rmi.rmic.iiop.ImplementationType.initParents:(Lsun/rmi/rmic/iiop/ContextStack;)Z
ifeq 24
3: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 4: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 6
start local 6 5: aload 0
aload 5
iconst_1
aload 1
invokevirtual sun.rmi.rmic.iiop.ImplementationType.addRemoteInterfaces:(Ljava/util/Vector;ZLsun/rmi/rmic/iiop/ContextStack;)Ljava/util/Vector;
ifnull 24
6: iconst_0
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 15
9: StackMap locals: sun.rmi.rmic.iiop.ImplementationType sun.rmi.rmic.iiop.ContextStack int int sun.tools.java.ClassDefinition java.util.Vector java.util.Vector int int
StackMap stack:
aload 5
iload 8
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.rmi.rmic.iiop.InterfaceType
astore 9
start local 9 10: aload 9
sipush 4096
invokevirtual sun.rmi.rmic.iiop.InterfaceType.isType:(I)Z
ifne 12
11: aload 9
ldc 524288
invokevirtual sun.rmi.rmic.iiop.InterfaceType.isType:(I)Z
ifeq 13
12: StackMap locals: sun.rmi.rmic.iiop.InterfaceType
StackMap stack:
iconst_1
istore 7
13: StackMap locals:
StackMap stack:
aload 9
aload 6
invokestatic sun.rmi.rmic.iiop.ImplementationType.copyRemoteMethods:(Lsun/rmi/rmic/iiop/InterfaceType;Ljava/util/Vector;)V
end local 9 14: iinc 8 1
StackMap locals:
StackMap stack:
15: iload 8
aload 5
invokevirtual java.util.Vector.size:()I
if_icmplt 9
end local 8 16: iload 7
ifne 19
17: bipush 8
iload 2
aload 1
aload 0
invokevirtual sun.rmi.rmic.iiop.ImplementationType.getQualifiedName:()Ljava/lang/String;
invokestatic sun.rmi.rmic.iiop.ImplementationType.failedConstraint:(IZLsun/rmi/rmic/iiop/ContextStack;Ljava/lang/Object;)Z
pop
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
aload 1
iload 2
invokevirtual sun.rmi.rmic.iiop.ImplementationType.checkMethods:(Lsun/tools/java/ClassDefinition;Ljava/util/Vector;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
ifeq 24
20: aload 0
aload 5
aload 6
aconst_null
aload 1
iload 2
invokevirtual sun.rmi.rmic.iiop.ImplementationType.initialize:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
istore 3
end local 7 21: goto 24
StackMap locals: sun.rmi.rmic.iiop.ImplementationType sun.rmi.rmic.iiop.ContextStack int int sun.tools.java.ClassDefinition java.util.Vector java.util.Vector
StackMap stack: sun.tools.java.ClassNotFound
22: astore 7
start local 7 23: aload 1
aload 7
invokestatic sun.rmi.rmic.iiop.ImplementationType.classNotFound:(Lsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassNotFound;)V
end local 7 end local 6 end local 5 24: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/rmi/rmic/iiop/ImplementationType;
0 25 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 25 2 quiet Z
1 25 3 result Z
2 25 4 theClass Lsun/tools/java/ClassDefinition;
4 24 5 directInterfaces Ljava/util/Vector;
5 24 6 directMethods Ljava/util/Vector;
7 21 7 haveRemote Z
8 16 8 i I
10 14 9 theInt Lsun/rmi/rmic/iiop/InterfaceType;
23 24 7 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
5 18 22 Class sun.tools.java.ClassNotFound
19 21 22 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
stack
quiet
private static void copyRemoteMethods(sun.rmi.rmic.iiop.InterfaceType, java.util.Vector);
descriptor: (Lsun/rmi/rmic/iiop/InterfaceType;Ljava/util/Vector;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
sipush 4096
invokevirtual sun.rmi.rmic.iiop.InterfaceType.isType:(I)Z
ifeq 15
1: aload 0
invokevirtual sun.rmi.rmic.iiop.InterfaceType.getMethods:()[Lsun/rmi/rmic/iiop/CompoundType$Method;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: sun.rmi.rmic.iiop.CompoundType$Method[] int
StackMap stack:
aload 2
iload 3
aaload
astore 4
start local 4 5: aload 1
aload 4
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 7
6: aload 1
aload 4
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 4 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 9: aload 0
invokevirtual sun.rmi.rmic.iiop.InterfaceType.getInterfaces:()[Lsun/rmi/rmic/iiop/InterfaceType;
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 14
12: StackMap locals: sun.rmi.rmic.iiop.InterfaceType java.util.Vector sun.rmi.rmic.iiop.CompoundType$Method[] sun.rmi.rmic.iiop.InterfaceType[] int
StackMap stack:
aload 3
iload 4
aaload
aload 1
invokestatic sun.rmi.rmic.iiop.ImplementationType.copyRemoteMethods:(Lsun/rmi/rmic/iiop/InterfaceType;Ljava/util/Vector;)V
13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 3
arraylength
if_icmplt 12
end local 4 end local 3 end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 type Lsun/rmi/rmic/iiop/InterfaceType;
0 16 1 list Ljava/util/Vector;
2 15 2 allMethods [Lsun/rmi/rmic/iiop/CompoundType$Method;
3 9 3 i I
5 7 4 theMethod Lsun/rmi/rmic/iiop/CompoundType$Method;
10 15 3 allInterfaces [Lsun/rmi/rmic/iiop/InterfaceType;
11 15 4 i I
MethodParameters:
Name Flags
type
list
private boolean checkMethods(sun.tools.java.ClassDefinition, java.util.Vector, sun.rmi.rmic.iiop.ContextStack, boolean);
descriptor: (Lsun/tools/java/ClassDefinition;Ljava/util/Vector;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual java.util.Vector.size:()I
anewarray sun.rmi.rmic.iiop.CompoundType$Method
astore 5
start local 5 1: aload 2
aload 5
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
2: aload 1
invokevirtual sun.tools.java.ClassDefinition.getFirstMember:()Lsun/tools/java/MemberDefinition;
astore 6
start local 6 3: goto 9
4: StackMap locals: sun.rmi.rmic.iiop.CompoundType$Method[] sun.tools.java.MemberDefinition
StackMap stack:
aload 6
invokevirtual sun.tools.java.MemberDefinition.isMethod:()Z
ifeq 8
aload 6
invokevirtual sun.tools.java.MemberDefinition.isConstructor:()Z
ifne 8
5: aload 6
invokevirtual sun.tools.java.MemberDefinition.isInitializer:()Z
ifne 8
6: aload 0
aload 6
aload 5
aload 3
iload 4
invokevirtual sun.rmi.rmic.iiop.ImplementationType.updateExceptions:(Lsun/tools/java/MemberDefinition;[Lsun/rmi/rmic/iiop/CompoundType$Method;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.tools.java.MemberDefinition.getNextMember:()Lsun/tools/java/MemberDefinition;
astore 6
9: StackMap locals:
StackMap stack:
aload 6
ifnonnull 4
end local 6 10: iconst_1
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 11 0 this Lsun/rmi/rmic/iiop/ImplementationType;
0 11 1 theClass Lsun/tools/java/ClassDefinition;
0 11 2 list Ljava/util/Vector;
0 11 3 stack Lsun/rmi/rmic/iiop/ContextStack;
0 11 4 quiet Z
1 11 5 methods [Lsun/rmi/rmic/iiop/CompoundType$Method;
3 10 6 member Lsun/tools/java/MemberDefinition;
MethodParameters:
Name Flags
theClass
list
stack
quiet
private boolean updateExceptions(sun.tools.java.MemberDefinition, sun.rmi.rmic.iiop.CompoundType$Method[], sun.rmi.rmic.iiop.ContextStack, boolean);
descriptor: (Lsun/tools/java/MemberDefinition;[Lsun/rmi/rmic/iiop/CompoundType$Method;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
arraylength
istore 5
start local 5 1: aload 1
invokevirtual sun.tools.java.MemberDefinition.toString:()Ljava/lang/String;
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 13
4: StackMap locals: int java.lang.String int
StackMap stack:
aload 2
iload 7
aaload
astore 8
start local 8 5: aload 8
invokevirtual sun.rmi.rmic.iiop.CompoundType$Method.getMemberDefinition:()Lsun/tools/java/MemberDefinition;
astore 9
start local 9 6: aload 6
aload 9
invokevirtual sun.tools.java.MemberDefinition.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
7: aload 0
aload 1
iload 4
aload 3
invokevirtual sun.rmi.rmic.iiop.ImplementationType.getMethodExceptions:(Lsun/tools/java/MemberDefinition;ZLsun/rmi/rmic/iiop/ContextStack;)[Lsun/rmi/rmic/iiop/ValueType;
astore 10
start local 10 8: aload 8
aload 10
invokevirtual sun.rmi.rmic.iiop.CompoundType$Method.setImplExceptions:([Lsun/rmi/rmic/iiop/ValueType;)V
end local 10 9: goto 12
StackMap locals: sun.rmi.rmic.iiop.ImplementationType sun.tools.java.MemberDefinition sun.rmi.rmic.iiop.CompoundType$Method[] sun.rmi.rmic.iiop.ContextStack int int java.lang.String int sun.rmi.rmic.iiop.CompoundType$Method sun.tools.java.MemberDefinition
StackMap stack: java.lang.Exception
10: pop
11: iconst_0
ireturn
end local 9 end local 8 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 5
if_icmplt 4
end local 7 14: iconst_1
ireturn
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 15 0 this Lsun/rmi/rmic/iiop/ImplementationType;
0 15 1 implMethod Lsun/tools/java/MemberDefinition;
0 15 2 list [Lsun/rmi/rmic/iiop/CompoundType$Method;
0 15 3 stack Lsun/rmi/rmic/iiop/ContextStack;
0 15 4 quiet Z
1 15 5 length I
2 15 6 implMethodSig Ljava/lang/String;
3 14 7 i I
5 12 8 existingMethod Lsun/rmi/rmic/iiop/CompoundType$Method;
6 12 9 existing Lsun/tools/java/MemberDefinition;
8 9 10 implExcept [Lsun/rmi/rmic/iiop/ValueType;
Exception table:
from to target type
7 9 10 Class java.lang.Exception
MethodParameters:
Name Flags
implMethod
list
stack
quiet
}
SourceFile: "ImplementationType.java"
InnerClasses:
public Method = sun.rmi.rmic.iiop.CompoundType$Method of sun.rmi.rmic.iiop.CompoundType