public abstract class net.sf.cglib.reflect.FastClass
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: net.sf.cglib.reflect.FastClass
super_class: java.lang.Object
{
private java.lang.Class type;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.lang.Error
dup
ldc "Using the FastClass empty constructor--please report to the cglib-devel mailing list"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/reflect/FastClass;
protected void <init>(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/sf/cglib/reflect/FastClass;
0 3 1 type Ljava/lang/Class;
MethodParameters:
Name Flags
type
public static net.sf.cglib.reflect.FastClass create(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lnet/sf/cglib/reflect/FastClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
invokestatic net.sf.cglib.reflect.FastClass.create:(Ljava/lang/ClassLoader;Ljava/lang/Class;)Lnet/sf/cglib/reflect/FastClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/Class;
MethodParameters:
Name Flags
type
public static net.sf.cglib.reflect.FastClass create(java.lang.ClassLoader, java.lang.Class);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)Lnet/sf/cglib/reflect/FastClass;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new net.sf.cglib.reflect.FastClass$Generator
dup
invokespecial net.sf.cglib.reflect.FastClass$Generator.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokevirtual net.sf.cglib.reflect.FastClass$Generator.setType:(Ljava/lang/Class;)V
2: aload 2
aload 0
invokevirtual net.sf.cglib.reflect.FastClass$Generator.setClassLoader:(Ljava/lang/ClassLoader;)V
3: aload 2
invokevirtual net.sf.cglib.reflect.FastClass$Generator.create:()Lnet/sf/cglib/reflect/FastClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 loader Ljava/lang/ClassLoader;
0 4 1 type Ljava/lang/Class;
1 4 2 gen Lnet/sf/cglib/reflect/FastClass$Generator;
MethodParameters:
Name Flags
loader
type
public java.lang.Object invoke(java.lang.String, java.lang.Class[], java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
aload 1
aload 2
invokevirtual net.sf.cglib.reflect.FastClass.getIndex:(Ljava/lang/String;[Ljava/lang/Class;)I
aload 3
aload 4
invokevirtual net.sf.cglib.reflect.FastClass.invoke:(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
0 1 1 name Ljava/lang/String;
0 1 2 parameterTypes [Ljava/lang/Class;
0 1 3 obj Ljava/lang/Object;
0 1 4 args [Ljava/lang/Object;
Exceptions:
throws java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
name
parameterTypes
obj
args
public java.lang.Object newInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getstatic net.sf.cglib.core.Constants.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
invokevirtual net.sf.cglib.reflect.FastClass.getIndex:([Ljava/lang/Class;)I
aconst_null
invokevirtual net.sf.cglib.reflect.FastClass.newInstance:(I[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
Exceptions:
throws java.lang.reflect.InvocationTargetException
public java.lang.Object newInstance(java.lang.Class[], java.lang.Object[]);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
aload 1
invokevirtual net.sf.cglib.reflect.FastClass.getIndex:([Ljava/lang/Class;)I
aload 2
invokevirtual net.sf.cglib.reflect.FastClass.newInstance:(I[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
0 1 1 parameterTypes [Ljava/lang/Class;
0 1 2 args [Ljava/lang/Object;
Exceptions:
throws java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
parameterTypes
args
public net.sf.cglib.reflect.FastMethod getMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Lnet/sf/cglib/reflect/FastMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new net.sf.cglib.reflect.FastMethod
dup
aload 0
aload 1
invokespecial net.sf.cglib.reflect.FastMethod.<init>:(Lnet/sf/cglib/reflect/FastClass;Ljava/lang/reflect/Method;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
0 1 1 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
public net.sf.cglib.reflect.FastConstructor getConstructor(java.lang.reflect.Constructor);
descriptor: (Ljava/lang/reflect/Constructor;)Lnet/sf/cglib/reflect/FastConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new net.sf.cglib.reflect.FastConstructor
dup
aload 0
aload 1
invokespecial net.sf.cglib.reflect.FastConstructor.<init>:(Lnet/sf/cglib/reflect/FastClass;Ljava/lang/reflect/Constructor;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
0 1 1 constructor Ljava/lang/reflect/Constructor;
MethodParameters:
Name Flags
constructor
public net.sf.cglib.reflect.FastMethod getMethod(java.lang.String, java.lang.Class[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Lnet/sf/cglib/reflect/FastMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
aload 1
aload 2
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
invokevirtual net.sf.cglib.reflect.FastClass.getMethod:(Ljava/lang/reflect/Method;)Lnet/sf/cglib/reflect/FastMethod;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 3
start local 3 3: new java.lang.NoSuchMethodError
dup
aload 3
invokevirtual java.lang.NoSuchMethodException.getMessage:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lnet/sf/cglib/reflect/FastClass;
0 4 1 name Ljava/lang/String;
0 4 2 parameterTypes [Ljava/lang/Class;
3 4 3 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
name
parameterTypes
public net.sf.cglib.reflect.FastConstructor getConstructor(java.lang.Class[]);
descriptor: ([Ljava/lang/Class;)Lnet/sf/cglib/reflect/FastConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
invokevirtual net.sf.cglib.reflect.FastClass.getConstructor:(Ljava/lang/reflect/Constructor;)Lnet/sf/cglib/reflect/FastConstructor;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 2
start local 2 3: new java.lang.NoSuchMethodError
dup
aload 2
invokevirtual java.lang.NoSuchMethodException.getMessage:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lnet/sf/cglib/reflect/FastClass;
0 4 1 parameterTypes [Ljava/lang/Class;
3 4 2 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
parameterTypes
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
public java.lang.Class getJavaClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/reflect/FastClass;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
instanceof net.sf.cglib.reflect.FastClass
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
aload 1
checkcast net.sf.cglib.reflect.FastClass
getfield net.sf.cglib.reflect.FastClass.type:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/sf/cglib/reflect/FastClass;
0 3 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public abstract int getIndex(java.lang.String, java.lang.Class[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
name
parameterTypes
public abstract int getIndex(java.lang.Class[]);
descriptor: ([Ljava/lang/Class;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
parameterTypes
public abstract java.lang.Object invoke(int, java.lang.Object, java.lang.Object[]);
descriptor: (ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
index
obj
args
public abstract java.lang.Object newInstance(int, java.lang.Object[]);
descriptor: (I[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
index
args
public abstract int getIndex(net.sf.cglib.core.Signature);
descriptor: (Lnet/sf/cglib/core/Signature;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
sig
public abstract int getMaxIndex();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
protected static java.lang.String getSignatureWithoutReturnType(java.lang.String, java.lang.Class[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 2
bipush 40
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 2
aload 1
iload 3
aaload
invokestatic org.objectweb.asm.Type.getDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 5
end local 3 8: aload 2
bipush 41
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
9: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 name Ljava/lang/String;
0 10 1 parameterTypes [Ljava/lang/Class;
1 10 2 sb Ljava/lang/StringBuffer;
4 8 3 i I
MethodParameters:
Name Flags
name
parameterTypes
}
SourceFile: "FastClass.java"
NestMembers:
net.sf.cglib.reflect.FastClass$Generator
InnerClasses:
public Generator = net.sf.cglib.reflect.FastClass$Generator of net.sf.cglib.reflect.FastClass