public class org.springframework.objenesis.strategy.StdInstantiatorStrategy extends org.springframework.objenesis.strategy.BaseInstantiatorStrategy
{
public void <init>()
{
org.springframework.objenesis.strategy.StdInstantiatorStrategy v;
v := @this: org.springframework.objenesis.strategy.StdInstantiatorStrategy;
specialinvoke v.<org.springframework.objenesis.strategy.BaseInstantiatorStrategy: void <init>()>();
return;
}
public org.springframework.objenesis.instantiator.ObjectInstantiator newInstantiatorOf(java.lang.Class)
{
int v, v;
java.lang.String v;
boolean v, v, v, v, v, v, v, v, v, v;
org.springframework.objenesis.instantiator.sun.SunReflectionFactoryInstantiator v, v;
org.springframework.objenesis.instantiator.android.Android17Instantiator v;
org.springframework.objenesis.instantiator.basic.ObjectInputStreamInstantiator v;
org.springframework.objenesis.instantiator.android.Android18Instantiator v;
org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator v, v;
org.springframework.objenesis.instantiator.android.Android10Instantiator v;
org.springframework.objenesis.instantiator.gcj.GCJInstantiator v;
org.springframework.objenesis.strategy.StdInstantiatorStrategy v;
java.lang.Class v, v;
org.springframework.objenesis.instantiator.perc.PercInstantiator v;
org.springframework.objenesis.instantiator.basic.AccessibleInstantiator v;
v := @this: org.springframework.objenesis.strategy.StdInstantiatorStrategy;
v := @parameter: java.lang.Class;
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("Java HotSpot");
if v != 0 goto label;
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("OpenJDK");
if v == 0 goto label;
label:
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isGoogleAppEngine()>();
if v == 0 goto label;
v = <org.springframework.objenesis.strategy.PlatformDescription: java.lang.String SPECIFICATION_VERSION>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1.7");
if v == 0 goto label;
v = class "Ljava/io/Serializable;";
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = new org.springframework.objenesis.instantiator.basic.ObjectInputStreamInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.basic.ObjectInputStreamInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = new org.springframework.objenesis.instantiator.basic.AccessibleInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.basic.AccessibleInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = new org.springframework.objenesis.instantiator.sun.SunReflectionFactoryInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.sun.SunReflectionFactoryInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("Dalvik");
if v == 0 goto label;
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isAndroidOpenJDK()>();
if v == 0 goto label;
v = new org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = <org.springframework.objenesis.strategy.PlatformDescription: int ANDROID_VERSION>;
if v > 10 goto label;
v = new org.springframework.objenesis.instantiator.android.Android10Instantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.android.Android10Instantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = <org.springframework.objenesis.strategy.PlatformDescription: int ANDROID_VERSION>;
if v > 17 goto label;
v = new org.springframework.objenesis.instantiator.android.Android17Instantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.android.Android17Instantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = new org.springframework.objenesis.instantiator.android.Android18Instantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.android.Android18Instantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("BEA");
if v == 0 goto label;
v = new org.springframework.objenesis.instantiator.sun.SunReflectionFactoryInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.sun.SunReflectionFactoryInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("GNU libgcj");
if v == 0 goto label;
v = new org.springframework.objenesis.instantiator.gcj.GCJInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.gcj.GCJInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = staticinvoke <org.springframework.objenesis.strategy.PlatformDescription: boolean isThisJVM(java.lang.String)>("PERC");
if v == 0 goto label;
v = new org.springframework.objenesis.instantiator.perc.PercInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.perc.PercInstantiator: void <init>(java.lang.Class)>(v);
return v;
label:
v = new org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator;
specialinvoke v.<org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator: void <init>(java.lang.Class)>(v);
return v;
}
}