public class org.fusesource.hawtbuf.codec.VarLongCodec extends java.lang.Object implements org.fusesource.hawtbuf.codec.Codec
{
public static final org.fusesource.hawtbuf.codec.VarLongCodec INSTANCE;
public void <init>()
{
org.fusesource.hawtbuf.codec.VarLongCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void encode(java.lang.Long, java.io.DataOutput) throws java.io.IOException
{
java.io.DataOutput v;
long v, v;
org.fusesource.hawtbuf.codec.VarLongCodec v;
byte v;
java.lang.Long v;
int v, v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
v := @parameter: java.lang.Long;
v := @parameter: java.io.DataOutput;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
label:
v = v & -128L;
v = v cmp 0L;
if v != 0 goto label;
interfaceinvoke v.<java.io.DataOutput: void writeByte(int)>(v);
return;
label:
v = v & 127;
v = v | 128;
interfaceinvoke v.<java.io.DataOutput: void writeByte(int)>(v);
v = v >>> 7;
goto label;
}
public java.lang.Long decode(java.io.DataInput) throws java.io.IOException
{
long v, v;
org.fusesource.hawtbuf.codec.VarLongCodec v;
java.net.ProtocolException v;
short v;
byte v, v;
java.lang.Long v;
int v;
java.io.DataInput v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
v := @parameter: java.io.DataInput;
v = 0;
v = 0L;
label:
if v >= 64 goto label;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
v = v & 127;
v = v << v;
v = v | v;
v = v & 128;
if v != 0 goto label;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
return v;
label:
v = v + 7;
goto label;
label:
v = new java.net.ProtocolException;
specialinvoke v.<java.net.ProtocolException: void <init>(java.lang.String)>("Encountered a malformed variable int");
throw v;
}
public boolean isEstimatedSizeSupported()
{
org.fusesource.hawtbuf.codec.VarLongCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
return 1;
}
public int estimatedSize(java.lang.Long)
{
long v, v, v, v, v, v, v, v, v, v;
org.fusesource.hawtbuf.codec.VarLongCodec v;
byte v, v, v, v, v, v, v, v, v;
java.lang.Long v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
v := @parameter: java.lang.Long;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v & -128L;
v = v cmp 0L;
if v != 0 goto label;
return 1;
label:
v = v & -16384L;
v = v cmp 0L;
if v != 0 goto label;
return 2;
label:
v = v & -2097152L;
v = v cmp 0L;
if v != 0 goto label;
return 3;
label:
v = v & -268435456L;
v = v cmp 0L;
if v != 0 goto label;
return 4;
label:
v = v & -34359738368L;
v = v cmp 0L;
if v != 0 goto label;
return 5;
label:
v = v & -4398046511104L;
v = v cmp 0L;
if v != 0 goto label;
return 6;
label:
v = v & -562949953421312L;
v = v cmp 0L;
if v != 0 goto label;
return 7;
label:
v = v & -72057594037927936L;
v = v cmp 0L;
if v != 0 goto label;
return 8;
label:
v = v & -9223372036854775808L;
v = v cmp 0L;
if v != 0 goto label;
return 9;
label:
return 10;
}
public int getFixedSize()
{
int v;
org.fusesource.hawtbuf.codec.VarLongCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
v = (int) -1;
return v;
}
public java.lang.Long deepCopy(java.lang.Long)
{
org.fusesource.hawtbuf.codec.VarLongCodec v;
java.lang.Long v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
v := @parameter: java.lang.Long;
return v;
}
public boolean isDeepCopySupported()
{
org.fusesource.hawtbuf.codec.VarLongCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarLongCodec;
return 1;
}
static void <clinit>()
{
org.fusesource.hawtbuf.codec.VarLongCodec v;
v = new org.fusesource.hawtbuf.codec.VarLongCodec;
specialinvoke v.<org.fusesource.hawtbuf.codec.VarLongCodec: void <init>()>();
<org.fusesource.hawtbuf.codec.VarLongCodec: org.fusesource.hawtbuf.codec.VarLongCodec INSTANCE> = v;
return;
}
}