public abstract class net.sf.cglib.proxy.Mixin extends java.lang.Object
{
private static final net.sf.cglib.proxy.Mixin$MixinKey KEY_FACTORY;
private static final java.util.Map ROUTE_CACHE;
public static final int STYLE_INTERFACES;
public static final int STYLE_BEANS;
public static final int STYLE_EVERYTHING;
public void <init>()
{
net.sf.cglib.proxy.Mixin v;
v := @this: net.sf.cglib.proxy.Mixin;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public abstract net.sf.cglib.proxy.Mixin newInstance(java.lang.Object[]);
public static net.sf.cglib.proxy.Mixin create(java.lang.Object[])
{
java.lang.Object[] v;
net.sf.cglib.proxy.Mixin v;
net.sf.cglib.proxy.Mixin$Generator v;
v := @parameter: java.lang.Object[];
v = new net.sf.cglib.proxy.Mixin$Generator;
specialinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void <init>()>();
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setDelegates(java.lang.Object[])>(v);
v = virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: net.sf.cglib.proxy.Mixin create()>();
return v;
}
public static net.sf.cglib.proxy.Mixin create(java.lang.Class[], java.lang.Object[])
{
java.lang.Object[] v;
net.sf.cglib.proxy.Mixin$Generator v;
java.lang.Class[] v;
net.sf.cglib.proxy.Mixin v;
v := @parameter: java.lang.Class[];
v := @parameter: java.lang.Object[];
v = new net.sf.cglib.proxy.Mixin$Generator;
specialinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void <init>()>();
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setClasses(java.lang.Class[])>(v);
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setDelegates(java.lang.Object[])>(v);
v = virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: net.sf.cglib.proxy.Mixin create()>();
return v;
}
public static net.sf.cglib.proxy.Mixin createBean(java.lang.Object[])
{
java.lang.Object[] v;
net.sf.cglib.proxy.Mixin v;
v := @parameter: java.lang.Object[];
v = staticinvoke <net.sf.cglib.proxy.Mixin: net.sf.cglib.proxy.Mixin createBean(java.lang.ClassLoader,java.lang.Object[])>(null, v);
return v;
}
public static net.sf.cglib.proxy.Mixin createBean(java.lang.ClassLoader, java.lang.Object[])
{
java.lang.Object[] v;
net.sf.cglib.proxy.Mixin$Generator v;
java.lang.ClassLoader v;
net.sf.cglib.proxy.Mixin v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.Object[];
v = new net.sf.cglib.proxy.Mixin$Generator;
specialinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void <init>()>();
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setStyle(int)>(1);
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setDelegates(java.lang.Object[])>(v);
virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: void setClassLoader(java.lang.ClassLoader)>(v);
v = virtualinvoke v.<net.sf.cglib.proxy.Mixin$Generator: net.sf.cglib.proxy.Mixin create()>();
return v;
}
public static java.lang.Class[] getClasses(java.lang.Object[])
{
java.lang.Object[] v;
java.lang.Class[] v;
java.lang.Object v;
net.sf.cglib.proxy.Mixin$Route v;
v := @parameter: java.lang.Object[];
v = staticinvoke <net.sf.cglib.proxy.Mixin: net.sf.cglib.proxy.Mixin$Route route(java.lang.Object[])>(v);
v = v.<net.sf.cglib.proxy.Mixin$Route: java.lang.Class[] classes>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
private static net.sf.cglib.proxy.Mixin$Route route(java.lang.Object[])
{
java.lang.Object[] v;
java.util.Map v, v;
java.lang.Object v, v;
net.sf.cglib.proxy.Mixin$Route v;
v := @parameter: java.lang.Object[];
v = staticinvoke <net.sf.cglib.core.ClassesKey: java.lang.Object create(java.lang.Object[])>(v);
v = <net.sf.cglib.proxy.Mixin: java.util.Map ROUTE_CACHE>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = <net.sf.cglib.proxy.Mixin: java.util.Map ROUTE_CACHE>;
v = new net.sf.cglib.proxy.Mixin$Route;
specialinvoke v.<net.sf.cglib.proxy.Mixin$Route: void <init>(java.lang.Object[])>(v);
v = v;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
static void <clinit>()
{
java.util.Map v;
net.sf.cglib.core.KeyFactory v;
java.util.HashMap v;
net.sf.cglib.core.Customizer v;
v = <net.sf.cglib.core.KeyFactory: net.sf.cglib.core.Customizer CLASS_BY_NAME>;
v = staticinvoke <net.sf.cglib.core.KeyFactory: net.sf.cglib.core.KeyFactory create(java.lang.Class,net.sf.cglib.core.Customizer)>(class "Lnet/sf/cglib/proxy/Mixin$MixinKey;", v);
<net.sf.cglib.proxy.Mixin: net.sf.cglib.proxy.Mixin$MixinKey KEY_FACTORY> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Map synchronizedMap(java.util.Map)>(v);
<net.sf.cglib.proxy.Mixin: java.util.Map ROUTE_CACHE> = v;
return;
}
}