public final class org.apache.dubbo.common.utils.ReflectUtils extends java.lang.Object
{
public static final char JVM_VOID;
public static final char JVM_BOOLEAN;
public static final char JVM_BYTE;
public static final char JVM_CHAR;
public static final char JVM_DOUBLE;
public static final char JVM_FLOAT;
public static final char JVM_INT;
public static final char JVM_LONG;
public static final char JVM_SHORT;
public static final java.lang.Class[] EMPTY_CLASS_ARRAY;
public static final java.lang.String JAVA_IDENT_REGEX;
public static final java.lang.String JAVA_NAME_REGEX;
public static final java.lang.String CLASS_DESC;
public static final java.lang.String ARRAY_DESC;
public static final java.lang.String DESC_REGEX;
public static final java.util.regex.Pattern DESC_PATTERN;
public static final java.lang.String METHOD_DESC_REGEX;
public static final java.util.regex.Pattern METHOD_DESC_PATTERN;
public static final java.util.regex.Pattern GETTER_METHOD_DESC_PATTERN;
public static final java.util.regex.Pattern SETTER_METHOD_DESC_PATTERN;
public static final java.util.regex.Pattern IS_HAS_CAN_METHOD_DESC_PATTERN;
private static final java.util.concurrent.ConcurrentMap DESC_CLASS_CACHE;
private static final java.util.concurrent.ConcurrentMap NAME_CLASS_CACHE;
private static final java.util.concurrent.ConcurrentMap SIGNATURE_METHODS_CACHE;
private static java.util.Map primitiveDefaults;
private void <init>()
{
org.apache.dubbo.common.utils.ReflectUtils v;
v := @this: org.apache.dubbo.common.utils.ReflectUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isPrimitives(java.lang.Class)
{
java.lang.Class v;
boolean v, v;
v := @parameter: java.lang.Class;
label:
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
goto label;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: boolean isPrimitive(java.lang.Class)>(v);
return v;
}
public static boolean isPrimitive(java.lang.Class)
{
java.lang.Class v, v, v;
boolean v, v, v, v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != 0 goto label;
if v == class "Ljava/lang/String;" goto label;
if v == class "Ljava/lang/Boolean;" goto label;
if v == class "Ljava/lang/Character;" goto label;
v = class "Ljava/lang/Number;";
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v != 0 goto label;
v = class "Ljava/util/Date;";
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.Class getBoxedClass(java.lang.Class)
{
java.lang.Class v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.Class;
v = <java.lang.Integer: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Integer;";
goto label;
label:
v = <java.lang.Boolean: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Boolean;";
goto label;
label:
v = <java.lang.Long: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Long;";
goto label;
label:
v = <java.lang.Float: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Float;";
goto label;
label:
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Double;";
goto label;
label:
v = <java.lang.Character: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Character;";
goto label;
label:
v = <java.lang.Byte: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Byte;";
goto label;
label:
v = <java.lang.Short: java.lang.Class TYPE>;
if v != v goto label;
v = class "Ljava/lang/Short;";
label:
return v;
}
public static boolean isCompatible(java.lang.Class, java.lang.Object)
{
java.lang.Class v, v;
java.lang.Object v;
boolean v, v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v != null goto label;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class getBoxedClass(java.lang.Class)>(v);
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == v goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isCompatible(java.lang.Class[], java.lang.Object[])
{
java.lang.Object[] v;
java.lang.Class[] v;
int v, v, v;
java.lang.Class v;
java.lang.Object v;
boolean v;
v := @parameter: java.lang.Class[];
v := @parameter: java.lang.Object[];
v = lengthof v;
v = lengthof v;
if v == v goto label;
return 0;
label:
if v != 0 goto label;
return 1;
label:
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: boolean isCompatible(java.lang.Class,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static java.lang.String getCodeBase(java.lang.Class)
{
java.net.URL v;
java.security.ProtectionDomain v;
java.lang.Class v;
java.lang.String v;
java.security.CodeSource v;
v := @parameter: java.lang.Class;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.Class: java.security.ProtectionDomain getProtectionDomain()>();
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.security.ProtectionDomain: java.security.CodeSource getCodeSource()>();
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.security.CodeSource: java.net.URL getLocation()>();
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.net.URL: java.lang.String getFile()>();
return v;
}
public static java.lang.String getName(java.lang.Class)
{
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v;
boolean v, v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[]");
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
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[])>("\u0001\u0001");
return v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
return v;
}
public static java.lang.Class getGenericClass(java.lang.Class)
{
java.lang.Class v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class getGenericClass(java.lang.Class,int)>(v, 0);
return v;
}
public static java.lang.Class getGenericClass(java.lang.Class, int)
{
java.lang.Throwable v;
int v;
java.lang.String v, v;
boolean v, v, v;
java.lang.IllegalArgumentException v;
java.lang.reflect.Type v, v, v, v;
java.lang.reflect.Type[] v, v;
java.lang.Class v, v;
v := @parameter: java.lang.Class;
v := @parameter: int;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Type[] getGenericInterfaces()>();
v = v[0];
v = interfaceinvoke v.<java.lang.reflect.ParameterizedType: java.lang.reflect.Type[] getActualTypeArguments()>();
v = v[v];
v = v instanceof java.lang.reflect.ParameterizedType;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.reflect.ParameterizedType: java.lang.reflect.Type getRawType()>();
label:
return v;
label:
v = v instanceof java.lang.reflect.GenericArrayType;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.reflect.GenericArrayType: java.lang.reflect.Type getGenericComponentType()>();
label:
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
label:
return v;
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
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[])>("\u generic type undefined!");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.String getName(java.lang.reflect.Method)
{
java.lang.Class[] v;
int v, v;
java.lang.Class v, v;
java.lang.StringBuilder v, v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getName(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(40);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(44);
label:
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getName(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getSignature(java.lang.String, java.lang.Class[])
{
java.lang.Class[] v;
int v, v, v;
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("(");
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = 1;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(")");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getName(java.lang.reflect.Constructor)
{
java.lang.Class[] v;
java.lang.reflect.Constructor v;
int v, v;
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v;
v := @parameter: java.lang.reflect.Constructor;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("(");
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(44);
label:
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getName(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDesc(java.lang.Class)
{
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.lang.Class v;
java.lang.StringBuilder v;
v := @parameter: java.lang.Class;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
label:
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(91);
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = "void";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
goto label;
label:
v = "boolean";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(90);
goto label;
label:
v = "byte";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(66);
goto label;
label:
v = "char";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(67);
goto label;
label:
v = "double";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(68);
goto label;
label:
v = "float";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
v = "int";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(73);
goto label;
label:
v = "long";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
goto label;
label:
v = "short";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(76);
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDesc(java.lang.Class[])
{
java.lang.Class[] v;
int v, v, v;
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v;
v := @parameter: java.lang.Class[];
v = lengthof v;
if v != 0 goto label;
return "";
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(64);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDesc(java.lang.reflect.Method)
{
java.lang.Class[] v;
int v, v;
java.lang.Class v, v;
java.lang.StringBuilder v, v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String ()>() <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[])>("()");
return v;
}
public static java.lang.String[] getDescArray(java.lang.reflect.Method)
{
java.lang.Class[] v;
java.lang.String[] v;
int v, v, v;
java.lang.Class v;
java.lang.String v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
v = newarray (java.lang.String)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public static java.lang.String getDesc(java.lang.reflect.Constructor)
{
java.lang.Class[] v;
java.lang.reflect.Constructor v;
int v, v;
java.lang.Class v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
v := @parameter: java.lang.reflect.Constructor;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("(");
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDescWithoutMethodName(java.lang.reflect.Method)
{
java.lang.Class[] v;
int v, v;
java.lang.Class v, v;
java.lang.StringBuilder v, v;
java.lang.String v, v, v;
java.lang.reflect.Method v;
v := @parameter: java.lang.reflect.Method;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(40);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(java.lang.Class)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDesc(javassist.CtClass) throws javassist.NotFoundException
{
javassist.CtClass v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v;
v := @parameter: javassist.CtClass;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<javassist.CtClass: boolean isArray()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(91);
v = virtualinvoke v.<javassist.CtClass: javassist.CtClass getComponentType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<javassist.CtClass: boolean isPrimitive()>();
if v == 0 goto label;
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
v = "void";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
goto label;
label:
v = "boolean";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(90);
goto label;
label:
v = "byte";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(66);
goto label;
label:
v = "char";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(67);
goto label;
label:
v = "double";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(68);
goto label;
label:
v = "float";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
v = "int";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(73);
goto label;
label:
v = "long";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
goto label;
label:
v = "short";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(76);
v = virtualinvoke v.<javassist.CtClass: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDesc(javassist.CtMethod) throws javassist.NotFoundException
{
javassist.CtMethod v;
javassist.CtClass v, v;
int v, v;
java.lang.StringBuilder v, v, v;
javassist.CtClass[] v;
java.lang.String v, v, v, v;
v := @parameter: javassist.CtMethod;
v = virtualinvoke v.<javassist.CtMethod: java.lang.String getName()>();
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<javassist.CtMethod: javassist.CtClass[] getParameterTypes()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<javassist.CtMethod: javassist.CtClass getReturnType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String ()>() <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[])>("()");
return v;
}
public static java.lang.String getDesc(javassist.CtConstructor) throws javassist.NotFoundException
{
javassist.CtClass v;
int v, v;
javassist.CtConstructor v;
java.lang.StringBuilder v, v;
javassist.CtClass[] v;
java.lang.String v, v;
v := @parameter: javassist.CtConstructor;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("(");
v = virtualinvoke v.<javassist.CtConstructor: javassist.CtClass[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String getDescWithoutMethodName(javassist.CtMethod) throws javassist.NotFoundException
{
javassist.CtMethod v;
javassist.CtClass v, v;
int v, v;
java.lang.StringBuilder v, v;
javassist.CtClass[] v;
java.lang.String v, v, v;
v := @parameter: javassist.CtMethod;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(40);
v = virtualinvoke v.<javassist.CtMethod: javassist.CtClass[] getParameterTypes()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = virtualinvoke v.<javassist.CtMethod: javassist.CtClass getReturnType()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(javassist.CtClass)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String name2desc(java.lang.String)
{
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v, v, v;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(91);
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = v / 2;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = v;
v = v - 1;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[");
goto label;
label:
v = "void";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
goto label;
label:
v = "boolean";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(90);
goto label;
label:
v = "byte";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(66);
goto label;
label:
v = "char";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(67);
goto label;
label:
v = "double";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(68);
goto label;
label:
v = "float";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
v = "int";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(73);
goto label;
label:
v = "long";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
goto label;
label:
v = "short";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(76);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String desc2name(java.lang.String)
{
char v;
java.lang.RuntimeException v;
int v, v, v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(91);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + 1;
if v != v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
tableswitch(v)
{
case 66: goto label;
case 67: goto label;
case 68: goto label;
case 69: goto label;
case 70: goto label;
case 71: goto label;
case 72: goto label;
case 73: goto label;
case 74: goto label;
case 75: goto label;
case 76: goto label;
case 77: goto label;
case 78: goto label;
case 79: goto label;
case 80: goto label;
case 81: goto label;
case 82: goto label;
case 83: goto label;
case 84: goto label;
case 85: goto label;
case 86: goto label;
case 87: goto label;
case 88: goto label;
case 89: goto label;
case 90: goto label;
default: goto label;
};
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("void");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("boolean");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("byte");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("char");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("double");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("float");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("int");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("long");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("short");
goto label;
label:
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>()>();
throw v;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(47, 46);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = v;
v = v - 1;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[]");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.Class forName(java.lang.String)
{
java.lang.IllegalStateException v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
java.lang.String v, v, v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class name2class(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.ClassNotFoundException: 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[])>("Not found class \u, cause: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.ClassNotFoundException from label to label with label;
}
public static java.lang.Class forName(java.lang.ClassLoader, java.lang.String)
{
java.lang.IllegalStateException v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
java.lang.ClassLoader v;
java.lang.String v, v, v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class name2class(java.lang.ClassLoader,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.ClassNotFoundException: 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[])>("Not found class \u, cause: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.ClassNotFoundException from label to label with label;
}
public static java.lang.Class name2class(java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class name2class(java.lang.ClassLoader,java.lang.String)>(v, v);
return v;
}
private static java.lang.Class name2class(java.lang.ClassLoader, java.lang.String) throws java.lang.ClassNotFoundException
{
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v, v, v;
java.lang.ClassLoader v;
java.util.concurrent.ConcurrentMap v, v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v, v, v;
java.lang.Object v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
v = 0;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(91);
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = v / 2;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
if v <= 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
label:
v = v;
v = v - 1;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[");
goto label;
label:
v = "void";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(86);
goto label;
label:
v = "boolean";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(90);
goto label;
label:
v = "byte";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(66);
goto label;
label:
v = "char";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(67);
goto label;
label:
v = "double";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(68);
goto label;
label:
v = "float";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
v = "int";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(73);
goto label;
label:
v = "long";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
goto label;
label:
v = "short";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(76);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
goto label;
label:
v = "void";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Void: java.lang.Class TYPE>;
return v;
label:
v = "boolean";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Class TYPE>;
return v;
label:
v = "byte";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Byte: java.lang.Class TYPE>;
return v;
label:
v = "char";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Character: java.lang.Class TYPE>;
return v;
label:
v = "double";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Double: java.lang.Class TYPE>;
return v;
label:
v = "float";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Float: java.lang.Class TYPE>;
return v;
label:
v = "int";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Integer: java.lang.Class TYPE>;
return v;
label:
v = "long";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Long: java.lang.Class TYPE>;
return v;
label:
v = "short";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <java.lang.Short: java.lang.Class TYPE>;
return v;
label:
if v != null goto label;
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader()>();
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap NAME_CLASS_CACHE>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>(v, 1, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap NAME_CLASS_CACHE>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public static java.lang.Class desc2class(java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class desc2class(java.lang.ClassLoader,java.lang.String)>(v, v);
return v;
}
private static java.lang.Class desc2class(java.lang.ClassLoader, java.lang.String) throws java.lang.ClassNotFoundException
{
java.util.concurrent.ConcurrentMap v, v;
int v, v;
java.lang.String v, v, v, v;
char v;
java.lang.Class v, v, v, v, v, v, v, v, v;
java.lang.ClassNotFoundException v;
java.lang.Object v;
java.lang.ClassLoader v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
tableswitch(v)
{
case 66: goto label;
case 67: goto label;
case 68: goto label;
case 69: goto label;
case 70: goto label;
case 71: goto label;
case 72: goto label;
case 73: goto label;
case 74: goto label;
case 75: goto label;
case 76: goto label;
case 77: goto label;
case 78: goto label;
case 79: goto label;
case 80: goto label;
case 81: goto label;
case 82: goto label;
case 83: goto label;
case 84: goto label;
case 85: goto label;
case 86: goto label;
case 87: goto label;
case 88: goto label;
case 89: goto label;
case 90: goto label;
case 91: goto label;
default: goto label;
};
label:
v = <java.lang.Void: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Boolean: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Byte: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Character: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Double: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Float: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Integer: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Long: java.lang.Class TYPE>;
return v;
label:
v = <java.lang.Short: java.lang.Class TYPE>;
return v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(1, v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(47, 46);
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(47, 46);
goto label;
label:
v = new java.lang.ClassNotFoundException;
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[])>("Class not found: \u0001");
specialinvoke v.<java.lang.ClassNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != null goto label;
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader()>();
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap DESC_CLASS_CACHE>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>(v, 1, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap DESC_CLASS_CACHE>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public static java.lang.Class[] desc2classArray(java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.Class[] v;
java.lang.ClassLoader v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class[] desc2classArray(java.lang.ClassLoader,java.lang.String)>(v, v);
return v;
}
private static java.lang.Class[] desc2classArray(java.lang.ClassLoader, java.lang.String) throws java.lang.ClassNotFoundException
{
java.lang.Object[] v;
java.lang.Class[] v, v;
java.util.ArrayList v;
java.util.regex.Matcher v;
int v;
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.String v, v;
java.util.regex.Pattern v;
boolean v;
v := @parameter: java.lang.ClassLoader;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
v = <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class[] EMPTY_CLASS_ARRAY>;
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern DESC_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
label:
v = virtualinvoke v.<java.util.regex.Matcher: boolean find()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class desc2class(java.lang.ClassLoader,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class[] EMPTY_CLASS_ARRAY>;
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
public static java.lang.reflect.Method findMethodByMethodSignature(java.lang.Class, java.lang.String, java.lang.String[]) throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException
{
java.lang.IllegalStateException v;
java.lang.NoSuchMethodException v;
java.lang.Integer v;
java.lang.reflect.Method[] v;
java.lang.reflect.Method v;
boolean v, v;
java.lang.Object[] v;
java.lang.String[] v;
java.util.ArrayList v;
java.util.concurrent.ConcurrentMap v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.Class[] v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String[];
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("\u.\u0001");
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: java.lang.String join(java.lang.String[])>(v);
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[])>("\u0001\u0001");
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap SIGNATURE_METHODS_CACHE>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getMethods()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new java.lang.NoSuchMethodException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Class)>(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[])>("No such method \u in class \u0001");
specialinvoke v.<java.lang.NoSuchMethodException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 1 goto label;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[1] = v;
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Not unique method for method name(%s) in class(%s), find %d methods.", v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
goto label;
label:
v = lengthof v;
v = newarray (java.lang.Class)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class name2class(java.lang.String)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap SIGNATURE_METHODS_CACHE>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public static java.lang.reflect.Method findMethodByMethodName(java.lang.Class, java.lang.String) throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException
{
java.lang.Class v;
java.lang.String v;
java.lang.reflect.Method v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.reflect.Method findMethodByMethodSignature(java.lang.Class,java.lang.String,java.lang.String[])>(v, v, null);
return v;
}
public static java.lang.reflect.Constructor findConstructor(java.lang.Class, java.lang.Class) throws java.lang.NoSuchMethodException
{
java.lang.NoSuchMethodException v;
java.lang.reflect.Constructor v, v;
java.lang.reflect.Constructor[] v;
int v, v, v, v;
boolean v, v;
java.lang.Class[] v, v, v;
java.lang.Class v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Class;
label:
v = newarray (java.lang.Class)[1];
v[0] = v;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getConstructor(java.lang.Class[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = null;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor[] getConstructors()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Constructor: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
if v != 1 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class[] getParameterTypes()>();
v = v[0];
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
if v != null goto label;
throw v;
label:
return v;
catch java.lang.NoSuchMethodException from label to label with label;
}
public static boolean isInstance(java.lang.Object, java.lang.String)
{
java.lang.Class[] v;
int v, v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(class "Ljava/lang/Object;");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class[] getInterfaces()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
return 0;
}
public static java.lang.Object getEmptyObject(java.lang.Class)
{
java.lang.Class v;
java.lang.Object v;
java.util.HashMap v;
v := @parameter: java.lang.Class;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Object getEmptyObject(java.lang.Class,java.util.Map,int)>(v, v, 0);
return v;
}
private static java.lang.Object getEmptyObject(java.lang.Class, java.util.Map, int)
{
java.lang.Float v;
java.lang.Integer v;
java.lang.Character v;
java.lang.Long v;
java.lang.Short v;
java.util.Map v;
java.lang.Byte v;
boolean v, v, v, v, v, v, v;
java.lang.Throwable v, v;
java.lang.Object[] v;
java.lang.Double v;
java.util.HashMap v;
java.lang.reflect.Constructor v;
java.util.ArrayList v;
java.util.HashSet v;
int v, v, v, v;
java.lang.Boolean v;
java.lang.Class[] v;
java.lang.reflect.Field v;
java.lang.reflect.Field[] v;
java.lang.Class v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.Map;
v := @parameter: int;
if v <= 2 goto label;
return null;
label:
if v != null goto label;
return null;
label:
v = <java.lang.Boolean: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Boolean;" goto label;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
return v;
label:
v = <java.lang.Character: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Character;" goto label;
label:
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(0);
return v;
label:
v = <java.lang.Byte: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Byte;" goto label;
label:
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(0);
return v;
label:
v = <java.lang.Short: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Short;" goto label;
label:
v = staticinvoke <java.lang.Short: java.lang.Short valueOf(short)>(0);
return v;
label:
v = <java.lang.Integer: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Integer;" goto label;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
return v;
label:
v = <java.lang.Long: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Long;" goto label;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
return v;
label:
v = <java.lang.Float: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Float;" goto label;
label:
v = staticinvoke <java.lang.Float: java.lang.Float valueOf(float)>(0.0F);
return v;
label:
v = <java.lang.Double: java.lang.Class TYPE>;
if v == v goto label;
if v != class "Ljava/lang/Double;" goto label;
label:
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(0.0);
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getComponentType()>();
v = staticinvoke <java.lang.reflect.Array: java.lang.Object newInstance(java.lang.Class,int)>(v, 0);
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(class "Ljava/util/ArrayList;");
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(0);
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(class "Ljava/util/HashSet;");
if v == 0 goto label;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>(int)>(0);
return v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(class "Ljava/util/HashMap;");
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(0);
return v;
label:
v = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return "";
label:
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v == 0 goto label;
return null;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
if v == null goto label;
if v == class "Ljava/lang/Object;" goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getDeclaredFields()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Field: boolean isSynthetic()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getType()>();
v = v + 1;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Object getEmptyObject(java.lang.Class,java.util.Map,int)>(v, v, v);
if v == null goto label;
label:
staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: void makeAccessible(java.lang.reflect.Field)>(v);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
return v;
label:
v := @caughtexception;
return null;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object defaultReturn(java.lang.reflect.Method)
{
java.util.Map v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
return null;
}
public static java.lang.Object defaultReturn(java.lang.Class)
{
java.util.Map v;
java.lang.Class v;
java.lang.Object v;
boolean v;
v := @parameter: java.lang.Class;
if v == null goto label;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
return null;
}
public static boolean isBeanPropertyReadMethod(java.lang.reflect.Method)
{
int v, v, v, v, v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v, v, v;
java.lang.Class[] v;
java.lang.Class v, v, v;
v := @parameter: java.lang.reflect.Method;
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = <java.lang.Void: java.lang.Class TYPE>;
if v == v goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
if v == class "Ljava/lang/Object;" goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("get");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 3 goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("is");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 2 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String getPropertyNameFromBeanReadMethod(java.lang.reflect.Method)
{
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Method;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: boolean isBeanPropertyReadMethod(java.lang.reflect.Method)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("get");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(3, 4);
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(4);
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[])>("\u0001\u0001");
return v;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("is");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(2, 3);
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(3);
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[])>("\u0001\u0001");
return v;
label:
return null;
}
public static boolean isBeanPropertyWriteMethod(java.lang.reflect.Method)
{
java.lang.Class[] v;
int v, v, v, v;
java.lang.Class v;
java.lang.String v, v;
java.lang.reflect.Method v;
boolean v, v, v, v;
v := @parameter: java.lang.reflect.Method;
if v == null goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
if v == class "Ljava/lang/Object;" goto label;
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.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("set");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.lang.String getPropertyNameFromBeanWriteMethod(java.lang.reflect.Method)
{
java.lang.String v, v, v, v, v, v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.reflect.Method;
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: boolean isBeanPropertyWriteMethod(java.lang.reflect.Method)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(3, 4);
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(4);
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[])>("\u0001\u0001");
return v;
label:
return null;
}
public static boolean isPublicInstanceField(java.lang.reflect.Field)
{
java.lang.reflect.Field v;
int v, v, v;
boolean v, v, v, v, v;
v := @parameter: java.lang.reflect.Field;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isFinal(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: boolean isSynthetic()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static java.util.Map getBeanPropertyFields(java.lang.Class)
{
java.util.HashMap v;
java.lang.reflect.Field v;
java.lang.reflect.Field[] v;
int v, v, v, v;
java.lang.Class v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.Class;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getDeclaredFields()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isTransient(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v != 0 goto label;
staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: void makeAccessible(java.lang.reflect.Field)>(v);
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
return v;
}
public static java.util.Map getBeanPropertyReadMethods(java.lang.Class)
{
java.util.HashMap v;
java.lang.reflect.Method[] v;
int v, v;
java.lang.Class v;
java.lang.String v;
java.lang.reflect.Method v;
boolean v;
v := @parameter: java.lang.Class;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getDeclaredMethods()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: boolean isBeanPropertyReadMethod(java.lang.reflect.Method)>(v);
if v == 0 goto label;
staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: void makeAccessible(java.lang.reflect.Method)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getPropertyNameFromBeanReadMethod(java.lang.reflect.Method)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
return v;
}
public static java.lang.reflect.Type[] getReturnTypes(java.lang.reflect.Method)
{
java.lang.reflect.Type v, v, v, v;
java.lang.reflect.Type[] v, v, v;
java.lang.Class v, v;
java.lang.reflect.Method v;
boolean v, v, v, v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.reflect.Type getGenericReturnType()>();
v = class "Ljava/util/concurrent/Future;";
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = v instanceof java.lang.reflect.ParameterizedType;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.reflect.ParameterizedType: java.lang.reflect.Type[] getActualTypeArguments()>();
v = v[0];
v = v instanceof java.lang.reflect.ParameterizedType;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.reflect.ParameterizedType: java.lang.reflect.Type getRawType()>();
v = v;
goto label;
label:
v = v instanceof java.lang.reflect.TypeVariable;
if v == 0 goto label;
v = interfaceinvoke v.<java.lang.reflect.TypeVariable: java.lang.reflect.Type[] getBounds()>();
v = v[0];
v = v;
goto label;
label:
v = v;
goto label;
label:
v = null;
v = null;
label:
v = newarray (java.lang.reflect.Type)[2];
v[0] = v;
v[1] = v;
return v;
}
public static java.util.Set findParameterizedTypes(java.lang.Class)
{
java.util.function.Function v, v;
java.util.stream.Collector v;
java.util.LinkedList v;
boolean v;
java.util.function.Predicate v, v;
java.util.Set v;
java.util.function.Consumer v;
java.util.List v;
java.util.stream.Stream v, v, v, v, v, v;
java.lang.reflect.Type v;
java.lang.reflect.Type[] v;
java.lang.Class v, v, v;
java.lang.Object v;
v := @parameter: java.lang.Class;
v = new java.util.LinkedList;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Type[] getGenericInterfaces()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Type getGenericSuperclass()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$lambda_findParameterizedTypes_0__237: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = class "Ljava/lang/reflect/ParameterizedType;";
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$cast__238: java.util.function.Function bootstrap$(java.lang.Class)>(class "Ljava/lang/reflect/ParameterizedType;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$lambda_findParameterizedTypes_1__239: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = class "Ljava/lang/Class;";
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$cast__240: java.util.function.Function bootstrap$(java.lang.Class)>(class "Ljava/lang/Class;");
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$lambda_findParameterizedTypes_2__241: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
label:
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
public static java.util.Set findHierarchicalTypes(java.lang.Class, java.lang.Class)
{
java.util.Set v, v, v;
java.lang.Class v, v, v;
java.util.LinkedHashSet v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.Class;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
label:
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.util.Set findHierarchicalTypes(java.lang.Class,java.lang.Class)>(v, v);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
public static java.lang.Object getProperty(java.lang.Object, java.lang.String)
{
java.util.function.Predicate v;
java.util.function.Function v;
java.lang.Exception v;
java.beans.MethodDescriptor[] v;
java.util.stream.Stream v, v;
java.beans.BeanInfo v;
java.util.Optional v, v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.String v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = null;
label:
v = staticinvoke <java.beans.Introspector: java.beans.BeanInfo getBeanInfo(java.lang.Class)>(v);
v = interfaceinvoke v.<java.beans.BeanInfo: java.beans.MethodDescriptor[] getMethodDescriptors()>();
v = staticinvoke <java.util.stream.Stream: java.util.stream.Stream of(java.lang.Object[])>(v);
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$lambda_getProperty_3__242: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils$lambda_getProperty_4__243: java.util.function.Function bootstrap$(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
label:
return v;
catch java.lang.Exception from label to label with label;
}
public static transient java.lang.Class[] resolveTypes(java.lang.Object[])
{
java.lang.Object[] v;
java.lang.Class[] v, v;
int v, v, v;
java.lang.Class v;
java.lang.Object v;
boolean v;
v := @parameter: java.lang.Object[];
v = staticinvoke <org.apache.dubbo.common.utils.ArrayUtils: boolean isEmpty(java.lang.Object[])>(v);
if v == 0 goto label;
v = <org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class[] EMPTY_CLASS_ARRAY>;
return v;
label:
v = lengthof v;
v = newarray (java.lang.Class)[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public static void makeAccessible(java.lang.reflect.Method)
{
int v, v;
java.lang.Class v;
java.lang.reflect.Method v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v != 0 goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Method: boolean isAccessible()>();
if v != 0 goto label;
virtualinvoke v.<java.lang.reflect.Method: void setAccessible(boolean)>(1);
label:
return;
}
public static void makeAccessible(java.lang.reflect.Field)
{
java.lang.reflect.Field v;
int v, v, v;
java.lang.Class v;
boolean v, v, v, v;
v := @parameter: java.lang.reflect.Field;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isFinal(int)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Field: boolean isAccessible()>();
if v != 0 goto label;
virtualinvoke v.<java.lang.reflect.Field: void setAccessible(boolean)>(1);
label:
return;
}
public static void makeAccessible(java.lang.reflect.Constructor)
{
int v, v;
java.lang.Class v;
java.lang.reflect.Constructor v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Constructor;
v = virtualinvoke v.<java.lang.reflect.Constructor: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class getDeclaringClass()>();
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v != 0 goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Constructor: boolean isAccessible()>();
if v != 0 goto label;
virtualinvoke v.<java.lang.reflect.Constructor: void setAccessible(boolean)>(1);
label:
return;
}
public static boolean checkZeroArgConstructor(java.lang.Class)
{
java.lang.Class[] v;
java.lang.Class v;
java.lang.NoSuchMethodException v;
v := @parameter: java.lang.Class;
label:
v = newarray (java.lang.Class)[0];
virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
label:
return 1;
label:
v := @caughtexception;
return 0;
catch java.lang.NoSuchMethodException from label to label with label;
}
public static boolean isJdk(java.lang.Class)
{
java.lang.Class v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("java.");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("javax.");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
java.lang.Float v;
java.lang.Integer v;
java.lang.Character v;
java.lang.Long v;
java.lang.Short v;
java.util.Map v, v, v, v, v, v, v, v, v;
java.lang.Byte v;
java.util.concurrent.ConcurrentHashMap v, v, v;
java.util.regex.Pattern v, v, v, v, v;
java.lang.Double v;
java.util.HashMap v;
java.lang.Boolean v;
java.lang.Class[] v;
java.lang.Class v, v, v, v, v, v, v, v, v;
v = newarray (java.lang.Class)[0];
<org.apache.dubbo.common.utils.ReflectUtils: java.lang.Class[] EMPTY_CLASS_ARRAY> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)|(?:\\[+(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;))))");
<org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern DESC_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(?:((?:[_$a-zA-Z][_$a-zA-Z0-9]*))?\\(((?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)|(?:\\[+(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;))))*)\\)((?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)|(?:\\[+(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)))))?)");
<org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern METHOD_DESC_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("get([A-Z][_a-zA-Z0-9]*)\\(\\)((?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)|(?:\\[+(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)))))");
<org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern GETTER_METHOD_DESC_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("set([A-Z][_a-zA-Z0-9]*)\\(((?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)|(?:\\[+(?:(?:[VZBCDFIJS])|(?:L(?:[_$a-zA-Z][_$a-zA-Z0-9]*)(?:\\/(?:[_$a-zA-Z][_$a-zA-Z0-9]*))*;)))))\\)V");
<org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern SETTER_METHOD_DESC_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(?:is|has|can)([A-Z][_a-zA-Z0-9]*)\\(\\)Z");
<org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern IS_HAS_CAN_METHOD_DESC_PATTERN> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap DESC_CLASS_CACHE> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap NAME_CLASS_CACHE> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.apache.dubbo.common.utils.ReflectUtils: java.util.concurrent.ConcurrentMap SIGNATURE_METHODS_CACHE> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
<org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults> = v;
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Integer: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Long: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Byte: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Character: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Short: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Short: java.lang.Short valueOf(short)>(0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Float: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Float: java.lang.Float valueOf(float)>(0.0F);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Double: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(0.0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Boolean: java.lang.Class TYPE>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.Map primitiveDefaults>;
v = <java.lang.Void: java.lang.Class TYPE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
return;
}
}