public class net.sf.cglib.transform.impl.AddStaticInitTransformer extends net.sf.cglib.transform.ClassEmitterTransformer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sf.cglib.transform.impl.AddStaticInitTransformer
super_class: net.sf.cglib.transform.ClassEmitterTransformer
{
private net.sf.cglib.core.MethodInfo info;
descriptor: Lnet/sf/cglib/core/MethodInfo;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // net.sf.cglib.transform.impl.AddStaticInitTransformer this
start local 1 // java.lang.reflect.Method classInit
0: .line 29
aload 0 /* this */
invokespecial net.sf.cglib.transform.ClassEmitterTransformer.<init>:()V
1: .line 30
aload 0 /* this */
aload 1 /* classInit */
invokestatic net.sf.cglib.core.ReflectUtils.getMethodInfo:(Ljava/lang/reflect/Member;)Lnet/sf/cglib/core/MethodInfo;
putfield net.sf.cglib.transform.impl.AddStaticInitTransformer.info:Lnet/sf/cglib/core/MethodInfo;
2: .line 31
aload 0 /* this */
getfield net.sf.cglib.transform.impl.AddStaticInitTransformer.info:Lnet/sf/cglib/core/MethodInfo;
invokevirtual net.sf.cglib.core.MethodInfo.getModifiers:()I
invokestatic net.sf.cglib.core.TypeUtils.isStatic:(I)Z
ifne 4
3: .line 32
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1 /* classInit */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not static"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 34
StackMap locals: net.sf.cglib.transform.impl.AddStaticInitTransformer java.lang.reflect.Method
StackMap stack:
aload 0 /* this */
getfield net.sf.cglib.transform.impl.AddStaticInitTransformer.info:Lnet/sf/cglib/core/MethodInfo;
invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.Signature.getArgumentTypes:()[Lorg/objectweb/asm/Type;
astore 2 /* types */
start local 2 // org.objectweb.asm.Type[] types
5: .line 35
aload 2 /* types */
arraylength
iconst_1
if_icmpne 8
6: .line 36
aload 2 /* types */
iconst_0
aaload
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
invokevirtual org.objectweb.asm.Type.equals:(Ljava/lang/Object;)Z
ifeq 8
7: .line 37
aload 0 /* this */
getfield net.sf.cglib.transform.impl.AddStaticInitTransformer.info:Lnet/sf/cglib/core/MethodInfo;
invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.Signature.getReturnType:()Lorg/objectweb/asm/Type;
getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
invokevirtual org.objectweb.asm.Type.equals:(Ljava/lang/Object;)Z
ifne 9
8: .line 38
StackMap locals: org.objectweb.asm.Type[]
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1 /* classInit */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " illegal signature"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: .line 40
StackMap locals:
StackMap stack:
return
end local 2 // org.objectweb.asm.Type[] types
end local 1 // java.lang.reflect.Method classInit
end local 0 // net.sf.cglib.transform.impl.AddStaticInitTransformer this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lnet/sf/cglib/transform/impl/AddStaticInitTransformer;
0 10 1 classInit Ljava/lang/reflect/Method;
5 10 2 types [Lorg/objectweb/asm/Type;
MethodParameters:
Name Flags
classInit
protected void init();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 // net.sf.cglib.transform.impl.AddStaticInitTransformer this
0: .line 43
aload 0 /* this */
invokevirtual net.sf.cglib.transform.impl.AddStaticInitTransformer.getAccess:()I
invokestatic net.sf.cglib.core.TypeUtils.isInterface:(I)Z
ifne 4
1: .line 44
aload 0 /* this */
invokevirtual net.sf.cglib.transform.impl.AddStaticInitTransformer.getStaticHook:()Lnet/sf/cglib/core/CodeEmitter;
astore 1 /* e */
start local 1 // net.sf.cglib.core.CodeEmitter e
2: .line 45
aload 1 /* e */
invokestatic net.sf.cglib.core.EmitUtils.load_class_this:(Lnet/sf/cglib/core/CodeEmitter;)V
3: .line 46
aload 1 /* e */
aload 0 /* this */
getfield net.sf.cglib.transform.impl.AddStaticInitTransformer.info:Lnet/sf/cglib/core/MethodInfo;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke:(Lnet/sf/cglib/core/MethodInfo;)V
end local 1 // net.sf.cglib.core.CodeEmitter e
4: .line 48
StackMap locals:
StackMap stack:
return
end local 0 // net.sf.cglib.transform.impl.AddStaticInitTransformer this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnet/sf/cglib/transform/impl/AddStaticInitTransformer;
2 4 1 e Lnet/sf/cglib/core/CodeEmitter;
}
SourceFile: "AddStaticInitTransformer.java"