public class sun.rmi.rmic.iiop.ArrayType extends sun.rmi.rmic.iiop.Type
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.rmi.rmic.iiop.ArrayType
super_class: sun.rmi.rmic.iiop.Type
{
private sun.rmi.rmic.iiop.Type type;
descriptor: Lsun/rmi/rmic/iiop/Type;
flags: (0x0002) ACC_PRIVATE
private int arrayDimension;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String brackets;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String bracketsSig;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public static sun.rmi.rmic.iiop.ArrayType forArray(sun.tools.java.Type, sun.rmi.rmic.iiop.ContextStack);
descriptor: (Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/ArrayType;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
astore 3
start local 3 2: aload 3
invokevirtual sun.tools.java.Type.getTypeCode:()I
bipush 9
if_icmpne 16
3: goto 5
4: StackMap locals: sun.rmi.rmic.iiop.ArrayType sun.tools.java.Type
StackMap stack:
aload 3
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
astore 3
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.tools.java.Type.getTypeCode:()I
bipush 9
if_icmpeq 4
6: aload 0
aload 1
invokestatic sun.rmi.rmic.iiop.ArrayType.getType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/Type;
astore 4
start local 4 7: aload 4
ifnull 10
8: aload 4
instanceof sun.rmi.rmic.iiop.ArrayType
ifne 9
aconst_null
areturn
9: StackMap locals: sun.rmi.rmic.iiop.Type
StackMap stack:
aload 4
checkcast sun.rmi.rmic.iiop.ArrayType
areturn
10: StackMap locals:
StackMap stack:
aload 3
aconst_null
aload 1
invokestatic sun.rmi.rmic.iiop.CompoundType.makeType:(Lsun/tools/java/Type;Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/Type;
astore 5
start local 5 11: aload 5
ifnull 16
12: new sun.rmi.rmic.iiop.ArrayType
dup
aload 1
aload 5
aload 0
invokevirtual sun.tools.java.Type.getArrayDimension:()I
invokespecial sun.rmi.rmic.iiop.ArrayType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;Lsun/rmi/rmic/iiop/Type;I)V
astore 2
13: aload 0
aload 2
aload 1
invokestatic sun.rmi.rmic.iiop.ArrayType.putType:(Lsun/tools/java/Type;Lsun/rmi/rmic/iiop/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
14: aload 1
aload 2
invokevirtual sun.rmi.rmic.iiop.ContextStack.push:(Lsun/rmi/rmic/iiop/ContextElement;)Lsun/rmi/rmic/iiop/TypeContext;
pop
15: aload 1
iconst_1
invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
pop
end local 5 end local 4 16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 theType Lsun/tools/java/Type;
0 17 1 stack Lsun/rmi/rmic/iiop/ContextStack;
1 17 2 result Lsun/rmi/rmic/iiop/ArrayType;
2 17 3 arrayType Lsun/tools/java/Type;
7 16 4 existing Lsun/rmi/rmic/iiop/Type;
11 16 5 temp Lsun/rmi/rmic/iiop/Type;
MethodParameters:
Name Flags
theType
stack
public java.lang.String getSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.bracketsSig:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.Type.getSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public sun.rmi.rmic.iiop.Type getElementType();
descriptor: ()Lsun/rmi/rmic/iiop/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public int getArrayDimension();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.arrayDimension:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public java.lang.String getArrayBrackets();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual sun.rmi.rmic.iiop.ArrayType.getQualifiedName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public java.lang.String getTypeDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Array of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.Type.getTypeDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/rmic/iiop/ArrayType;
public java.lang.String getTypeName(boolean, boolean, boolean);
descriptor: (ZZZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 2
1: aload 0
iload 1
iload 2
iload 3
invokespecial sun.rmi.rmic.iiop.Type.getTypeName:(ZZZ)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
iload 1
iload 2
iload 3
invokespecial sun.rmi.rmic.iiop.Type.getTypeName:(ZZZ)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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/ArrayType;
0 3 1 useQualifiedNames Z
0 3 2 useIDLNames Z
0 3 3 globalIDLNames Z
MethodParameters:
Name Flags
useQualifiedNames
useIDLNames
globalIDLNames
protected void swapInvalidTypes();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.Type.getStatus:()I
iconst_1
if_icmpeq 2
1: aload 0
aload 0
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.ArrayType.getValidType:(Lsun/rmi/rmic/iiop/Type;)Lsun/rmi/rmic/iiop/Type;
putfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/rmic/iiop/ArrayType;
protected boolean addTypes(int, java.util.HashSet, java.util.Vector);
descriptor: (ILjava/util/HashSet;Ljava/util/Vector;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
invokespecial sun.rmi.rmic.iiop.Type.addTypes:(ILjava/util/HashSet;Ljava/util/Vector;)Z
istore 4
start local 4 1: iload 4
ifeq 3
2: aload 0
invokevirtual sun.rmi.rmic.iiop.ArrayType.getElementType:()Lsun/rmi/rmic/iiop/Type;
iload 1
aload 2
aload 3
invokevirtual sun.rmi.rmic.iiop.Type.addTypes:(ILjava/util/HashSet;Ljava/util/Vector;)Z
pop
3: StackMap locals: int
StackMap stack:
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 4 0 this Lsun/rmi/rmic/iiop/ArrayType;
0 4 1 typeCodeFilter I
0 4 2 checked Ljava/util/HashSet;
0 4 3 matching Ljava/util/Vector;
1 4 4 result Z
MethodParameters:
Name Flags
typeCodeFilter
checked
matching
private void <init>(sun.rmi.rmic.iiop.ContextStack, sun.rmi.rmic.iiop.Type, int);
descriptor: (Lsun/rmi/rmic/iiop/ContextStack;Lsun/rmi/rmic/iiop/Type;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
ldc 262144
invokespecial sun.rmi.rmic.iiop.Type.<init>:(Lsun/rmi/rmic/iiop/ContextStack;I)V
1: aload 0
aload 2
putfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
2: aload 0
iload 3
putfield sun.rmi.rmic.iiop.ArrayType.arrayDimension:I
3: aload 0
ldc ""
putfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
4: aload 0
ldc ""
putfield sun.rmi.rmic.iiop.ArrayType.bracketsSig:Ljava/lang/String;
5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: sun.rmi.rmic.iiop.ArrayType sun.rmi.rmic.iiop.ContextStack sun.rmi.rmic.iiop.Type int int
StackMap stack:
aload 0
dup
getfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
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;
putfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
8: aload 0
dup
getfield sun.rmi.rmic.iiop.ArrayType.bracketsSig:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
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;
putfield sun.rmi.rmic.iiop.ArrayType.bracketsSig:Ljava/lang/String;
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 7
end local 4 11: aload 2
iload 3
invokestatic sun.rmi.rmic.iiop.IDLNames.getArrayName:(Lsun/rmi/rmic/iiop/Type;I)Ljava/lang/String;
astore 4
start local 4 12: aload 2
invokestatic sun.rmi.rmic.iiop.IDLNames.getArrayModuleNames:(Lsun/rmi/rmic/iiop/Type;)[Ljava/lang/String;
astore 5
start local 5 13: aload 0
aload 2
invokevirtual sun.rmi.rmic.iiop.Type.getIdentifier:()Lsun/tools/java/Identifier;
aload 5
aload 4
invokevirtual sun.rmi.rmic.iiop.ArrayType.setNames:(Lsun/tools/java/Identifier;[Ljava/lang/String;Ljava/lang/String;)V
14: aload 0
invokevirtual sun.rmi.rmic.iiop.ArrayType.setRepositoryID:()Z
pop
15: 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 16 0 this Lsun/rmi/rmic/iiop/ArrayType;
0 16 1 stack Lsun/rmi/rmic/iiop/ContextStack;
0 16 2 type Lsun/rmi/rmic/iiop/Type;
0 16 3 arrayDimension I
6 11 4 i I
12 16 4 idlName Ljava/lang/String;
13 16 5 module [Ljava/lang/String;
MethodParameters:
Name Flags
stack
type
arrayDimension
protected java.lang.Class loadClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.Type.getClassInstance:()Ljava/lang/Class;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
aload 0
getfield sun.rmi.rmic.iiop.ArrayType.arrayDimension:I
newarray 10
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
4: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/rmi/rmic/iiop/ArrayType;
1 5 1 result Ljava/lang/Class;
2 5 2 elementClass Ljava/lang/Class;
protected void destroy();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.rmi.rmic.iiop.Type.destroy:()V
1: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
ifnull 4
2: aload 0
getfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
invokevirtual sun.rmi.rmic.iiop.Type.destroy:()V
3: aload 0
aconst_null
putfield sun.rmi.rmic.iiop.ArrayType.type:Lsun/rmi/rmic/iiop/Type;
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.rmi.rmic.iiop.ArrayType.brackets:Ljava/lang/String;
5: aload 0
aconst_null
putfield sun.rmi.rmic.iiop.ArrayType.bracketsSig:Ljava/lang/String;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/rmi/rmic/iiop/ArrayType;
}
SourceFile: "ArrayType.java"