public class org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput extends java.lang.Object implements org.apache.dubbo.common.serialize.ObjectOutput
{
private io.protostuff.LinkedBuffer buffer;
private java.io.DataOutputStream dos;
public void <init>(java.io.OutputStream)
{
java.io.OutputStream v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
io.protostuff.LinkedBuffer v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: java.io.OutputStream;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <io.protostuff.LinkedBuffer: io.protostuff.LinkedBuffer allocate()>();
v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: io.protostuff.LinkedBuffer buffer> = v;
v = new java.io.DataOutputStream;
specialinvoke v.<java.io.DataOutputStream: void <init>(java.io.OutputStream)>(v);
v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos> = v;
return;
}
public void writeObject(java.lang.Object) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v, v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
io.protostuff.Schema v, v;
java.io.DataOutputStream v, v, v, v;
int v, v;
java.lang.String v, v;
boolean v;
org.apache.dubbo.common.serialize.protostuff.Wrapper v;
io.protostuff.LinkedBuffer v, v, v, v;
java.lang.Class v, v, v;
java.lang.Object v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: java.lang.Object;
label:
if v == null goto label;
v = staticinvoke <org.apache.dubbo.common.serialize.protostuff.utils.WrapperUtils: boolean needWrapper(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = staticinvoke <io.protostuff.runtime.RuntimeSchema: io.protostuff.Schema getSchema(java.lang.Class)>(class "Lorg/apache/dubbo/common/serialize/protostuff/Wrapper;");
v = new org.apache.dubbo.common.serialize.protostuff.Wrapper;
specialinvoke v.<org.apache.dubbo.common.serialize.protostuff.Wrapper: void <init>(java.lang.Object)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: io.protostuff.LinkedBuffer buffer>;
v = staticinvoke <io.protostuff.GraphIOUtil: byte[] toByteArray(java.lang.Object,io.protostuff.Schema,io.protostuff.LinkedBuffer)>(v, v, v);
v = class "Lorg/apache/dubbo/common/serialize/protostuff/Wrapper;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.protostuff.runtime.RuntimeSchema: io.protostuff.Schema getSchema(java.lang.Class)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: io.protostuff.LinkedBuffer buffer>;
v = staticinvoke <io.protostuff.GraphIOUtil: byte[] toByteArray(java.lang.Object,io.protostuff.Schema,io.protostuff.LinkedBuffer)>(v, v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
label:
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: io.protostuff.LinkedBuffer buffer>;
virtualinvoke v.<io.protostuff.LinkedBuffer: io.protostuff.LinkedBuffer clear()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: io.protostuff.LinkedBuffer buffer>;
virtualinvoke v.<io.protostuff.LinkedBuffer: io.protostuff.LinkedBuffer clear()>();
throw v;
label:
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public void writeBool(boolean) throws java.io.IOException
{
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
boolean v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: boolean;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeBoolean(boolean)>(v);
return;
}
public void writeByte(byte) throws java.io.IOException
{
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
byte v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: byte;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeByte(int)>(v);
return;
}
public void writeShort(short) throws java.io.IOException
{
short v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: short;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeShort(int)>(v);
return;
}
public void writeInt(int) throws java.io.IOException
{
int v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: int;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
return;
}
public void writeLong(long) throws java.io.IOException
{
long v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: long;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeLong(long)>(v);
return;
}
public void writeFloat(float) throws java.io.IOException
{
float v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: float;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeFloat(float)>(v);
return;
}
public void writeDouble(double) throws java.io.IOException
{
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
double v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: double;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeDouble(double)>(v);
return;
}
public void writeUTF(java.lang.String) throws java.io.IOException
{
byte[] v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v, v;
int v;
java.lang.String v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
return;
}
public void writeBytes(byte[]) throws java.io.IOException
{
byte[] v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v, v;
int v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: byte[];
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
v = lengthof v;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
return;
}
public void writeBytes(byte[], int, int) throws java.io.IOException
{
byte[] v, v;
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v, v;
int v, v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void writeInt(int)>(v);
v = newarray (byte)[v];
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void write(byte[])>(v);
return;
}
public void flushBuffer() throws java.io.IOException
{
org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput v;
java.io.DataOutputStream v;
v := @this: org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput;
v = v.<org.apache.dubbo.common.serialize.protostuff.ProtostuffObjectOutput: java.io.DataOutputStream dos>;
virtualinvoke v.<java.io.DataOutputStream: void flush()>();
return;
}
}