abstract class com.novell.ldapchai.provider.AbstractWrapper extends java.lang.Object implements java.lang.reflect.InvocationHandler
{
private static final com.novell.ldapchai.util.internal.ChaiLogger LOGGER;
protected com.novell.ldapchai.provider.ChaiProviderImplementor realProvider;
void <init>()
{
com.novell.ldapchai.provider.AbstractWrapper v;
v := @this: com.novell.ldapchai.provider.AbstractWrapper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
protected static com.novell.ldapchai.provider.ChaiProviderImplementor factoryImpl(java.lang.Class, com.novell.ldapchai.provider.ChaiSetting, com.novell.ldapchai.provider.ChaiProviderImplementor) throws java.lang.Exception
{
java.lang.IllegalStateException v;
boolean v, v, v;
java.lang.Exception v, v;
java.lang.ClassLoader v;
com.novell.ldapchai.util.internal.ChaiLogger v, v, v;
java.lang.Object[] v;
com.novell.ldapchai.provider.ChaiProviderImplementor v;
java.lang.reflect.Constructor v;
java.util.function.Supplier v, v, v;
java.lang.String v, v, v, v, v, v;
com.novell.ldapchai.provider.ChaiConfiguration v;
java.lang.Class[] v, v;
com.novell.ldapchai.provider.ChaiSetting v;
java.lang.Class v, v, v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Class;
v := @parameter: com.novell.ldapchai.provider.ChaiSetting;
v := @parameter: com.novell.ldapchai.provider.ChaiProviderImplementor;
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProviderImplementor: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: java.lang.String getSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("attempt to obtain \u wrapper when not enabled in chaiConfiguration");
v = <com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractWrapper$lambda_factoryImpl_0__104: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier)>(v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <java.lang.reflect.Proxy: boolean isProxyClass(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
v = <com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractWrapper$lambda_factoryImpl_1__103: java.util.function.Supplier bootstrap$(java.lang.Class)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier)>(v);
return v;
label:
v = newarray (java.lang.Class)[1];
v[0] = class "Lcom/novell/ldapchai/provider/ChaiProviderImplementor;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = staticinvoke <java.lang.reflect.Proxy: java.lang.Object newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Chai internal error, unable to create wrapper for \u0001\u0001");
v = <com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractWrapper$lambda_factoryImpl_2__105: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier,java.lang.Exception)>(v, v);
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
static java.lang.Object invoker(com.novell.ldapchai.provider.ChaiProvider, java.lang.reflect.Method, java.lang.Object[]) throws java.lang.Exception
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v;
java.lang.Object[] v;
java.util.function.Supplier v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v;
java.lang.IllegalAccessException v;
com.novell.ldapchai.provider.ChaiProvider v;
java.lang.reflect.InvocationTargetException v;
java.lang.Object v;
com.novell.ldapchai.util.internal.ChaiLogger v, v;
v := @parameter: com.novell.ldapchai.provider.ChaiProvider;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Object[];
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.IllegalAccessException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("unexpected api error: \u0001");
v = <com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractWrapper$lambda_invoker_3__107: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier,java.lang.Exception)>(v, v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.Throwable getCause()>();
v = v instanceof java.lang.Exception;
if v == 0 goto label;
throw v;
label:
v = virtualinvoke v.<java.lang.reflect.InvocationTargetException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("unexpected api error: \u0001");
v = <com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractWrapper$lambda_invoker_4__106: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier,java.lang.Exception)>(v, v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
static void <clinit>()
{
com.novell.ldapchai.util.internal.ChaiLogger v;
v = staticinvoke <com.novell.ldapchai.util.internal.ChaiLogger: com.novell.ldapchai.util.internal.ChaiLogger getLogger(java.lang.Class)>(class "Lcom/novell/ldapchai/provider/AbstractWrapper;");
<com.novell.ldapchai.provider.AbstractWrapper: com.novell.ldapchai.util.internal.ChaiLogger LOGGER> = v;
return;
}
}