public class org.springframework.objenesis.SpringObjenesis extends java.lang.Object implements org.springframework.objenesis.Objenesis
{
public static final java.lang.String IGNORE_OBJENESIS_PROPERTY_NAME;
private final org.springframework.objenesis.strategy.InstantiatorStrategy strategy;
private final org.springframework.util.ConcurrentReferenceHashMap cache;
private volatile java.lang.Boolean worthTrying;
public void <init>()
{
org.springframework.objenesis.SpringObjenesis v;
v := @this: org.springframework.objenesis.SpringObjenesis;
specialinvoke v.<org.springframework.objenesis.SpringObjenesis: void <init>(org.springframework.objenesis.strategy.InstantiatorStrategy)>(null);
return;
}
public void <init>(org.springframework.objenesis.strategy.InstantiatorStrategy)
{
org.springframework.util.ConcurrentReferenceHashMap v;
java.lang.Boolean v;
org.springframework.objenesis.strategy.StdInstantiatorStrategy v;
org.springframework.objenesis.strategy.InstantiatorStrategy v, v;
org.springframework.objenesis.SpringObjenesis v;
boolean v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v := @parameter: org.springframework.objenesis.strategy.InstantiatorStrategy;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.springframework.util.ConcurrentReferenceHashMap;
specialinvoke v.<org.springframework.util.ConcurrentReferenceHashMap: void <init>()>();
v.<org.springframework.objenesis.SpringObjenesis: org.springframework.util.ConcurrentReferenceHashMap cache> = v;
if v == null goto label;
v = v;
goto label;
label:
v = new org.springframework.objenesis.strategy.StdInstantiatorStrategy;
v = v;
specialinvoke v.<org.springframework.objenesis.strategy.StdInstantiatorStrategy: void <init>()>();
label:
v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.strategy.InstantiatorStrategy strategy> = v;
v = staticinvoke <org.springframework.core.SpringProperties: boolean getFlag(java.lang.String)>("spring.objenesis.ignore");
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying> = v;
label:
return;
}
public boolean isWorthTrying()
{
java.lang.Boolean v, v;
org.springframework.objenesis.SpringObjenesis v;
boolean v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v = v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying>;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object newInstance(java.lang.Class, boolean)
{
java.lang.Class v;
java.lang.Object v, v;
org.springframework.objenesis.instantiator.ObjectInstantiator v, v;
org.springframework.objenesis.SpringObjenesis v;
boolean v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v := @parameter: java.lang.Class;
v := @parameter: boolean;
if v != 0 goto label;
v = virtualinvoke v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.instantiator.ObjectInstantiator newInstantiatorOf(java.lang.Class)>(v);
v = interfaceinvoke v.<org.springframework.objenesis.instantiator.ObjectInstantiator: java.lang.Object newInstance()>();
return v;
label:
v = virtualinvoke v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.instantiator.ObjectInstantiator getInstantiatorOf(java.lang.Class)>(v);
v = interfaceinvoke v.<org.springframework.objenesis.instantiator.ObjectInstantiator: java.lang.Object newInstance()>();
return v;
}
public java.lang.Object newInstance(java.lang.Class)
{
java.lang.Class v;
java.lang.Object v;
org.springframework.objenesis.instantiator.ObjectInstantiator v;
org.springframework.objenesis.SpringObjenesis v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.instantiator.ObjectInstantiator getInstantiatorOf(java.lang.Class)>(v);
v = interfaceinvoke v.<org.springframework.objenesis.instantiator.ObjectInstantiator: java.lang.Object newInstance()>();
return v;
}
public org.springframework.objenesis.instantiator.ObjectInstantiator getInstantiatorOf(java.lang.Class)
{
org.springframework.util.ConcurrentReferenceHashMap v, v;
java.lang.Class v;
java.lang.Object v;
org.springframework.objenesis.instantiator.ObjectInstantiator v;
org.springframework.objenesis.SpringObjenesis v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v := @parameter: java.lang.Class;
v = v.<org.springframework.objenesis.SpringObjenesis: org.springframework.util.ConcurrentReferenceHashMap cache>;
v = virtualinvoke v.<org.springframework.util.ConcurrentReferenceHashMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.instantiator.ObjectInstantiator newInstantiatorOf(java.lang.Class)>(v);
v = v.<org.springframework.objenesis.SpringObjenesis: org.springframework.util.ConcurrentReferenceHashMap cache>;
virtualinvoke v.<org.springframework.util.ConcurrentReferenceHashMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
v = v;
label:
return v;
}
protected org.springframework.objenesis.instantiator.ObjectInstantiator newInstantiatorOf(java.lang.Class)
{
java.lang.Throwable v;
org.springframework.objenesis.ObjenesisException v, v;
java.lang.Boolean v, v, v, v;
java.lang.Class v;
org.springframework.objenesis.instantiator.ObjectInstantiator v;
java.lang.NoClassDefFoundError v;
org.springframework.objenesis.strategy.InstantiatorStrategy v;
org.springframework.objenesis.SpringObjenesis v;
boolean v, v;
v := @this: org.springframework.objenesis.SpringObjenesis;
v := @parameter: java.lang.Class;
v = v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying>;
label:
v = v.<org.springframework.objenesis.SpringObjenesis: org.springframework.objenesis.strategy.InstantiatorStrategy strategy>;
v = interfaceinvoke v.<org.springframework.objenesis.strategy.InstantiatorStrategy: org.springframework.objenesis.instantiator.ObjectInstantiator newInstantiatorOf(java.lang.Class)>(v);
if v != null goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying> = v;
label:
return v;
label:
v := @caughtexception;
if v != null goto label;
v = virtualinvoke v.<org.springframework.objenesis.ObjenesisException: java.lang.Throwable getCause()>();
v = v instanceof java.lang.ClassNotFoundException;
if v != 0 goto label;
v = v instanceof java.lang.IllegalAccessException;
if v == 0 goto label;
label:
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying> = v;
label:
throw v;
label:
v := @caughtexception;
if v != null goto label;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v.<org.springframework.objenesis.SpringObjenesis: java.lang.Boolean worthTrying> = v;
label:
v = new org.springframework.objenesis.ObjenesisException;
specialinvoke v.<org.springframework.objenesis.ObjenesisException: void <init>(java.lang.Throwable)>(v);
throw v;
catch org.springframework.objenesis.ObjenesisException from label to label with label;
catch java.lang.NoClassDefFoundError from label to label with label;
}
}