public abstract class org.apache.dubbo.common.bytecode.Wrapper extends java.lang.Object
{
private static final java.util.Map WRAPPER_MAP;
private static final java.lang.String[] EMPTY_STRING_ARRAY;
private static final java.lang.String[] OBJECT_METHODS;
private static final org.apache.dubbo.common.bytecode.Wrapper OBJECT_WRAPPER;
private static java.util.concurrent.atomic.AtomicLong WRAPPER_CLASS_COUNTER;
public void <init>()
{
org.apache.dubbo.common.bytecode.Wrapper v;
v := @this: org.apache.dubbo.common.bytecode.Wrapper;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static org.apache.dubbo.common.bytecode.Wrapper getWrapper(java.lang.Class)
{
java.util.Map v;
org.apache.dubbo.common.bytecode.Wrapper v;
java.lang.Class v;
java.lang.Object v;
java.util.function.Function v;
boolean v;
v := @parameter: java.lang.Class;
label:
v = staticinvoke <org.apache.dubbo.common.bytecode.ClassGenerator: boolean isDynamicClass(java.lang.Class)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.Class getSuperclass()>();
goto label;
label:
if v != class "Ljava/lang/Object;" goto label;
v = <org.apache.dubbo.common.bytecode.Wrapper: org.apache.dubbo.common.bytecode.Wrapper OBJECT_WRAPPER>;
return v;
label:
v = <org.apache.dubbo.common.bytecode.Wrapper: java.util.Map WRAPPER_MAP>;
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper$makeWrapper__138: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>(v, v);
return v;
}
public static org.apache.dubbo.common.bytecode.Wrapper makeWrapper(java.lang.Class)
{
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.ClassLoader v;
java.lang.Object[] v, v, v, v;
long v;
java.lang.reflect.Constructor v;
java.util.LinkedHashMap v;
java.lang.Class[] v, v, v, v, v, v, v;
java.lang.reflect.Field v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicLong v;
java.util.function.BiFunction v;
java.lang.reflect.Method[] v;
java.lang.reflect.Method v, v;
java.util.Collection v;
int 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, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
java.util.regex.Matcher v, v, v;
java.util.Set v, v;
java.lang.Throwable v;
java.util.ArrayList v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.RuntimeException v, v;
boolean v, v, v, v, v, v, v, v, v, v, v;
float v;
java.util.regex.Pattern v, v, v;
java.lang.String[] v, v, v;
java.util.HashMap v, v;
java.util.Iterator v, v;
java.lang.IllegalArgumentException v;
org.apache.dubbo.common.bytecode.ClassGenerator v;
java.lang.reflect.Field[] v;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("Can not create wrapper for primitive type: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.apache.dubbo.common.utils.ClassUtils: java.lang.ClassLoader getClassLoader(java.lang.Class)>(v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("public void setPropertyValue(Object o, String n, Object v){ ");
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("public Object getPropertyValue(Object o, String n){ ");
v = new java.lang.StringBuilder;
v = class "Ljava/lang/reflect/InvocationTargetException;";
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[])>("public Object invokeMethod(Object o, String n, Class[] p, Object[] v) throws \u0001{ ");
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" w; try{ w = ((");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(")$1); }catch(Throwable e){ throw new IllegalArgumentException(e); }");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" w; try{ w = ((");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(")$1); }catch(Throwable e){ throw new IllegalArgumentException(e); }");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" w; try{ w = ((");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(")$1); }catch(Throwable e){ throw new IllegalArgumentException(e); }");
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field[] getFields()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getType()>();
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 isTransient(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( $2.equals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\") ){ w.");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("=");
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String arg(java.lang.Class,java.lang.String)>(v, "$3");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("; return; }");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( $2.equals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\") ){ return ($w)w.");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("; }");
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.reflect.Method[] getMethods()>();
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: boolean hasMethods(java.lang.reflect.Method[])>(v);
if v == 0 goto label;
v = new java.util.HashMap;
v = lengthof v;
v = v / 0.75F;
v = v + 1;
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
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 = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper$lambda_makeWrapper_0__139: java.util.function.BiFunction bootstrap$()>();
interfaceinvoke v.<java.util.Map: java.lang.Object compute(java.lang.Object,java.util.function.BiFunction)>(v, v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" try{");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
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.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( \"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\".equals( $2 ) ");
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = lengthof v;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" && ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" $3.length == ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 1 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v <= 0 goto label;
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" && ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" $3[");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("].getName().equals(\"");
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = v[v];
v = virtualinvoke v.<java.lang.Class: 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(java.lang.String)>("\")");
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ) { ");
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.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" w.");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(40);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String args(java.lang.Class[],java.lang.String)>(v, "$4");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(");");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" return null;");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" return ($w)w.");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(40);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String args(java.lang.Class[],java.lang.String)>(v, "$4");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(");");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" }");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
if v != v goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getDesc(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:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" } catch(Throwable e) { ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("     throw new java.lang.reflect.InvocationTargetException(e); ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" }");
label:
v = class "Lorg/apache/dubbo/common/bytecode/NoSuchMethodException;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>(" throw new \u0001(\"Not found method \\\"\"+$2+\"\\\" in class \u.\"); }");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern GETTER_METHOD_DESC_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String propertyName(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( $2.equals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\") ){ return ($w)w.");
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(java.lang.String)>("(); }");
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern IS_HAS_CAN_METHOD_DESC_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String propertyName(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( $2.equals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\") ){ return ($w)w.");
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(java.lang.String)>("(); }");
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.dubbo.common.utils.ReflectUtils: java.util.regex.Pattern SETTER_METHOD_DESC_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = v[0];
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String propertyName(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" if( $2.equals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\") ){ w.");
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);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("(");
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String arg(java.lang.Class,java.lang.String)>(v, "$3");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("); return; }");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = class "Lorg/apache/dubbo/common/bytecode/NoSuchPropertyException;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>(" throw new \u0001(\"Not found property \\\"\"+$2+\"\\\" field or setter method in class \u.\"); }");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = class "Lorg/apache/dubbo/common/bytecode/NoSuchPropertyException;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>(" throw new \u0001(\"Not found property \\\"\"+$2+\"\\\" field or getter method in class \u.\"); }");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <org.apache.dubbo.common.bytecode.Wrapper: java.util.concurrent.atomic.AtomicLong WRAPPER_CLASS_COUNTER>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long getAndIncrement()>();
v = staticinvoke <org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator newInstance(java.lang.ClassLoader)>(v);
v = virtualinvoke v.<java.lang.Class: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = class "Lorg/apache/dubbo/common/bytecode/Wrapper;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001$sw");
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long)>(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");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator setClassName(java.lang.String)>(v);
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator setSuperClass(java.lang.Class)>(class "Lorg/apache/dubbo/common/bytecode/Wrapper;");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addDefaultConstructor()>();
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addField(java.lang.String)>("public static String[] pns;");
v = class "Ljava/util/Map;";
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[])>("public static \u pts;");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addField(java.lang.String)>(v);
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addField(java.lang.String)>("public static String[] mns;");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addField(java.lang.String)>("public static String[] dmns;");
v = 0;
v = interfaceinvoke v.<java.util.Map: int size()>();
label:
if v >= v goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("public static Class[] mts\u;");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addField(java.lang.String)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>("public String[] getPropertyNames(){ return pns; }");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>("public boolean hasProperty(String n){ return pts.containsKey($1); }");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>("public Class getPropertyType(String n){ return (Class)pts.get($1); }");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>("public String[] getMethodNames(){ return mns; }");
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>("public String[] getDeclaredMethodNames(){ return dmns; }");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: org.apache.dubbo.common.bytecode.ClassGenerator addMethod(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: java.lang.Class toClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getField(java.lang.String)>("pts");
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(null, v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getField(java.lang.String)>("pns");
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(null, v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getField(java.lang.String)>("mns");
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(null, v);
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getField(java.lang.String)>("dmns");
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(null, v);
v = 0;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v;
v = v + 1;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("mts\u0001");
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getField(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
virtualinvoke v.<java.lang.reflect.Field: void set(java.lang.Object,java.lang.Object)>(null, v);
goto label;
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);
label:
virtualinvoke v.<org.apache.dubbo.common.bytecode.ClassGenerator: void release()>();
interfaceinvoke v.<java.util.Map: void clear()>();
interfaceinvoke v.<java.util.List: void clear()>();
interfaceinvoke v.<java.util.List: void clear()>();
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static java.lang.String arg(java.lang.Class, java.lang.String)
{
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
java.lang.RuntimeException v;
java.lang.Class v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.Class: boolean isPrimitive()>();
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Boolean)\u).booleanValue()");
return v;
label:
v = <java.lang.Byte: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Byte)\u).byteValue()");
return v;
label:
v = <java.lang.Character: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Character)\u).charValue()");
return v;
label:
v = <java.lang.Double: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Number)\u).doubleValue()");
return v;
label:
v = <java.lang.Float: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Number)\u).floatValue()");
return v;
label:
v = <java.lang.Integer: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Number)\u).intValue()");
return v;
label:
v = <java.lang.Long: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Number)\u).longValue()");
return v;
label:
v = <java.lang.Short: java.lang.Class TYPE>;
if v != v goto label;
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[])>("((Number)\u).shortValue()");
return v;
label:
v = new java.lang.RuntimeException;
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[])>("Unknown primitive type: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ReflectUtils: java.lang.String getName(java.lang.Class)>(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[])>("(\u)\u0001");
return v;
}
private static java.lang.String args(java.lang.Class[], java.lang.String)
{
java.lang.Class[] v;
int v, v;
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.Class[];
v := @parameter: java.lang.String;
v = lengthof v;
if v != 0 goto label;
return "";
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
label:
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 = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[\u]");
v = staticinvoke <org.apache.dubbo.common.bytecode.Wrapper: java.lang.String arg(java.lang.Class,java.lang.String)>(v, 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;
}
private static java.lang.String propertyName(java.lang.String)
{
char v, v, v;
int v;
java.lang.String v, v, v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 1 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(1);
v = staticinvoke <java.lang.Character: boolean isLowerCase(char)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <java.lang.Character: char toLowerCase(char)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (char,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");
goto label;
label:
v = v;
label:
return v;
}
private static boolean hasMethods(java.lang.reflect.Method[])
{
int v, v, v;
java.lang.Class v;
java.lang.reflect.Method v;
java.lang.reflect.Method[] v;
v := @parameter: java.lang.reflect.Method[];
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
return 0;
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
if v == class "Ljava/lang/Object;" goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
public abstract java.lang.String[] getPropertyNames();
public abstract java.lang.Class getPropertyType(java.lang.String);
public abstract boolean hasProperty(java.lang.String);
public abstract java.lang.Object getPropertyValue(java.lang.Object, java.lang.String) throws org.apache.dubbo.common.bytecode.NoSuchPropertyException, java.lang.IllegalArgumentException;
public abstract void setPropertyValue(java.lang.Object, java.lang.String, java.lang.Object) throws org.apache.dubbo.common.bytecode.NoSuchPropertyException, java.lang.IllegalArgumentException;
public java.lang.Object[] getPropertyValues(java.lang.Object, java.lang.String[]) throws org.apache.dubbo.common.bytecode.NoSuchPropertyException, java.lang.IllegalArgumentException
{
java.lang.Object[] v;
org.apache.dubbo.common.bytecode.Wrapper v;
java.lang.String[] v;
int v, v, v;
java.lang.Object v, v;
java.lang.String v;
v := @this: org.apache.dubbo.common.bytecode.Wrapper;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
v = lengthof v;
v = newarray (java.lang.Object)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.dubbo.common.bytecode.Wrapper: java.lang.Object getPropertyValue(java.lang.Object,java.lang.String)>(v, v);
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public void setPropertyValues(java.lang.Object, java.lang.String[], java.lang.Object[]) throws org.apache.dubbo.common.bytecode.NoSuchPropertyException, java.lang.IllegalArgumentException
{
java.lang.Object[] v;
org.apache.dubbo.common.bytecode.Wrapper v;
java.lang.String[] v;
java.lang.IllegalArgumentException v;
int v, v, v, v;
java.lang.Object v, v;
java.lang.String v;
v := @this: org.apache.dubbo.common.bytecode.Wrapper;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String[];
v := @parameter: java.lang.Object[];
v = lengthof v;
v = lengthof v;
if v == v goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("pns.length != pvs.length");
throw v;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
virtualinvoke v.<org.apache.dubbo.common.bytecode.Wrapper: void setPropertyValue(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
v = v + 1;
goto label;
label:
return;
}
public abstract java.lang.String[] getMethodNames();
public abstract java.lang.String[] getDeclaredMethodNames();
public boolean hasMethod(java.lang.String)
{
org.apache.dubbo.common.bytecode.Wrapper v;
int v, v;
java.lang.String[] v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.dubbo.common.bytecode.Wrapper;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.dubbo.common.bytecode.Wrapper: java.lang.String[] getMethodNames()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
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:
return 0;
}
public abstract java.lang.Object invokeMethod(java.lang.Object, java.lang.String, java.lang.Class[], java.lang.Object[]) throws org.apache.dubbo.common.bytecode.NoSuchMethodException, java.lang.reflect.InvocationTargetException;
static void <clinit>()
{
java.util.concurrent.atomic.AtomicLong v;
org.apache.dubbo.common.bytecode.Wrapper$1 v;
java.util.concurrent.ConcurrentHashMap v;
java.lang.String[] v, v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
<org.apache.dubbo.common.bytecode.Wrapper: java.util.Map WRAPPER_MAP> = v;
v = newarray (java.lang.String)[0];
<org.apache.dubbo.common.bytecode.Wrapper: java.lang.String[] EMPTY_STRING_ARRAY> = v;
v = newarray (java.lang.String)[4];
v[0] = "getClass";
v[1] = "hashCode";
v[2] = "toString";
v[3] = "equals";
<org.apache.dubbo.common.bytecode.Wrapper: java.lang.String[] OBJECT_METHODS> = v;
v = new org.apache.dubbo.common.bytecode.Wrapper$1;
specialinvoke v.<org.apache.dubbo.common.bytecode.Wrapper$1: void <init>()>();
<org.apache.dubbo.common.bytecode.Wrapper: org.apache.dubbo.common.bytecode.Wrapper OBJECT_WRAPPER> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
<org.apache.dubbo.common.bytecode.Wrapper: java.util.concurrent.atomic.AtomicLong WRAPPER_CLASS_COUNTER> = v;
return;
}
}