public class org.glassfish.grizzly.compression.zip.GZipDecoder extends org.glassfish.grizzly.AbstractTransformer
{
private static final int GZIP_MAGIC;
private static final int FTEXT;
private static final int FHCRC;
private static final int FEXTRA;
private static final int FNAME;
private static final int FCOMMENT;
private final int bufferSize;
public void <init>()
{
org.glassfish.grizzly.compression.zip.GZipDecoder v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: void <init>(int)>(512);
return;
}
public void <init>(int)
{
int v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: int;
specialinvoke v.<org.glassfish.grizzly.AbstractTransformer: void <init>()>();
v.<org.glassfish.grizzly.compression.zip.GZipDecoder: int bufferSize> = v;
return;
}
public java.lang.String getName()
{
org.glassfish.grizzly.compression.zip.GZipDecoder v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
return "gzip-decoder";
}
public boolean hasInputRemaining(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer)
{
org.glassfish.grizzly.compression.zip.GZipDecoder v;
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.Buffer v;
boolean v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
return v;
}
protected org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState createStateObject()
{
org.glassfish.grizzly.compression.zip.GZipDecoder v;
org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v = new org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState;
specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void <init>()>();
return v;
}
protected org.glassfish.grizzly.TransformationResult transformImpl(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer) throws org.glassfish.grizzly.TransformationException
{
org.glassfish.grizzly.AbstractTransformer$LastResultAwareState v;
org.glassfish.grizzly.attributes.AttributeStorage v;
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.TransformationResult v, v, v;
boolean v, v, v, v, v, v, v;
org.glassfish.grizzly.Buffer v, v, v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus v, v, v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.attributes.AttributeStorage;
v := @parameter: org.glassfish.grizzly.Buffer;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: org.glassfish.grizzly.memory.MemoryManager obtainMemoryManager(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: org.glassfish.grizzly.AbstractTransformer$LastResultAwareState obtainStateObject(org.glassfish.grizzly.attributes.AttributeStorage)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: boolean isInitialized()>();
if v != 0 goto label;
v = specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: boolean initializeInput(org.glassfish.grizzly.Buffer,org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)>(v, v);
if v != 0 goto label;
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createIncompletedResult(java.lang.Object)>(v);
return v;
label:
v = null;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus getDecodeStatus()>();
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus PAYLOAD>;
if v != v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: org.glassfish.grizzly.Buffer decodeBuffer(org.glassfish.grizzly.memory.MemoryManager,org.glassfish.grizzly.Buffer,org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)>(v, v, v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus getDecodeStatus()>();
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus TRAILER>;
if v != v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: boolean decodeTrailer(org.glassfish.grizzly.Buffer,org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)>(v, v);
if v == 0 goto label;
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus DONE>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setInitialized(boolean)>(0);
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == null goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
label:
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createIncompletedResult(java.lang.Object)>(v);
return v;
label:
v = v;
if v == 0 goto label;
v = v;
goto label;
label:
v = null;
label:
v = staticinvoke <org.glassfish.grizzly.TransformationResult: org.glassfish.grizzly.TransformationResult createCompletedResult(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
private org.glassfish.grizzly.Buffer decodeBuffer(org.glassfish.grizzly.memory.MemoryManager, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.glassfish.grizzly.memory.MemoryManager v;
java.util.zip.Inflater v;
java.nio.ByteBuffer v, v;
boolean v, v, v;
org.glassfish.grizzly.Buffer v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus v;
org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState v;
java.lang.Object[] v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.zip.DataFormatException v;
java.lang.String v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
org.glassfish.grizzly.memory.ByteBufferArray v;
java.util.zip.CRC32 v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.memory.MemoryManager;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.Inflater getInflater()>();
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.memory.ByteBufferArray toByteBufferArray()>();
v = virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: java.lang.Object[] getArray()>();
v = virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: int size()>();
v = null;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasArray()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int arrayOffset()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
goto label;
label:
v = newarray (byte)[v];
v = 0;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[])>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v - v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(v);
label:
virtualinvoke v.<java.util.zip.Inflater: void setInput(byte[],int,int)>(v, v, v);
label:
v = v.<org.glassfish.grizzly.compression.zip.GZipDecoder: int bufferSize>;
v = interfaceinvoke v.<org.glassfish.grizzly.memory.MemoryManager: org.glassfish.grizzly.Buffer allocate(int)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: java.nio.ByteBuffer toByteBuffer()>();
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int arrayOffset()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
label:
v = v.<org.glassfish.grizzly.compression.zip.GZipDecoder: int bufferSize>;
v = virtualinvoke v.<java.util.zip.Inflater: int inflate(byte[],int,int)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void dispose()>();
v = virtualinvoke v.<java.util.zip.DataFormatException: java.lang.String getMessage()>();
v = new java.lang.IllegalStateException;
if v == null goto label;
v = v;
goto label;
label:
v = "Invalid ZLIB data format";
label:
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
if v <= 0 goto label;
virtualinvoke v.<java.util.zip.CRC32: void update(byte[],int,int)>(v, v, v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void trim()>();
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer appendBuffers(org.glassfish.grizzly.memory.MemoryManager,org.glassfish.grizzly.Buffer,org.glassfish.grizzly.Buffer)>(v, v, v);
goto label;
label:
interfaceinvoke v.<org.glassfish.grizzly.Buffer: void dispose()>();
v = virtualinvoke v.<java.util.zip.Inflater: boolean finished()>();
if v != 0 goto label;
v = virtualinvoke v.<java.util.zip.Inflater: boolean needsDictionary()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<java.util.zip.Inflater: int getRemaining()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: void restore()>();
virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: void recycle()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v + v;
v = v - v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus TRAILER>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
return v;
label:
if v > 0 goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: void restore()>();
virtualinvoke v.<org.glassfish.grizzly.memory.ByteBufferArray: void recycle()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v + v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer position(int)>(v);
v = v + 1;
goto label;
label:
return v;
catch java.util.zip.DataFormatException from label to label with label;
}
private boolean initializeInput(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)
{
java.util.zip.Inflater v, v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
java.util.zip.CRC32 v, v, v;
boolean v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.Inflater getInflater()>();
if v != null goto label;
v = new java.util.zip.Inflater;
specialinvoke v.<java.util.zip.Inflater: void <init>(boolean)>(1);
v = new java.util.zip.CRC32;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
virtualinvoke v.<java.util.zip.CRC32: void reset()>();
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setInflater(java.util.zip.Inflater)>(v);
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setCrc32(java.util.zip.CRC32)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus getDecodeStatus()>();
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus DONE>;
if v != v goto label;
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus INITIAL>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
virtualinvoke v.<java.util.zip.Inflater: void reset()>();
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
virtualinvoke v.<java.util.zip.CRC32: void reset()>();
label:
v = specialinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder: boolean parseHeader(org.glassfish.grizzly.Buffer,org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)>(v, v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
virtualinvoke v.<java.util.zip.CRC32: void reset()>();
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setInitialized(boolean)>(1);
return 1;
}
private boolean parseHeader(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState)
{
java.lang.IllegalStateException v, v, v;
int[] v;
boolean v, v, v, v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus v, v, v, v, v, v, v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState v;
long v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
java.util.zip.CRC32 v, v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus getDecodeStatus()>();
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus PAYLOAD>;
if v == v goto label;
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$1: int[] $SwitchMap$org$glassfish$grizzly$compression$zip$GZipDecoder$DecodeStatus>;
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 10 goto label;
return 0;
label:
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUShort(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = (int) 35615;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Not in GZIP format");
throw v;
label:
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
if v == 8 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Unsupported compression method");
throw v;
label:
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setHeaderFlag(int)>(v);
staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: void skipBytes(org.glassfish.grizzly.Buffer,int,java.util.zip.CRC32)>(v, 6, v);
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FEXTRA1>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: int getHeaderFlag()>();
v = v & 4;
if v == 4 goto label;
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FNAME>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
goto label;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 2 goto label;
return 0;
label:
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUShort(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setHeaderParseStateValue(int)>(v);
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FEXTRA2>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: int getHeaderParseStateValue()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= v goto label;
return 0;
label:
staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: void skipBytes(org.glassfish.grizzly.Buffer,int,java.util.zip.CRC32)>(v, v, v);
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setHeaderParseStateValue(int)>(0);
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FNAME>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: int getHeaderFlag()>();
v = v & 8;
if v != 8 goto label;
v = 0;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
if v != 0 goto label;
v = 1;
label:
if v != 0 goto label;
return 0;
label:
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FCOMMENT>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: int getHeaderFlag()>();
v = v & 16;
if v != 16 goto label;
v = 0;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
if v != 0 goto label;
v = 1;
label:
if v != 0 goto label;
return 0;
label:
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus FHCRC>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: int getHeaderFlag()>();
v = v & 2;
if v != 2 goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 2 goto label;
return 0;
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
v = virtualinvoke v.<java.util.zip.CRC32: long getValue()>();
v = (int) 65535;
v = v & v;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUShort(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Corrupt GZIP header");
throw v;
label:
v = <org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus: org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus PAYLOAD>;
virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: void setDecodeStatus(org.glassfish.grizzly.compression.zip.GZipDecoder$DecodeStatus)>(v);
goto label;
label:
return 1;
}
private boolean decodeTrailer(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState) throws org.glassfish.grizzly.TransformationException
{
org.glassfish.grizzly.TransformationException v;
java.util.zip.Inflater v;
org.glassfish.grizzly.Buffer v;
long v, v, v, v, v;
org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState v;
org.glassfish.grizzly.compression.zip.GZipDecoder v;
byte v, v;
int v;
java.util.zip.CRC32 v;
v := @this: org.glassfish.grizzly.compression.zip.GZipDecoder;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 8 goto label;
return 0;
label:
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.Inflater getInflater()>();
v = virtualinvoke v.<org.glassfish.grizzly.compression.zip.GZipDecoder$GZipInputState: java.util.zip.CRC32 getCrc32()>();
v = virtualinvoke v.<java.util.zip.CRC32: long getValue()>();
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: long getUInt(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = v cmp v;
if v != 0 goto label;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: long getUInt(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = virtualinvoke v.<java.util.zip.Inflater: long getBytesWritten()>();
v = v & 4294967295L;
v = v cmp v;
if v == 0 goto label;
label:
v = new org.glassfish.grizzly.TransformationException;
specialinvoke v.<org.glassfish.grizzly.TransformationException: void <init>(java.lang.String)>("Corrupt GZIP trailer");
throw v;
label:
return 1;
}
private static long getUInt(org.glassfish.grizzly.Buffer, java.util.zip.CRC32)
{
int v, v;
java.util.zip.CRC32 v;
org.glassfish.grizzly.Buffer v;
long v, v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: java.util.zip.CRC32;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUShort(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUShort(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = v << 16;
v = v | v;
return v;
}
private static int getUShort(org.glassfish.grizzly.Buffer, java.util.zip.CRC32)
{
int v, v, v, v;
java.util.zip.CRC32 v;
org.glassfish.grizzly.Buffer v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: java.util.zip.CRC32;
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = v << 8;
v = v | v;
return v;
}
private static int getUByte(org.glassfish.grizzly.Buffer, java.util.zip.CRC32)
{
short v;
byte v;
java.util.zip.CRC32 v;
org.glassfish.grizzly.Buffer v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: java.util.zip.CRC32;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get()>();
virtualinvoke v.<java.util.zip.CRC32: void update(int)>(v);
v = v & 255;
return v;
}
private static void skipBytes(org.glassfish.grizzly.Buffer, int, java.util.zip.CRC32)
{
int v, v;
java.util.zip.CRC32 v;
org.glassfish.grizzly.Buffer v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: java.util.zip.CRC32;
v = 0;
label:
if v >= v goto label;
staticinvoke <org.glassfish.grizzly.compression.zip.GZipDecoder: int getUByte(org.glassfish.grizzly.Buffer,java.util.zip.CRC32)>(v, v);
v = v + 1;
goto label;
label:
return;
}
}