public class org.apache.ibatis.reflection.invoker.MethodInvoker extends java.lang.Object implements org.apache.ibatis.reflection.invoker.Invoker
{
private final java.lang.Class type;
private final java.lang.reflect.Method method;
public void <init>(java.lang.reflect.Method)
{
int v;
java.lang.Class[] v, v;
java.lang.Class v, v;
java.lang.reflect.Method v;
org.apache.ibatis.reflection.invoker.MethodInvoker v;
v := @this: org.apache.ibatis.reflection.invoker.MethodInvoker;
v := @parameter: java.lang.reflect.Method;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.reflect.Method method> = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
if v != 1 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = v[0];
v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.Class type> = v;
goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.Class type> = v;
label:
return;
}
public java.lang.Object invoke(java.lang.Object, java.lang.Object[]) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
{
java.lang.IllegalAccessException v;
java.lang.Object[] v;
java.lang.Object v, v, v;
java.lang.reflect.Method v, v, v;
boolean v;
org.apache.ibatis.reflection.invoker.MethodInvoker v;
v := @this: org.apache.ibatis.reflection.invoker.MethodInvoker;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object[];
label:
v = v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.reflect.Method method>;
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 = staticinvoke <org.apache.ibatis.reflection.Reflector: boolean canControlMemberAccessible()>();
if v == 0 goto label;
v = v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.reflect.Method method>;
virtualinvoke v.<java.lang.reflect.Method: void setAccessible(boolean)>(1);
v = v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.reflect.Method method>;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
return v;
label:
throw v;
catch java.lang.IllegalAccessException from label to label with label;
}
public java.lang.Class getType()
{
java.lang.Class v;
org.apache.ibatis.reflection.invoker.MethodInvoker v;
v := @this: org.apache.ibatis.reflection.invoker.MethodInvoker;
v = v.<org.apache.ibatis.reflection.invoker.MethodInvoker: java.lang.Class type>;
return v;
}
}