public class org.apache.dubbo.remoting.buffer.HeapChannelBuffer extends org.apache.dubbo.remoting.buffer.AbstractChannelBuffer
{
protected final byte[] array;
public void <init>(int)
{
int v;
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v = newarray (byte)[v];
specialinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void <init>(byte[],int,int)>(v, 0, 0);
return;
}
public void <init>(byte[])
{
int v;
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: byte[];
v = lengthof v;
specialinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void <init>(byte[],int,int)>(v, 0, v);
return;
}
protected void <init>(byte[], int, int)
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v;
java.lang.NullPointerException v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
specialinvoke v.<org.apache.dubbo.remoting.buffer.AbstractChannelBuffer: void <init>()>();
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("array");
throw v;
label:
v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array> = v;
virtualinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void setIndex(int,int)>(v, v);
return;
}
public boolean isDirect()
{
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
return 0;
}
public int capacity()
{
int v;
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = lengthof v;
return v;
}
public boolean hasArray()
{
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
return 1;
}
public byte[] array()
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
return v;
}
public int arrayOffset()
{
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
return 0;
}
public byte getByte(int)
{
byte[] v;
byte v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = v[v];
return v;
}
public void getBytes(int, org.apache.dubbo.remoting.buffer.ChannelBuffer, int, int)
{
byte[] v, v;
org.apache.dubbo.remoting.buffer.ChannelBuffer v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v;
boolean v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: org.apache.dubbo.remoting.buffer.ChannelBuffer;
v := @parameter: int;
v := @parameter: int;
v = v instanceof org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
if v == 0 goto label;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
virtualinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void getBytes(int,byte[],int,int)>(v, v, v, v);
goto label;
label:
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
interfaceinvoke v.<org.apache.dubbo.remoting.buffer.ChannelBuffer: void setBytes(int,byte[],int,int)>(v, v, v, v);
label:
return;
}
public void getBytes(int, byte[], int, int)
{
byte[] v, v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
return;
}
public void getBytes(int, java.nio.ByteBuffer)
{
byte[] v;
java.nio.ByteBuffer v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v, v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = virtualinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: int capacity()>();
v = v - v;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[],int,int)>(v, v, v);
return;
}
public void getBytes(int, java.io.OutputStream, int) throws java.io.IOException
{
java.io.OutputStream v;
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.io.OutputStream;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, v, v);
return;
}
public int getBytes(int, java.nio.channels.GatheringByteChannel, int) throws java.io.IOException
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v;
java.nio.ByteBuffer v;
java.nio.channels.GatheringByteChannel v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.nio.channels.GatheringByteChannel;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
v = interfaceinvoke v.<java.nio.channels.GatheringByteChannel: int write(java.nio.ByteBuffer)>(v);
return v;
}
public void setByte(int, int)
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v[v] = v;
return;
}
public void setBytes(int, org.apache.dubbo.remoting.buffer.ChannelBuffer, int, int)
{
byte[] v, v;
org.apache.dubbo.remoting.buffer.ChannelBuffer v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v;
boolean v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: org.apache.dubbo.remoting.buffer.ChannelBuffer;
v := @parameter: int;
v := @parameter: int;
v = v instanceof org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
if v == 0 goto label;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
virtualinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void setBytes(int,byte[],int,int)>(v, v, v, v);
goto label;
label:
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
interfaceinvoke v.<org.apache.dubbo.remoting.buffer.ChannelBuffer: void getBytes(int,byte[],int,int)>(v, v, v, v);
label:
return;
}
public void setBytes(int, byte[], int, int)
{
byte[] v, v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
return;
}
public void setBytes(int, java.nio.ByteBuffer)
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v;
java.nio.ByteBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[],int,int)>(v, v, v);
return;
}
public int setBytes(int, java.io.InputStream, int) throws java.io.IOException
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v, v, v;
java.io.InputStream v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.io.InputStream;
v := @parameter: int;
v = 0;
label:
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v >= 0 goto label;
if v != 0 goto label;
v = (int) -1;
return v;
label:
v = v + v;
v = v + v;
v = v - v;
if v > 0 goto label;
label:
return v;
}
public int setBytes(int, java.nio.channels.ScatteringByteChannel, int) throws java.io.IOException
{
byte[] v;
java.nio.channels.ScatteringByteChannel v;
java.nio.channels.ClosedChannelException v;
java.nio.ByteBuffer v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v, v, v, v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: java.nio.channels.ScatteringByteChannel;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
v = 0;
label:
v = interfaceinvoke v.<java.nio.channels.ScatteringByteChannel: int read(java.nio.ByteBuffer)>(v);
label:
goto label;
label:
v := @caughtexception;
v = (int) -1;
v = v;
label:
if v >= 0 goto label;
if v != 0 goto label;
v = (int) -1;
return v;
label:
if v == 0 goto label;
v = v + v;
if v < v goto label;
label:
return v;
catch java.nio.channels.ClosedChannelException from label to label with label;
}
public org.apache.dubbo.remoting.buffer.ChannelBuffer copy(int, int)
{
byte[] v, v, v;
java.lang.IndexOutOfBoundsException v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v, v;
int v, v, v, v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: int;
if v < 0 goto label;
if v < 0 goto label;
v = v + v;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = lengthof v;
if v <= v goto label;
label:
v = new java.lang.IndexOutOfBoundsException;
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>()>();
throw v;
label:
v = newarray (byte)[v];
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v = new org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
specialinvoke v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: void <init>(byte[])>(v);
return v;
}
public org.apache.dubbo.remoting.buffer.ChannelBufferFactory factory()
{
org.apache.dubbo.remoting.buffer.ChannelBufferFactory v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v = staticinvoke <org.apache.dubbo.remoting.buffer.HeapChannelBufferFactory: org.apache.dubbo.remoting.buffer.ChannelBufferFactory getInstance()>();
return v;
}
public java.nio.ByteBuffer toByteBuffer(int, int)
{
byte[] v;
org.apache.dubbo.remoting.buffer.HeapChannelBuffer v;
int v, v;
java.nio.ByteBuffer v;
v := @this: org.apache.dubbo.remoting.buffer.HeapChannelBuffer;
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.dubbo.remoting.buffer.HeapChannelBuffer: byte[] array>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
return v;
}
}