final class org.glassfish.grizzly.http.hpack.IntegerReader extends java.lang.Object
{
private static final byte NEW;
private static final byte CONFIGURED;
private static final byte FIRST_BYTE_READ;
private static final byte DONE;
private byte state;
private int N;
private int maxValue;
private int value;
private long r;
private long b;
void <init>()
{
org.glassfish.grizzly.http.hpack.IntegerReader v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 0;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b> = 1L;
return;
}
public org.glassfish.grizzly.http.hpack.IntegerReader configure(int)
{
int v;
org.glassfish.grizzly.http.hpack.IntegerReader v, v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.hpack.IntegerReader: org.glassfish.grizzly.http.hpack.IntegerReader configure(int,int)>(v, 2147483647);
return v;
}
public org.glassfish.grizzly.http.hpack.IntegerReader configure(int, int)
{
java.lang.IllegalStateException v;
byte v;
org.glassfish.grizzly.http.hpack.IntegerReader v;
int v, v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
v := @parameter: int;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Already configured");
throw v;
label:
staticinvoke <org.glassfish.grizzly.http.hpack.IntegerReader: void checkPrefix(int)>(v);
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("maxValue >= 0: maxValue=\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<org.glassfish.grizzly.http.hpack.IntegerReader: int maxValue> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: int N> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 1;
return v;
}
public boolean read(org.glassfish.grizzly.Buffer)
{
java.lang.IllegalStateException v;
java.lang.Integer v, v, v, v;
byte v, v, v, v, v, v, v, v, v;
java.lang.Long v, v, v;
java.lang.InternalError v;
java.lang.Byte v;
boolean v, v;
org.glassfish.grizzly.Buffer v;
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v;
short v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
org.glassfish.grizzly.http.hpack.IntegerReader v;
java.lang.IllegalArgumentException v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
v := @parameter: org.glassfish.grizzly.Buffer;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Configure first");
throw v;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v != 4 goto label;
return 1;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v != 1 goto label;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int N>;
v = v - 1;
v = 2 << v;
v = v - 1;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get()>();
v = v & v;
if v == v goto label;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: int value> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 4;
return 1;
label:
v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 2;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v != 2 goto label;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get()>();
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b>;
v = v & 127;
v = v * v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r>;
v = v + v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int maxValue>;
v = v cmp v;
if v <= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = newarray (java.lang.Object)[2];
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int maxValue>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r>;
v = v + v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Integer overflow: maxValue=%,d, value=%,d", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r>;
v = v + v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r> = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b>;
v = v * 128L;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b> = v;
v = 128 & v;
if v == 128 goto label;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r>;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: int value> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 4;
return 1;
label:
v = new java.lang.InternalError;
v = newarray (java.lang.Object)[6];
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int N>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int maxValue>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int value>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[3] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long r>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[4] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[5] = v;
v = staticinvoke <java.util.Arrays: java.lang.String toString(java.lang.Object[])>(v);
specialinvoke v.<java.lang.InternalError: void <init>(java.lang.String)>(v);
throw v;
}
public int get() throws java.lang.IllegalStateException
{
java.lang.IllegalStateException v;
byte v;
org.glassfish.grizzly.http.hpack.IntegerReader v;
int v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state>;
if v == 4 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Has not been fully read yet");
throw v;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerReader: int value>;
return v;
}
private static void checkPrefix(int)
{
int v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @parameter: int;
if v < 1 goto label;
if v <= 8 goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("1 <= N <= 8: N= \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public org.glassfish.grizzly.http.hpack.IntegerReader reset()
{
org.glassfish.grizzly.http.hpack.IntegerReader v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerReader;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: long b> = 1L;
v.<org.glassfish.grizzly.http.hpack.IntegerReader: byte state> = 0;
return v;
}
}