public class org.apache.dubbo.rpc.model.ConsumerMethodModel extends java.lang.Object
{
private final java.lang.reflect.Method method;
private final java.lang.String[] parameterTypes;
private final java.lang.Class[] parameterClasses;
private final java.lang.Class returnClass;
private final java.lang.String methodName;
private final boolean generic;
private final java.util.concurrent.ConcurrentMap attributeMap;
public void <init>(java.lang.reflect.Method)
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
java.util.concurrent.ConcurrentHashMap v;
java.lang.Class[] v, v;
java.lang.String[] v, v, v;
int v;
java.lang.Class v;
java.lang.String v, v;
java.lang.reflect.Method v;
boolean v, v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v := @parameter: java.lang.reflect.Method;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.util.concurrent.ConcurrentMap attributeMap> = v;
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.reflect.Method method> = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.Class[] parameterClasses> = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.Class returnClass> = v;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.Class[] parameterClasses>;
v = specialinvoke v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String[] createParamSignature(java.lang.Class[])>(v);
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String[] parameterTypes> = v;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String methodName> = v;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String methodName>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("$invoke");
if v == 0 goto label;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String[] parameterTypes>;
if v == null goto label;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String[] parameterTypes>;
v = lengthof v;
if v != 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: boolean generic> = v;
return;
}
public java.lang.reflect.Method getMethod()
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
java.lang.reflect.Method v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.reflect.Method method>;
return v;
}
public void addAttribute(java.lang.String, java.lang.Object)
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
java.lang.Object v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.util.concurrent.ConcurrentMap attributeMap>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public java.lang.Object getAttribute(java.lang.String)
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
java.lang.Object v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v := @parameter: java.lang.String;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.util.concurrent.ConcurrentMap attributeMap>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public java.lang.Class getReturnClass()
{
java.lang.Class v;
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.Class returnClass>;
return v;
}
public java.lang.String getMethodName()
{
java.lang.String v;
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String methodName>;
return v;
}
public java.lang.String[] getParameterTypes()
{
java.lang.String[] v;
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.String[] parameterTypes>;
return v;
}
private java.lang.String[] createParamSignature(java.lang.Class[])
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
java.lang.Class[] v;
java.lang.String[] v, v;
int v, v, v, v;
java.lang.Class v;
java.lang.String v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v := @parameter: java.lang.Class[];
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
v = newarray (java.lang.String)[0];
return v;
label:
v = lengthof v;
v = newarray (java.lang.String)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public boolean isGeneric()
{
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
boolean v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: boolean generic>;
return v;
}
public java.lang.Class[] getParameterClasses()
{
java.lang.Class[] v;
org.apache.dubbo.rpc.model.ConsumerMethodModel v;
v := @this: org.apache.dubbo.rpc.model.ConsumerMethodModel;
v = v.<org.apache.dubbo.rpc.model.ConsumerMethodModel: java.lang.Class[] parameterClasses>;
return v;
}
}