public abstract class org.apache.bcel.generic.Type
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.bcel.generic.Type
super_class: java.lang.Object
{
protected byte type;
descriptor: B
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected java.lang.String signature;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final org.apache.bcel.generic.BasicType VOID;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType BOOLEAN;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType INT;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType SHORT;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType BYTE;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType LONG;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType DOUBLE;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType FLOAT;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.BasicType CHAR;
descriptor: Lorg/apache/bcel/generic/BasicType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ObjectType OBJECT;
descriptor: Lorg/apache/bcel/generic/ObjectType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ObjectType CLASS;
descriptor: Lorg/apache/bcel/generic/ObjectType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ObjectType STRING;
descriptor: Lorg/apache/bcel/generic/ObjectType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ObjectType STRINGBUFFER;
descriptor: Lorg/apache/bcel/generic/ObjectType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ObjectType THROWABLE;
descriptor: Lorg/apache/bcel/generic/ObjectType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.Type[] NO_ARGS;
descriptor: [Lorg/apache/bcel/generic/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.ReferenceType NULL;
descriptor: Lorg/apache/bcel/generic/ReferenceType;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.bcel.generic.Type UNKNOWN;
descriptor: Lorg/apache/bcel/generic/Type;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<java.lang.Integer> consumed_chars;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new org.apache.bcel.generic.BasicType
dup
bipush 12
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.VOID:Lorg/apache/bcel/generic/BasicType;
1: new org.apache.bcel.generic.BasicType
dup
iconst_4
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
2: new org.apache.bcel.generic.BasicType
dup
bipush 10
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
3: new org.apache.bcel.generic.BasicType
dup
bipush 9
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
4: new org.apache.bcel.generic.BasicType
dup
bipush 8
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
5: new org.apache.bcel.generic.BasicType
dup
bipush 11
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.LONG:Lorg/apache/bcel/generic/BasicType;
6: new org.apache.bcel.generic.BasicType
dup
bipush 7
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.DOUBLE:Lorg/apache/bcel/generic/BasicType;
7: new org.apache.bcel.generic.BasicType
dup
bipush 6
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.FLOAT:Lorg/apache/bcel/generic/BasicType;
8: new org.apache.bcel.generic.BasicType
dup
iconst_5
invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
putstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
9: new org.apache.bcel.generic.ObjectType
dup
ldc "java.lang.Object"
invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
putstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
10: new org.apache.bcel.generic.ObjectType
dup
ldc "java.lang.Class"
invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
putstatic org.apache.bcel.generic.Type.CLASS:Lorg/apache/bcel/generic/ObjectType;
11: new org.apache.bcel.generic.ObjectType
dup
ldc "java.lang.String"
invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
putstatic org.apache.bcel.generic.Type.STRING:Lorg/apache/bcel/generic/ObjectType;
12: new org.apache.bcel.generic.ObjectType
dup
ldc "java.lang.StringBuffer"
invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
putstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
13: new org.apache.bcel.generic.ObjectType
dup
ldc "java.lang.Throwable"
invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
putstatic org.apache.bcel.generic.Type.THROWABLE:Lorg/apache/bcel/generic/ObjectType;
14: iconst_0
anewarray org.apache.bcel.generic.Type
putstatic org.apache.bcel.generic.Type.NO_ARGS:[Lorg/apache/bcel/generic/Type;
15: new org.apache.bcel.generic.Type$1
dup
invokespecial org.apache.bcel.generic.Type$1.<init>:()V
putstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
16: new org.apache.bcel.generic.Type$2
dup
bipush 15
ldc "<unknown object>"
invokespecial org.apache.bcel.generic.Type$2.<init>:(BLjava/lang/String;)V
putstatic org.apache.bcel.generic.Type.UNKNOWN:Lorg/apache/bcel/generic/Type;
17: new org.apache.bcel.generic.Type$3
dup
invokespecial org.apache.bcel.generic.Type$3.<init>:()V
putstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
18: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(byte, java.lang.String);
descriptor: (BLjava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
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
iload 1
putfield org.apache.bcel.generic.Type.type:B
2: aload 0
aload 2
putfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/bcel/generic/Type;
0 4 1 t B
0 4 2 s Ljava/lang/String;
MethodParameters:
Name Flags
t final
s final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.generic.Type.type:B
aload 0
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/bcel/generic/Type;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.apache.bcel.generic.Type
ifeq 4
1: aload 1
checkcast org.apache.bcel.generic.Type
astore 2
start local 2 2: aload 0
getfield org.apache.bcel.generic.Type.type:B
aload 2
getfield org.apache.bcel.generic.Type.type:B
if_icmpne 3
aload 0
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
aload 2
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
iconst_1
ireturn
StackMap locals: org.apache.bcel.generic.Type
StackMap stack:
3: iconst_0
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/bcel/generic/Type;
0 5 1 o Ljava/lang/Object;
2 4 2 t Lorg/apache/bcel/generic/Type;
MethodParameters:
Name Flags
o final
public java.lang.String getSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/bcel/generic/Type;
public byte getType();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.generic.Type.type:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/bcel/generic/Type;
public org.apache.bcel.generic.Type normalizeForStackOrLocal();
descriptor: ()Lorg/apache/bcel/generic/Type;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 1
aload 0
getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 1
aload 0
getstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
if_acmpeq 1
aload 0
getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
if_acmpne 2
1: StackMap locals:
StackMap stack:
getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/bcel/generic/Type;
public int getSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.bcel.generic.Type.type:B
tableswitch { // 7 - 12
7: 1
8: 3
9: 3
10: 3
11: 1
12: 2
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_2
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/bcel/generic/Type;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
invokevirtual org.apache.bcel.generic.Type.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
getfield org.apache.bcel.generic.Type.type:B
bipush 15
if_icmplt 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
iconst_0
invokestatic org.apache.bcel.classfile.Utility.signatureToString:(Ljava/lang/String;Z)Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/bcel/generic/Type;
public static java.lang.String getMethodSignature(org.apache.bcel.generic.Type, org.apache.bcel.generic.Type[]);
descriptor: (Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 1
ifnull 7
2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] java.lang.StringBuilder top int int org.apache.bcel.generic.Type[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 2
aload 3
invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: StackMap locals: org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] java.lang.StringBuilder
StackMap stack:
aload 2
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 2
aload 0
invokevirtual org.apache.bcel.generic.Type.getSignature:()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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 return_type Lorg/apache/bcel/generic/Type;
0 10 1 arg_types [Lorg/apache/bcel/generic/Type;
1 10 2 buf Ljava/lang/StringBuilder;
4 5 3 arg_type Lorg/apache/bcel/generic/Type;
MethodParameters:
Name Flags
return_type final
arg_types final
private static int unwrap(java.lang.ThreadLocal<java.lang.Integer>);
descriptor: (Ljava/lang/ThreadLocal;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tl Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;
Signature: (Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;)I
MethodParameters:
Name Flags
tl final
private static void wrap(java.lang.ThreadLocal<java.lang.Integer>, );
descriptor: (Ljava/lang/ThreadLocal;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tl Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;
0 2 1 value I
Signature: (Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;I)V
MethodParameters:
Name Flags
tl final
value final
public static org.apache.bcel.generic.Type getType(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokestatic org.apache.bcel.classfile.Utility.typeOfSignature:(Ljava/lang/String;)B
istore 1
start local 1 1: iload 1
bipush 12
if_icmpgt 4
2: getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
iconst_1
invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
3: iload 1
invokestatic org.apache.bcel.generic.BasicType.getType:(B)Lorg/apache/bcel/generic/BasicType;
areturn
4: StackMap locals: int
StackMap stack:
iload 1
bipush 13
if_icmpne 12
5: iconst_0
istore 2
start local 2 6: StackMap locals: int
StackMap stack:
iinc 2 1
7: aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 6
8: aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
astore 3
start local 3 9: getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
invokestatic org.apache.bcel.generic.Type.unwrap:(Ljava/lang/ThreadLocal;)I
iload 2
iadd
istore 4
start local 4 10: getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
iload 4
invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
11: new org.apache.bcel.generic.ArrayType
dup
aload 3
iload 2
invokespecial org.apache.bcel.generic.ArrayType.<init>:(Lorg/apache/bcel/generic/Type;I)V
areturn
end local 4 end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokestatic org.apache.bcel.classfile.Utility.typeSignatureToString:(Ljava/lang/String;Z)Ljava/lang/String;
astore 2
start local 2 13: getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
aload 2
invokevirtual java.lang.String.length:()I
iconst_2
iadd
invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
14: aload 2
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 signature Ljava/lang/String;
1 15 1 type B
6 12 2 dim I
9 12 3 t Lorg/apache/bcel/generic/Type;
10 12 4 _temp I
13 15 2 parsedSignature Ljava/lang/String;
Exceptions:
throws java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
signature final
public static org.apache.bcel.generic.Type getReturnType(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
bipush 41
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
istore 1
start local 1 1: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.lang.StringIndexOutOfBoundsException
astore 1
start local 1 4: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid method signature: "
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;
aload 1
invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 signature Ljava/lang/String;
1 3 1 index I
4 5 1 e Ljava/lang/StringIndexOutOfBoundsException;
Exception table:
from to target type
0 2 3 Class java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
signature final
public static org.apache.bcel.generic.Type[] getArgumentTypes(java.lang.String);
descriptor: (Ljava/lang/String;)[Lorg/apache/bcel/generic/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
istore 2
start local 2 2: iload 2
ifgt 6
3: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid method signature: "
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 org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.List int
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: iload 2
getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
invokestatic org.apache.bcel.generic.Type.unwrap:(Ljava/lang/ThreadLocal;)I
iadd
istore 2
6: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 4
7: goto 10
end local 2 StackMap locals: java.lang.String java.util.List
StackMap stack: java.lang.StringIndexOutOfBoundsException
8: astore 4
start local 4 9: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid method signature: "
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;
aload 4
invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 2 10: StackMap locals: int
StackMap stack:
aload 1
invokeinterface java.util.List.size:()I
anewarray org.apache.bcel.generic.Type
astore 3
start local 3 11: aload 1
aload 3
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 signature Ljava/lang/String;
1 13 1 vec Ljava/util/List<Lorg/apache/bcel/generic/Type;>;
2 8 2 index I
10 13 2 index I
11 13 3 types [Lorg/apache/bcel/generic/Type;
9 10 4 e Ljava/lang/StringIndexOutOfBoundsException;
Exception table:
from to target type
1 7 8 Class java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
signature final
public static org.apache.bcel.generic.Type getType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Class must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 4
3: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 26
5: aload 0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 7
6: getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 9
8: getstatic org.apache.bcel.generic.Type.VOID:Lorg/apache/bcel/generic/BasicType;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 11
10: getstatic org.apache.bcel.generic.Type.DOUBLE:Lorg/apache/bcel/generic/BasicType;
areturn
11: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 13
12: getstatic org.apache.bcel.generic.Type.FLOAT:Lorg/apache/bcel/generic/BasicType;
areturn
13: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 15
14: getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
areturn
15: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 17
16: getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
areturn
17: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 19
18: getstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
areturn
19: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 21
20: getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
areturn
21: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 23
22: getstatic org.apache.bcel.generic.Type.LONG:Lorg/apache/bcel/generic/BasicType;
areturn
23: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 25
24: getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
areturn
25: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Ooops, what primitive type is "
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 java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lorg/apache/bcel/generic/Type;
MethodParameters:
Name Flags
cl final
public static org.apache.bcel.generic.Type[] getTypes(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)[Lorg/apache/bcel/generic/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray org.apache.bcel.generic.Type
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: org.apache.bcel.generic.Type[] int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 classes [Ljava/lang/Class;
1 7 1 ret [Lorg/apache/bcel/generic/Type;
2 6 2 i I
Signature: ([Ljava/lang/Class<*>;)[Lorg/apache/bcel/generic/Type;
MethodParameters:
Name Flags
classes final
public static java.lang.String getSignature(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 2: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: java.lang.reflect.Method java.lang.StringBuilder java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 1
aload 3
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: aload 1
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 meth Ljava/lang/reflect/Method;
1 10 1 sb Ljava/lang/StringBuilder;
2 10 2 params [Ljava/lang/Class;
4 5 3 param Ljava/lang/Class<*>;
MethodParameters:
Name Flags
meth final
static int size(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_3
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 coded I
MethodParameters:
Name Flags
coded final
static int consumed(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_2
ishr
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 coded I
MethodParameters:
Name Flags
coded final
static int encode(int, int);
descriptor: (II)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
ishl
iload 0
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size I
0 1 1 consumed I
MethodParameters:
Name Flags
size final
consumed final
static int getArgumentTypesSize(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
istore 2
start local 2 2: iload 2
ifgt 7
3: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid method signature: "
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 org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
istore 3
start local 3 5: iload 1
iload 3
invokestatic org.apache.bcel.generic.Type.size:(I)I
iadd
istore 1
6: iload 2
iload 3
invokestatic org.apache.bcel.generic.Type.consumed:(I)I
iadd
istore 2
end local 3 7: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 4
8: goto 11
end local 2 StackMap locals: java.lang.String int
StackMap stack: java.lang.StringIndexOutOfBoundsException
9: astore 3
start local 3 10: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid method signature: "
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;
aload 3
invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 11: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 signature Ljava/lang/String;
1 12 1 res I
2 9 2 index I
11 12 2 index I
5 7 3 coded I
10 11 3 e Ljava/lang/StringIndexOutOfBoundsException;
Exception table:
from to target type
1 8 9 Class java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
signature final
static int getTypeSize(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokestatic org.apache.bcel.classfile.Utility.typeOfSignature:(Ljava/lang/String;)B
istore 1
start local 1 1: iload 1
bipush 12
if_icmpgt 3
2: iload 1
invokestatic org.apache.bcel.generic.BasicType.getType:(B)Lorg/apache/bcel/generic/BasicType;
invokevirtual org.apache.bcel.generic.BasicType.getSize:()I
iconst_1
invokestatic org.apache.bcel.generic.Type.encode:(II)I
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
bipush 13
if_icmpne 9
4: iconst_0
istore 2
start local 2 5: StackMap locals: int
StackMap stack:
iinc 2 1
6: aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 5
7: aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
invokestatic org.apache.bcel.generic.Type.consumed:(I)I
istore 3
start local 3 8: iconst_1
iload 2
iload 3
iadd
invokestatic org.apache.bcel.generic.Type.encode:(II)I
ireturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 10: iload 2
ifge 12
11: new org.apache.bcel.classfile.ClassFormatException
dup
new java.lang.StringBuilder
dup
ldc "Invalid signature: "
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 org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: int
StackMap stack:
iconst_1
iload 2
iconst_1
iadd
invokestatic org.apache.bcel.generic.Type.encode:(II)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 signature Ljava/lang/String;
1 13 1 type B
5 9 2 dim I
8 9 3 consumed I
10 13 2 index I
Exceptions:
throws java.lang.StringIndexOutOfBoundsException
MethodParameters:
Name Flags
signature final
static int getReturnTypeSize(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
bipush 41
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
istore 1
start local 1 1: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
invokestatic org.apache.bcel.generic.Type.size:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 signature Ljava/lang/String;
1 2 1 index I
MethodParameters:
Name Flags
signature final
void setSignature(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/bcel/generic/Type;
0 2 1 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature final
}
SourceFile: "Type.java"
NestMembers:
org.apache.bcel.generic.Type$1 org.apache.bcel.generic.Type$2 org.apache.bcel.generic.Type$3
InnerClasses:
org.apache.bcel.generic.Type$1
org.apache.bcel.generic.Type$2
org.apache.bcel.generic.Type$3