public class sun.tools.java.Type implements sun.tools.java.Constants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.java.Type
super_class: java.lang.Object
{
private static final java.util.Hashtable<java.lang.String, sun.tools.java.Type> typeHash;
descriptor: Ljava/util/Hashtable;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/tools/java/Type;>;
protected int typeCode;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.String typeSig;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
public static final sun.tools.java.Type[] noArgs;
descriptor: [Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tError;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tPackage;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tNull;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tVoid;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tBoolean;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tByte;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tChar;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tShort;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tInt;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tFloat;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tLong;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tDouble;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tObject;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tClassDesc;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tString;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tCloneable;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final sun.tools.java.Type tSerializable;
descriptor: Lsun/tools/java/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new java.util.Hashtable
dup
sipush 231
invokespecial java.util.Hashtable.<init>:(I)V
putstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
1: iconst_0
anewarray sun.tools.java.Type
putstatic sun.tools.java.Type.noArgs:[Lsun/tools/java/Type;
2: new sun.tools.java.Type
dup
bipush 13
ldc "?"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tError:Lsun/tools/java/Type;
3: new sun.tools.java.Type
dup
bipush 13
ldc "."
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tPackage:Lsun/tools/java/Type;
4: new sun.tools.java.Type
dup
bipush 8
ldc "*"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tNull:Lsun/tools/java/Type;
5: new sun.tools.java.Type
dup
bipush 11
ldc "V"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tVoid:Lsun/tools/java/Type;
6: new sun.tools.java.Type
dup
iconst_0
ldc "Z"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tBoolean:Lsun/tools/java/Type;
7: new sun.tools.java.Type
dup
iconst_1
ldc "B"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tByte:Lsun/tools/java/Type;
8: new sun.tools.java.Type
dup
iconst_2
ldc "C"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tChar:Lsun/tools/java/Type;
9: new sun.tools.java.Type
dup
iconst_3
ldc "S"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tShort:Lsun/tools/java/Type;
10: new sun.tools.java.Type
dup
iconst_4
ldc "I"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tInt:Lsun/tools/java/Type;
11: new sun.tools.java.Type
dup
bipush 6
ldc "F"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tFloat:Lsun/tools/java/Type;
12: new sun.tools.java.Type
dup
iconst_5
ldc "J"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tLong:Lsun/tools/java/Type;
13: new sun.tools.java.Type
dup
bipush 7
ldc "D"
invokespecial sun.tools.java.Type.<init>:(ILjava/lang/String;)V
putstatic sun.tools.java.Type.tDouble:Lsun/tools/java/Type;
14: getstatic sun.tools.java.Type.idJavaLangObject:Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
putstatic sun.tools.java.Type.tObject:Lsun/tools/java/Type;
15: getstatic sun.tools.java.Type.idJavaLangClass:Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
putstatic sun.tools.java.Type.tClassDesc:Lsun/tools/java/Type;
16: getstatic sun.tools.java.Type.idJavaLangString:Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
putstatic sun.tools.java.Type.tString:Lsun/tools/java/Type;
17: getstatic sun.tools.java.Type.idJavaLangCloneable:Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
putstatic sun.tools.java.Type.tCloneable:Lsun/tools/java/Type;
18: getstatic sun.tools.java.Type.idJavaIoSerializable:Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
putstatic sun.tools.java.Type.tSerializable:Lsun/tools/java/Type;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, 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
iload 1
putfield sun.tools.java.Type.typeCode:I
2: aload 0
aload 2
putfield sun.tools.java.Type.typeSig:Ljava/lang/String;
3: getstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
aload 2
aload 0
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/java/Type;
0 5 1 typeCode I
0 5 2 typeSig Ljava/lang/String;
MethodParameters:
Name Flags
typeCode
typeSig
public final java.lang.String getTypeSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.Type.typeSig:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public final int getTypeCode();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.Type.typeCode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public final int getTypeMask();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: iconst_1
aload 0
getfield sun.tools.java.Type.typeCode:I
ishl
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public final boolean isType(int);
descriptor: (I)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.tools.java.Type.typeCode:I
iload 1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/java/Type;
0 2 1 tc I
MethodParameters:
Name Flags
tc
public boolean isVoidArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
bipush 9
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
astore 1
start local 1 3: goto 5
4: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 1
invokevirtual sun.tools.java.Type.getElementType:()Lsun/tools/java/Type;
astore 1
5: StackMap locals:
StackMap stack:
aload 1
bipush 9
invokevirtual sun.tools.java.Type.isType:(I)Z
ifne 4
6: aload 1
bipush 11
invokevirtual sun.tools.java.Type.isType:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/java/Type;
3 7 1 type Lsun/tools/java/Type;
public final boolean inMask(int);
descriptor: (I)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
aload 0
getfield sun.tools.java.Type.typeCode:I
ishl
iload 1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/java/Type;
0 2 1 tm I
MethodParameters:
Name Flags
tm
public static synchronized sun.tools.java.Type tArray(sun.tools.java.Type);
descriptor: (Lsun/tools/java/Type;)Lsun/tools/java/Type;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.lang.String
dup
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.tools.java.Type.getTypeSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: getstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.java.Type
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new sun.tools.java.ArrayType
dup
aload 1
aload 0
invokespecial sun.tools.java.ArrayType.<init>:(Ljava/lang/String;Lsun/tools/java/Type;)V
astore 2
4: StackMap locals: java.lang.String sun.tools.java.Type
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 elem Lsun/tools/java/Type;
1 5 1 sig Ljava/lang/String;
2 5 2 t Lsun/tools/java/Type;
MethodParameters:
Name Flags
elem
public sun.tools.java.Type getElementType();
descriptor: ()Lsun/tools/java/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.tools.java.CompilerError
dup
ldc "getElementType"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public int getArrayDimension();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public static synchronized sun.tools.java.Type tClass(sun.tools.java.Identifier);
descriptor: (Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.tools.java.Identifier.isInner:()Z
ifeq 5
1: aload 0
invokestatic sun.tools.java.Type.mangleInnerType:(Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
astore 1
start local 1 2: aload 1
invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
aload 0
if_acmpeq 4
3: aload 1
invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
aload 0
invokestatic sun.tools.java.Type.changeClassName:(Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;)V
4: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 1
areturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.Identifier.typeObject:Lsun/tools/java/Type;
ifnull 7
6: aload 0
getfield sun.tools.java.Identifier.typeObject:Lsun/tools/java/Type;
areturn
7: StackMap locals:
StackMap stack:
new java.lang.String
dup
new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
11: astore 1
start local 1 12: getstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.java.Type
astore 2
start local 2 13: aload 2
ifnonnull 15
14: new sun.tools.java.ClassType
dup
aload 1
aload 0
invokespecial sun.tools.java.ClassType.<init>:(Ljava/lang/String;Lsun/tools/java/Identifier;)V
astore 2
15: StackMap locals: java.lang.String sun.tools.java.Type
StackMap stack:
aload 0
aload 2
putfield sun.tools.java.Identifier.typeObject:Lsun/tools/java/Type;
16: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 className Lsun/tools/java/Identifier;
2 5 1 t Lsun/tools/java/Type;
12 17 1 sig Ljava/lang/String;
13 17 2 t Lsun/tools/java/Type;
MethodParameters:
Name Flags
className
public sun.tools.java.Identifier getClassName();
descriptor: ()Lsun/tools/java/Identifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "getClassName:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public static sun.tools.java.Identifier mangleInnerType(sun.tools.java.Identifier);
descriptor: (Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.tools.java.Identifier.isInner:()Z
ifne 1
aload 0
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.Identifier.getFlatName:()Lsun/tools/java/Identifier;
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
2: bipush 46
bipush 36
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
3: invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
astore 1
start local 1 4: aload 1
invokevirtual sun.tools.java.Identifier.isInner:()Z
ifeq 5
new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "mangle "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: sun.tools.java.Identifier
StackMap stack:
aload 0
invokevirtual sun.tools.java.Identifier.getQualifier:()Lsun/tools/java/Identifier;
aload 1
invokestatic sun.tools.java.Identifier.lookup:(Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;)Lsun/tools/java/Identifier;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 className Lsun/tools/java/Identifier;
4 6 1 mname Lsun/tools/java/Identifier;
MethodParameters:
Name Flags
className
static void changeClassName(sun.tools.java.Identifier, sun.tools.java.Identifier);
descriptor: (Lsun/tools/java/Identifier;Lsun/tools/java/Identifier;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
checkcast sun.tools.java.ClassType
aload 1
putfield sun.tools.java.ClassType.className:Lsun/tools/java/Identifier;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 oldName Lsun/tools/java/Identifier;
0 2 1 newName Lsun/tools/java/Identifier;
MethodParameters:
Name Flags
oldName
newName
public static synchronized sun.tools.java.Type tMethod(sun.tools.java.Type);
descriptor: (Lsun/tools/java/Type;)Lsun/tools/java/Type;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic sun.tools.java.Type.noArgs:[Lsun/tools/java/Type;
invokestatic sun.tools.java.Type.tMethod:(Lsun/tools/java/Type;[Lsun/tools/java/Type;)Lsun/tools/java/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ret Lsun/tools/java/Type;
MethodParameters:
Name Flags
ret
public static synchronized sun.tools.java.Type tMethod(sun.tools.java.Type, sun.tools.java.Type[]);
descriptor: (Lsun/tools/java/Type;[Lsun/tools/java/Type;)Lsun/tools/java/Type;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
aload 1
iload 3
aaload
invokevirtual sun.tools.java.Type.getTypeSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
aload 0
invokevirtual sun.tools.java.Type.getTypeSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 10: getstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.java.Type
astore 4
start local 4 11: aload 4
ifnonnull 13
12: new sun.tools.java.MethodType
dup
aload 3
aload 0
aload 1
invokespecial sun.tools.java.MethodType.<init>:(Ljava/lang/String;Lsun/tools/java/Type;[Lsun/tools/java/Type;)V
astore 4
13: StackMap locals: sun.tools.java.Type sun.tools.java.Type[] java.lang.StringBuilder java.lang.String sun.tools.java.Type
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 14 0 returnType Lsun/tools/java/Type;
0 14 1 argTypes [Lsun/tools/java/Type;
1 14 2 sb Ljava/lang/StringBuilder;
3 7 3 i I
10 14 3 sig Ljava/lang/String;
11 14 4 t Lsun/tools/java/Type;
MethodParameters:
Name Flags
returnType
argTypes
public sun.tools.java.Type getReturnType();
descriptor: ()Lsun/tools/java/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.tools.java.CompilerError
dup
ldc "getReturnType"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public sun.tools.java.Type[] getArgumentTypes();
descriptor: ()[Lsun/tools/java/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.tools.java.CompilerError
dup
ldc "getArgumentTypes"
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
public static synchronized sun.tools.java.Type tType(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/tools/java/Type;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=7, args_size=1
start local 0 0: getstatic sun.tools.java.Type.typeHash:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.java.Type
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: sun.tools.java.Type
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 3
40: 6
76: 5
91: 4
default: 26
}
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic sun.tools.java.Type.tType:(Ljava/lang/String;)Lsun/tools/java/Type;
invokestatic sun.tools.java.Type.tArray:(Lsun/tools/java/Type;)Lsun/tools/java/Type;
areturn
5: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic sun.tools.java.Identifier.lookup:(Ljava/lang/String;)Lsun/tools/java/Identifier;
invokestatic sun.tools.java.Type.tClass:(Lsun/tools/java/Identifier;)Lsun/tools/java/Type;
areturn
6: StackMap locals:
StackMap stack:
bipush 8
anewarray sun.tools.java.Type
astore 2
start local 2 7: iconst_0
istore 3
start local 3 8: iconst_1
istore 4
start local 4 9: goto 22
10: StackMap locals: sun.tools.java.Type[] int int
StackMap stack:
iload 4
istore 5
start local 5 11: goto 13
StackMap locals: int
StackMap stack:
12: iinc 5 1
StackMap locals:
StackMap stack:
13: aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 12
14: aload 0
iload 5
iinc 5 1
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 16
15: StackMap locals:
StackMap stack:
aload 0
iload 5
iinc 5 1
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpne 15
16: StackMap locals:
StackMap stack:
iload 3
aload 2
arraylength
if_icmpne 20
17: iload 3
iconst_2
imul
anewarray sun.tools.java.Type
astore 6
start local 6 18: aload 2
iconst_0
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 6
astore 2
end local 6 20: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 0
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic sun.tools.java.Type.tType:(Ljava/lang/String;)Lsun/tools/java/Type;
aastore
21: iload 5
istore 4
end local 5 StackMap locals:
StackMap stack:
22: aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 10
23: iload 3
anewarray sun.tools.java.Type
astore 6
start local 6 24: aload 2
iconst_0
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: aload 0
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic sun.tools.java.Type.tType:(Ljava/lang/String;)Lsun/tools/java/Type;
aload 6
invokestatic sun.tools.java.Type.tMethod:(Lsun/tools/java/Type;[Lsun/tools/java/Type;)Lsun/tools/java/Type;
areturn
end local 6 end local 4 end local 3 end local 2 26: StackMap locals:
StackMap stack:
new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "invalid TypeSignature:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 sig Ljava/lang/String;
1 27 1 t Lsun/tools/java/Type;
7 26 2 argv [Lsun/tools/java/Type;
8 26 3 argc I
9 26 4 i I
11 22 5 j I
18 20 6 newargv [Lsun/tools/java/Type;
24 26 6 argtypes [Lsun/tools/java/Type;
MethodParameters:
Name Flags
sig
public boolean equalArguments(sun.tools.java.Type);
descriptor: (Lsun/tools/java/Type;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
0 1 1 t Lsun/tools/java/Type;
MethodParameters:
Name Flags
t
public int stackSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.Type.typeCode:I
tableswitch { // 0 - 13
0: 2
1: 2
2: 2
3: 2
4: 2
5: 3
6: 2
7: 3
8: 4
9: 2
10: 2
11: 1
12: 4
13: 1
default: 4
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_2
ireturn
4: StackMap locals:
StackMap stack:
new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "stackSize "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.tools.java.Type.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/java/Type;
public int getTypeCodeOffset();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.Type.typeCode:I
tableswitch { // 0 - 10
0: 1
1: 1
2: 1
3: 1
4: 1
5: 2
6: 3
7: 4
8: 5
9: 5
10: 5
default: 6
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_2
ireturn
4: StackMap locals:
StackMap stack:
iconst_3
ireturn
5: StackMap locals:
StackMap stack:
iconst_4
ireturn
6: StackMap locals:
StackMap stack:
new sun.tools.java.CompilerError
dup
new java.lang.StringBuilder
dup
ldc "invalid typecode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.tools.java.Type.typeCode:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/java/Type;
public java.lang.String typeString(java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;ZZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield sun.tools.java.Type.typeCode:I
tableswitch { // 0 - 13
0: 4
1: 5
2: 6
3: 7
4: 8
5: 9
6: 10
7: 11
8: 2
9: 15
10: 15
11: 3
12: 15
13: 12
default: 15
}
2: StackMap locals: java.lang.String
StackMap stack:
ldc "null"
astore 4
goto 16
3: StackMap locals:
StackMap stack:
ldc "void"
astore 4
goto 16
4: StackMap locals:
StackMap stack:
ldc "boolean"
astore 4
goto 16
5: StackMap locals:
StackMap stack:
ldc "byte"
astore 4
goto 16
6: StackMap locals:
StackMap stack:
ldc "char"
astore 4
goto 16
7: StackMap locals:
StackMap stack:
ldc "short"
astore 4
goto 16
8: StackMap locals:
StackMap stack:
ldc "int"
astore 4
goto 16
9: StackMap locals:
StackMap stack:
ldc "long"
astore 4
goto 16
10: StackMap locals:
StackMap stack:
ldc "float"
astore 4
goto 16
11: StackMap locals:
StackMap stack:
ldc "double"
astore 4
goto 16
12: StackMap locals:
StackMap stack:
ldc "<error>"
astore 4
13: aload 0
getstatic sun.tools.java.Type.tPackage:Lsun/tools/java/Type;
if_acmpne 16
ldc "<package>"
astore 4
14: goto 16
15: StackMap locals:
StackMap stack:
ldc "unknown"
astore 4
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifle 17
new java.lang.StringBuilder
dup
aload 4
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;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 18
StackMap locals:
StackMap stack:
17: aload 4
StackMap locals:
StackMap stack: java.lang.String
18: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/tools/java/Type;
0 19 1 id Ljava/lang/String;
0 19 2 abbrev Z
0 19 3 ret Z
1 19 4 s Ljava/lang/String;
MethodParameters:
Name Flags
id
abbrev
ret
public java.lang.String typeString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_1
invokevirtual sun.tools.java.Type.typeString:(Ljava/lang/String;ZZ)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
0 1 1 id Ljava/lang/String;
MethodParameters:
Name Flags
id
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc ""
iconst_0
iconst_1
invokevirtual sun.tools.java.Type.typeString:(Ljava/lang/String;ZZ)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/Type;
}
SourceFile: "Type.java"