public class com.alibaba.com.caucho.hessian.io.EnumSetSerializer extends com.alibaba.com.caucho.hessian.io.AbstractSerializer
{
private static com.alibaba.com.caucho.hessian.io.EnumSetSerializer SERIALIZER;
public void <init>()
{
com.alibaba.com.caucho.hessian.io.EnumSetSerializer v;
v := @this: com.alibaba.com.caucho.hessian.io.EnumSetSerializer;
specialinvoke v.<com.alibaba.com.caucho.hessian.io.AbstractSerializer: void <init>()>();
return;
}
public static com.alibaba.com.caucho.hessian.io.EnumSetSerializer getInstance()
{
com.alibaba.com.caucho.hessian.io.EnumSetSerializer v;
v = <com.alibaba.com.caucho.hessian.io.EnumSetSerializer: com.alibaba.com.caucho.hessian.io.EnumSetSerializer SERIALIZER>;
return v;
}
public void writeObject(java.lang.Object, com.alibaba.com.caucho.hessian.io.AbstractHessianOutput) throws java.io.IOException
{
java.lang.Throwable v;
com.alibaba.com.caucho.hessian.io.AbstractHessianOutput v;
java.lang.Object[] v;
com.alibaba.com.caucho.hessian.io.EnumSetSerializer v;
java.io.IOException v;
java.lang.reflect.Field v;
com.alibaba.com.caucho.hessian.io.EnumSetHandler v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: com.alibaba.com.caucho.hessian.io.EnumSetSerializer;
v := @parameter: java.lang.Object;
v := @parameter: com.alibaba.com.caucho.hessian.io.AbstractHessianOutput;
if v != null goto label;
virtualinvoke v.<com.alibaba.com.caucho.hessian.io.AbstractHessianOutput: void writeNull()>();
goto label;
label:
v = class "Ljava/util/EnumSet;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Field getDeclaredField(java.lang.String)>("elementType");
virtualinvoke v.<java.lang.reflect.Field: void setAccessible(boolean)>(1);
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.EnumSet: java.lang.Object[] toArray()>();
v = new com.alibaba.com.caucho.hessian.io.EnumSetHandler;
specialinvoke v.<com.alibaba.com.caucho.hessian.io.EnumSetHandler: void <init>(java.lang.Class,java.lang.Object[])>(v, v);
virtualinvoke v.<com.alibaba.com.caucho.hessian.io.AbstractHessianOutput: void writeObject(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
com.alibaba.com.caucho.hessian.io.EnumSetSerializer v;
v = new com.alibaba.com.caucho.hessian.io.EnumSetSerializer;
specialinvoke v.<com.alibaba.com.caucho.hessian.io.EnumSetSerializer: void <init>()>();
<com.alibaba.com.caucho.hessian.io.EnumSetSerializer: com.alibaba.com.caucho.hessian.io.EnumSetSerializer SERIALIZER> = v;
return;
}
}