public class sun.rmi.rmic.iiop.SpecialInterfaceType extends sun.rmi.rmic.iiop.InterfaceType
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.rmic.iiop.SpecialInterfaceType
super_class: sun.rmi.rmic.iiop.InterfaceType
{
public static sun.rmi.rmic.iiop.SpecialInterfaceType forSpecial(sun.tools.java.ClassDefinition, sun.rmi.rmic.iiop.ContextStack);
descriptor: (Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/SpecialInterfaceType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.rmi.rmic.iiop.ContextStack.anyErrors:()Z
ifeq 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.ClassDefinition.getType:()Lsun/tools/java/Type;
astore 2
start local 2 2: aload 2
aload 1
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.getType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/Type;
astore 3
start local 3 3: aload 3
ifnull 6
4: aload 3
instanceof sun.rmi.rmic.iiop.SpecialInterfaceType
ifne 5
aconst_null
areturn
5: StackMap locals: sun.tools.java.Type sun.rmi.rmic.iiop.Type
StackMap stack:
aload 3
checkcast sun.rmi.rmic.iiop.SpecialInterfaceType
areturn
6: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.isSpecial:(Lsun/tools/java/Type;Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)Z
ifeq 16
7: new sun.rmi.rmic.iiop.SpecialInterfaceType
dup
aload 1
iconst_0
aload 0
invokespecial sun.rmi.rmic.iiop.SpecialInterfaceType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
astore 4
start local 4 8: aload 2
aload 4
aload 1
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.putType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
9: aload 1
aload 4
invokevirtual sun.rmi.rmic.iiop.ContextStack.push:(Lsun/rmi/rmic/iiop/ContextElement;)Lsun/rmi/rmic/iiop/TypeContext;
pop
10: aload 4
aload 2
aload 1
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.initialize:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Z
ifeq 13
11: aload 1
iconst_1
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
12: aload 4
areturn
13: StackMap locals: sun.rmi.rmic.iiop.SpecialInterfaceType
StackMap stack:
aload 2
aload 1
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.removeType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
14: aload 1
iconst_0
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
15: aconst_null
areturn
end local 4 16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 theClass Lsun/tools/java/ClassDefinition;
0 17 1 stack Lsun/rmi/rmic/iiop/ContextStack;
2 17 2 type Lsun/tools/java/Type;
3 17 3 existing Lsun/rmi/rmic/iiop/Type;
8 16 4 result Lsun/rmi/rmic/iiop/SpecialInterfaceType;
MethodParameters:
Name Flags
theClass
stack
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 "Special interface"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/SpecialInterfaceType;
private void <init>(sun.rmi.rmic.iiop.ContextStack, int, sun.tools.java.ClassDefinition);
descriptor: (Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
ldc 536870912
ior
ldc 134217728
ior
ldc 33554432
ior
aload 3
invokespecial sun.rmi.rmic.iiop.InterfaceType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
1: aload 0
aload 3
invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
aconst_null
aconst_null
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.setNames:(Lsun/tools/java/Identifier;[Ljava/lang/String;Ljava/lang/String;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/rmic/iiop/SpecialInterfaceType;
0 3 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 3 2 typeCode I
0 3 3 theClass Lsun/tools/java/ClassDefinition;
MethodParameters:
Name Flags
stack
typeCode
theClass
private static boolean isSpecial(sun.tools.java.Type, sun.tools.java.ClassDefinition, sun.rmi.rmic.iiop.ContextStack);
descriptor: (Lsun/tools/java/Type;Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 12
1: aload 0
invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
astore 3
start local 3 2: aload 3
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idRemote:Lsun/tools/java/Identifier;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
iconst_1
ireturn
3: StackMap locals: sun.tools.java.Identifier
StackMap stack:
aload 3
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idJavaIoSerializable:Lsun/tools/java/Identifier;
if_acmpne 4
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 3
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idJavaIoExternalizable:Lsun/tools/java/Identifier;
if_acmpne 5
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idCorbaObject:Lsun/tools/java/Identifier;
if_acmpne 6
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 3
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idIDLEntity:Lsun/tools/java/Identifier;
if_acmpne 7
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.rmi.rmic.iiop.ContextStack.getEnv:()Lsun/rmi/rmic/iiop/BatchEnvironment;
astore 4
start local 4 8: aload 4
getfield sun.rmi.rmic.iiop.BatchEnvironment.defCorbaObject:Lsun/tools/java/ClassDefinition;
aload 4
aload 1
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
ifeq 12
9: iconst_1
ireturn
10: StackMap locals: sun.tools.java.Type sun.tools.java.ClassDefinition sun.rmi.rmic.iiop.ContextStack sun.tools.java.Identifier sun.rmi.rmic.iiop.BatchEnvironment
StackMap stack: sun.tools.java.ClassNotFound
astore 5
start local 5 11: aload 2
aload 5
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.classNotFound:(Lsun/rmi/rmic/iiop/ContextStack;Lsun/tools/java/ClassNotFound;)V
end local 5 end local 4 end local 3 12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 type Lsun/tools/java/Type;
0 13 1 theClass Lsun/tools/java/ClassDefinition;
0 13 2 stack Lsun/rmi/rmic/iiop/ContextStack;
2 12 3 id Lsun/tools/java/Identifier;
8 12 4 env Lsun/rmi/rmic/iiop/BatchEnvironment;
11 12 5 e Lsun/tools/java/ClassNotFound;
Exception table:
from to target type
8 9 10 Class sun.tools.java.ClassNotFound
MethodParameters:
Name Flags
type
theClass
stack
private boolean initialize(sun.tools.java.Type, sun.rmi.rmic.iiop.ContextStack);
descriptor: (Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 2
invokevirtual sun.rmi.rmic.iiop.ContextStack.size:()I
ifle 5
aload 2
invokevirtual sun.rmi.rmic.iiop.ContextStack.getContext:()Lsun/rmi/rmic/iiop/TypeContext;
invokevirtual sun.rmi.rmic.iiop.TypeContext.isConstant:()Z
ifeq 5
iconst_1
goto 6
StackMap locals: sun.rmi.rmic.iiop.SpecialInterfaceType sun.tools.java.Type sun.rmi.rmic.iiop.ContextStack int sun.tools.java.Identifier java.lang.String java.lang.String[]
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: aload 1
bipush 10
invokevirtual sun.tools.java.Type.isType:(I)Z
ifeq 40
8: aload 1
invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
astore 4
9: aload 4
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idRemote:Lsun/tools/java/Identifier;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
10: ldc 524288
istore 3
11: ldc "Remote"
astore 5
12: getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.IDL_JAVA_RMI_MODULE:[Ljava/lang/String;
astore 6
13: goto 40
StackMap locals: int
StackMap stack:
14: aload 4
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idJavaIoSerializable:Lsun/tools/java/Identifier;
if_acmpne 19
15: sipush 1024
istore 3
16: ldc "Serializable"
astore 5
17: getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.IDL_JAVA_IO_MODULE:[Ljava/lang/String;
astore 6
18: goto 40
StackMap locals:
StackMap stack:
19: aload 4
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idJavaIoExternalizable:Lsun/tools/java/Identifier;
if_acmpne 24
20: sipush 1024
istore 3
21: ldc "Externalizable"
astore 5
22: getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.IDL_JAVA_IO_MODULE:[Ljava/lang/String;
astore 6
23: goto 40
StackMap locals:
StackMap stack:
24: aload 4
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idIDLEntity:Lsun/tools/java/Identifier;
if_acmpne 29
25: sipush 1024
istore 3
26: ldc "IDLEntity"
astore 5
27: getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.IDL_ORG_OMG_CORBA_PORTABLE_MODULE:[Ljava/lang/String;
astore 6
28: goto 40
29: StackMap locals:
StackMap stack:
sipush 2048
istore 3
30: aload 4
getstatic sun.rmi.rmic.iiop.SpecialInterfaceType.idCorbaObject:Lsun/tools/java/Identifier;
if_acmpne 34
31: iload 3
iload 7
invokestatic sun.rmi.rmic.iiop.IDLNames.getTypeName:(IZ)Ljava/lang/String;
astore 5
32: aconst_null
astore 6
33: goto 40
34: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield sun.rmi.rmic.iiop.SpecialInterfaceType.env:Lsun/rmi/rmic/iiop/BatchEnvironment;
invokestatic sun.rmi.rmic.iiop.IDLNames.getClassOrInterfaceName:(Lsun/tools/java/Identifier;Lsun/rmi/rmic/iiop/BatchEnvironment;)Ljava/lang/String;
astore 5
35: aload 4
aload 0
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.isBoxed:()Z
aload 0
getfield sun.rmi.rmic.iiop.SpecialInterfaceType.env:Lsun/rmi/rmic/iiop/BatchEnvironment;
invokestatic sun.rmi.rmic.iiop.IDLNames.getModuleNames:(Lsun/tools/java/Identifier;ZLsun/rmi/rmic/iiop/BatchEnvironment;)[Ljava/lang/String;
astore 6
36: goto 40
StackMap locals:
StackMap stack: java.lang.Exception
37: astore 8
start local 8 38: bipush 7
iconst_0
aload 2
aload 4
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokestatic sun.rmi.rmic.iiop.SpecialInterfaceType.failedConstraint:(IZLsun/rmi/rmic/iiop/ContextStack;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
39: new sun.tools.java.CompilerError
dup
ldc ""
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 8 40: StackMap locals:
StackMap stack:
iload 3
ifne 42
41: iconst_0
ireturn
42: StackMap locals:
StackMap stack:
aload 0
iload 3
ldc 536870912
ior
ldc 134217728
ior
ldc 33554432
ior
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.setTypeCode:(I)V
43: aload 5
ifnonnull 45
44: new sun.tools.java.CompilerError
dup
ldc "Not a special type"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 6
aload 5
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.setNames:(Lsun/tools/java/Identifier;[Ljava/lang/String;Ljava/lang/String;)V
46: aload 0
aconst_null
aconst_null
aconst_null
aload 2
iconst_0
invokevirtual sun.rmi.rmic.iiop.SpecialInterfaceType.initialize:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
ireturn
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 47 0 this Lsun/rmi/rmic/iiop/SpecialInterfaceType;
0 47 1 type Lsun/tools/java/Type;
0 47 2 stack Lsun/rmi/rmic/iiop/ContextStack;
1 47 3 typeCode I
2 47 4 id Lsun/tools/java/Identifier;
3 47 5 idlName Ljava/lang/String;
4 47 6 idlModuleName [Ljava/lang/String;
7 47 7 constant Z
38 40 8 e Ljava/lang/Exception;
Exception table:
from to target type
34 36 37 Class java.lang.Exception
MethodParameters:
Name Flags
type
stack
}
SourceFile: "SpecialInterfaceType.java"