public class org.fusesource.hawtbuf.codec.VarIntegerCodec extends java.lang.Object implements org.fusesource.hawtbuf.codec.Codec
{
public static final org.fusesource.hawtbuf.codec.VarIntegerCodec INSTANCE;
public void <init>()
{
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void encode(java.lang.Integer, java.io.DataOutput) throws java.io.IOException
{
java.io.DataOutput v;
java.lang.Integer v;
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
int v, v, v, v, v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
v := @parameter: java.lang.Integer;
v := @parameter: java.io.DataOutput;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
label:
v = (int) -128;
v = v & v;
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.Integer decode(java.io.DataInput) throws java.io.IOException
{
java.lang.Integer v, v, v;
byte v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
java.net.ProtocolException v;
java.io.DataInput v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
v := @parameter: java.io.DataInput;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
if v < 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = v & 127;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
if v < 0 goto label;
v = v << 7;
v = v | v;
goto label;
label:
v = v & 127;
v = v << 7;
v = v | v;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
if v < 0 goto label;
v = v << 14;
v = v | v;
goto label;
label:
v = v & 127;
v = v << 14;
v = v | v;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
if v < 0 goto label;
v = v << 21;
v = v | v;
goto label;
label:
v = v & 127;
v = v << 21;
v = v | v;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
v = v << 28;
v = v | v;
if v >= 0 goto label;
v = 0;
label:
if v >= 5 goto label;
v = interfaceinvoke v.<java.io.DataInput: byte readByte()>();
if v < 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
label:
v = v + 1;
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;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
return v;
}
public int getFixedSize()
{
int v;
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
v = (int) -1;
return v;
}
public java.lang.Integer deepCopy(java.lang.Integer)
{
java.lang.Integer v;
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
v := @parameter: java.lang.Integer;
return v;
}
public boolean isDeepCopySupported()
{
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
return 1;
}
public boolean isEstimatedSizeSupported()
{
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
return 1;
}
public int estimatedSize(java.lang.Integer)
{
java.lang.Integer v;
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
int v, v, v, v, v, v, v;
v := @this: org.fusesource.hawtbuf.codec.VarIntegerCodec;
v := @parameter: java.lang.Integer;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = (int) -128;
v = v & v;
if v != 0 goto label;
return 1;
label:
v = (int) -16384;
v = v & v;
if v != 0 goto label;
return 2;
label:
v = v & -2097152;
if v != 0 goto label;
return 3;
label:
v = v & -268435456;
if v != 0 goto label;
return 4;
label:
return 5;
}
static void <clinit>()
{
org.fusesource.hawtbuf.codec.VarIntegerCodec v;
v = new org.fusesource.hawtbuf.codec.VarIntegerCodec;
specialinvoke v.<org.fusesource.hawtbuf.codec.VarIntegerCodec: void <init>()>();
<org.fusesource.hawtbuf.codec.VarIntegerCodec: org.fusesource.hawtbuf.codec.VarIntegerCodec INSTANCE> = v;
return;
}
}