public final class org.wildfly.common.archive.Archive extends java.lang.Object implements java.io.Closeable
{
public static final int GP_ENCRYPTED;
public static final int GP_IMPLODE_8K_DICTIONARY;
public static final int GP_IMPLODE_3_TREES;
public static final int GP_DEFLATE_COMP_OPT_MASK;
public static final int GP_DEFLATE_COMP_OPT_NORMAL;
public static final int GP_DEFLATE_COMP_OPT_MAXIMUM;
public static final int GP_DEFLATE_COMP_OPT_FAST;
public static final int GP_DEFLATE_COMP_OPT_SUPER_FAST;
public static final int GP_LZMA_EOS_USED;
public static final int GP_LATE_SIZES;
public static final int GP_COMPRESSED_PATCHED;
public static final int GP_STRONG_ENCRYPTION;
public static final int GP_UTF_8;
public static final int GP_CD_MASKED;
public static final int METHOD_STORED;
public static final int METHOD_SHRINK;
public static final int METHOD_REDUCE_1;
public static final int METHOD_REDUCE_2;
public static final int METHOD_REDUCE_3;
public static final int METHOD_REDUCE_4;
public static final int METHOD_IMPLODE;
public static final int METHOD_DEFLATE;
public static final int METHOD_DEFLATE64;
public static final int METHOD_BZIP2;
public static final int METHOD_LZMA;
public static final int MADE_BY_MS_DOS;
public static final int MADE_BY_UNIX;
public static final int MADE_BY_NTFS;
public static final int MADE_BY_OS_X;
public static final int SIG_LH;
public static final int LH_SIGNATURE;
public static final int LH_MIN_VERSION;
public static final int LH_GP_BITS;
public static final int LH_COMP_METHOD;
public static final int LH_MOD_TIME;
public static final int LH_MOD_DATE;
public static final int LH_CRC_32;
public static final int LH_COMPRESSED_SIZE;
public static final int LH_UNCOMPRESSED_SIZE;
public static final int LH_FILE_NAME_LENGTH;
public static final int LH_EXTRA_LENGTH;
public static final int LH_END;
public static final int SIG_DD;
public static final int DD_SIGNATURE;
public static final int DD_CRC_32;
public static final int DD_COMPRESSED_SIZE;
public static final int DD_UNCOMPRESSED_SIZE;
public static final int DD_END;
public static final int DD_ZIP64_COMPRESSED_SIZE;
public static final int DD_ZIP64_UNCOMPRESSED_SIZE;
public static final int DD_ZIP64_END;
public static final int SIG_CDE;
public static final int CDE_SIGNATURE;
public static final int CDE_VERSION_MADE_BY;
public static final int CDE_VERSION_NEEDED;
public static final int CDE_GP_BITS;
public static final int CDE_COMP_METHOD;
public static final int CDE_MOD_TIME;
public static final int CDE_MOD_DATE;
public static final int CDE_CRC_32;
public static final int CDE_COMPRESSED_SIZE;
public static final int CDE_UNCOMPRESSED_SIZE;
public static final int CDE_FILE_NAME_LENGTH;
public static final int CDE_EXTRA_LENGTH;
public static final int CDE_COMMENT_LENGTH;
public static final int CDE_FIRST_DISK_NUMBER;
public static final int CDE_INTERNAL_ATTRIBUTES;
public static final int CDE_EXTERNAL_ATTRIBUTES;
public static final int CDE_LOCAL_HEADER_OFFSET;
public static final int CDE_END;
public static final int SIG_EOCD;
public static final int EOCD_SIGNATURE;
public static final int EOCD_DISK_NUMBER;
public static final int EOCD_CD_FIRST_DISK_NUMBER;
public static final int EOCD_CDE_COUNT_THIS_DISK;
public static final int EOCD_CDE_COUNT_ALL;
public static final int EOCD_CD_SIZE;
public static final int EOCD_CD_START_OFFSET;
public static final int EOCD_COMMENT_LENGTH;
public static final int EOCD_END;
public static final int EXT_ID_ZIP64;
public static final int ZIP64_UNCOMPRESSED_SIZE;
public static final int ZIP64_COMPRESSED_SIZE;
public static final int ZIP64_LOCAL_HEADER_OFFSET;
public static final int ZIP64_FIRST_DISK_NUMBER;
public static final int ZIP64_END;
public static final int EXT_ID_UNIX;
public static final int UNIX_ACCESS_TIME;
public static final int UNIX_MODIFIED_TIME;
public static final int UNIX_UID;
public static final int UNIX_GID;
public static final int UNIX_END;
public static final int UNIX_DEV_MAJOR;
public static final int UNIX_DEV_MINOR;
public static final int UNIX_DEV_END;
public static final int SIG_EOCD_ZIP64;
public static final int EOCD_ZIP64_SIGNATURE;
public static final int EOCD_ZIP64_SIZE;
public static final int EOCD_ZIP64_VERSION_MADE_BY;
public static final int EOCD_ZIP64_VERSION_NEEDED;
public static final int EOCD_ZIP64_DISK_NUMBER;
public static final int EOCD_ZIP64_CD_FIRST_DISK_NUMBER;
public static final int EOCD_ZIP64_CDE_COUNT_THIS_DISK;
public static final int EOCD_ZIP64_CDE_COUNT_ALL;
public static final int EOCD_ZIP64_CD_SIZE;
public static final int EOCD_ZIP64_CD_START_OFFSET;
public static final int EOCD_ZIP64_END;
public static final int SIG_EOCDL_ZIP64;
public static final int EOCDL_ZIP64_SIGNATURE;
public static final int EOCDL_ZIP64_EOCD_DISK_NUMBER;
public static final int EOCDL_ZIP64_EOCD_OFFSET;
public static final int EOCDL_ZIP64_DISK_COUNT;
public static final int EOCDL_ZIP64_END;
private static final int BUF_SIZE_MAX;
private static final int BUF_SHIFT;
private static final int BUF_SIZE_MASK;
private final java.nio.ByteBuffer[] bufs;
private final long offset;
private final long length;
private final long cd;
private final org.wildfly.common.archive.Index index;
private static final java.nio.ByteBuffer EMPTY_BUF;
private void <init>(java.nio.ByteBuffer[], long, long, long, org.wildfly.common.archive.Index)
{
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Archive v;
org.wildfly.common.archive.Index v;
long v, v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v := @parameter: org.wildfly.common.archive.Index;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs> = v;
v.<org.wildfly.common.archive.Archive: long offset> = v;
v.<org.wildfly.common.archive.Archive: long length> = v;
v.<org.wildfly.common.archive.Archive: long cd> = v;
v.<org.wildfly.common.archive.Archive: org.wildfly.common.archive.Index index> = v;
return;
}
public static org.wildfly.common.archive.Archive open(java.nio.file.Path) throws java.io.IOException
{
java.lang.Throwable v;
long v, v, v, v;
java.nio.channels.FileChannel$MapMode v, v;
byte v;
java.nio.file.OpenOption[] v;
int v, v, v, v;
java.nio.file.Path v;
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Archive v;
java.nio.file.StandardOpenOption v;
java.nio.ByteOrder v, v;
java.nio.channels.FileChannel v;
java.nio.MappedByteBuffer v, v, v, v;
v := @parameter: java.nio.file.Path;
v = newarray (java.nio.file.OpenOption)[1];
v = <java.nio.file.StandardOpenOption: java.nio.file.StandardOpenOption READ>;
v[0] = v;
v = staticinvoke <java.nio.channels.FileChannel: java.nio.channels.FileChannel open(java.nio.file.Path,java.nio.file.OpenOption[])>(v, v);
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long size()>();
v = v + 1073741823L;
v = <org.wildfly.common.archive.Archive: int BUF_SHIFT>;
v = v >> v;
v = staticinvoke <java.lang.Math: int toIntExact(long)>(v);
v = newarray (java.nio.ByteBuffer)[v];
v = 0L;
v = 0;
label:
v = v cmp 1073741823L;
if v <= 0 goto label;
v = v;
v = v + 1;
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
v = virtualinvoke v.<java.nio.channels.FileChannel: java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode,long,long)>(v, v, 1073741824L);
v = <java.nio.ByteOrder: java.nio.ByteOrder LITTLE_ENDIAN>;
v = virtualinvoke v.<java.nio.MappedByteBuffer: java.nio.MappedByteBuffer order(java.nio.ByteOrder)>(v);
v[v] = v;
v = v - 1073741824L;
v = v + 1073741824L;
goto label;
label:
v = <java.nio.channels.FileChannel$MapMode: java.nio.channels.FileChannel$MapMode READ_ONLY>;
v = virtualinvoke v.<java.nio.channels.FileChannel: java.nio.MappedByteBuffer map(java.nio.channels.FileChannel$MapMode,long,long)>(v, v, v);
v = <java.nio.ByteOrder: java.nio.ByteOrder LITTLE_ENDIAN>;
v = virtualinvoke v.<java.nio.MappedByteBuffer: java.nio.MappedByteBuffer order(java.nio.ByteOrder)>(v);
v[v] = v;
v = staticinvoke <org.wildfly.common.archive.Archive: org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[])>(v);
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
public static org.wildfly.common.archive.Archive open(java.nio.ByteBuffer) throws java.io.IOException
{
java.nio.ByteBuffer[] v;
java.nio.ByteOrder v, v, v;
org.wildfly.common.archive.Archive v;
java.nio.ByteBuffer v, v;
v := @parameter: java.nio.ByteBuffer;
staticinvoke <org.wildfly.common.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("buf", v);
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteOrder order()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder BIG_ENDIAN>;
if v != v goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
v = <java.nio.ByteOrder: java.nio.ByteOrder LITTLE_ENDIAN>;
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer order(java.nio.ByteOrder)>(v);
label:
v = newarray (java.nio.ByteBuffer)[1];
v[0] = v;
v = staticinvoke <org.wildfly.common.archive.Archive: org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[])>(v);
return v;
}
static org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[]) throws java.io.IOException
{
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Archive v;
long v;
v := @parameter: java.nio.ByteBuffer[];
v = staticinvoke <org.wildfly.common.archive.Archive: long capacity(java.nio.ByteBuffer[])>(v);
v = staticinvoke <org.wildfly.common.archive.Archive: org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[],long,long)>(v, 0L, v);
return v;
}
static org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[], long, long) throws java.io.IOException
{
org.wildfly.common.archive.TinyIndex v;
byte v, v, v, v, v, v, v, v, v;
org.wildfly.common.archive.LargeIndex v;
long 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, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v, v, v, v, v;
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Index v;
org.wildfly.common.archive.HugeIndex v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.wildfly.common.archive.Archive v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: long;
v = v - 22L;
label:
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 101010256L;
if v == 0 goto label;
v = v cmp 0L;
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Invalid archive");
throw v;
label:
v = v - 1L;
goto label;
label:
v = v + v;
v = v + 10L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v + 6L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
if v != 0 goto label;
v = v + v;
v = v + 4L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
if v != 0 goto label;
v = v + v;
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
if v == v goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Multi-disk archives are not supported");
throw v;
label:
v = v - 20L;
v = -1L;
v = v + v;
v = v + 0L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
if v != 117853008 goto label;
v = v + v;
v = v + 16L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
if v != 1 goto label;
v = v + v;
v = v + 4L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
if v == 0 goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Multi-disk archives are not supported");
throw v;
label:
v = v + v;
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getLong(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v + 0L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 101075792L;
if v == 0 goto label;
v = -1L;
label:
v = v + v;
v = v + 16L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 4294967295L;
if v != 0 goto label;
v = v cmp -1L;
if v == 0 goto label;
v = v + v;
v = v + 44L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getLong(java.nio.ByteBuffer[],long)>(v, v);
label:
v = (int) 65535;
if v != v goto label;
v = v cmp -1L;
if v == 0 goto label;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 134217727L;
if v <= 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Archive has too many entries");
throw v;
label:
v = v cmp 65534L;
if v > 0 goto label;
v = new org.wildfly.common.archive.TinyIndex;
specialinvoke v.<org.wildfly.common.archive.TinyIndex: void <init>(int)>(v);
v = v;
goto label;
label:
v = v cmp 68719476734L;
if v > 0 goto label;
v = new org.wildfly.common.archive.LargeIndex;
specialinvoke v.<org.wildfly.common.archive.LargeIndex: void <init>(int)>(v);
v = v;
goto label;
label:
v = new org.wildfly.common.archive.HugeIndex;
specialinvoke v.<org.wildfly.common.archive.HugeIndex: void <init>(int)>(v);
v = v;
label:
v = virtualinvoke v.<org.wildfly.common.archive.Index: int getMask()>();
v = v;
v = 0;
label:
if v >= v goto label;
v = v + v;
v = v + 0L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
if v == 33639248 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Archive appears to be corrupted");
throw v;
label:
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getHashCodeOfEntry(java.nio.ByteBuffer[],long)>(v, v);
v = v & v;
virtualinvoke v.<org.wildfly.common.archive.Index: void put(int,long)>(v, v);
v = v + 46L;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v + v;
v = v + 30L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v + v;
v = v + 32L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v + 1;
goto label;
label:
v = new org.wildfly.common.archive.Archive;
specialinvoke v.<org.wildfly.common.archive.Archive: void <init>(java.nio.ByteBuffer[],long,long,long,org.wildfly.common.archive.Index)>(v, v, v, v, v);
return v;
}
private static java.lang.String getNameOfEntry(java.nio.ByteBuffer[], long)
{
byte[] v;
long v, v, v, v, v;
java.nio.charset.Charset v;
int v, v, v, v, v;
java.lang.String v, v;
boolean v;
java.nio.ByteBuffer[] v;
char v;
char[] v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = v + 46L;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 2048;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = new java.lang.String;
v = staticinvoke <org.wildfly.common.archive.Archive: byte[] getBytes(java.nio.ByteBuffer[],long,int)>(v, v, v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
return v;
label:
v = newarray (char)[v];
v = 0;
label:
if v >= v goto label;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive$Cp437: char charFor(int)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
return v;
}
private static int getHashCodeOfEntry(java.nio.ByteBuffer[], long)
{
long v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.nio.ByteBuffer[] v;
char v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = v + 46L;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 2048;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = 0;
if v == 0 goto label;
v = 0;
label:
if v >= v goto label;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive$Utf8: int codePointAt(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <java.lang.Character: boolean isSupplementaryCodePoint(int)>(v);
if v == 0 goto label;
v = v * 31;
v = staticinvoke <java.lang.Character: char highSurrogate(int)>(v);
v = v + v;
v = v * 31;
v = staticinvoke <java.lang.Character: char lowSurrogate(int)>(v);
v = v + v;
goto label;
label:
v = v * 31;
v = v + v;
label:
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive$Utf8: int getByteCount(int)>(v);
v = v + v;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = v * 31;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive$Cp437: char charFor(int)>(v);
v = v + v;
v = v + 1;
goto label;
label:
return v;
}
public long getFirstEntryHandle()
{
org.wildfly.common.archive.Archive v;
long v;
v := @this: org.wildfly.common.archive.Archive;
v = v.<org.wildfly.common.archive.Archive: long cd>;
return v;
}
public long getNextEntryHandle(long)
{
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v;
int v, v, v;
java.nio.ByteBuffer[] v, v, v;
org.wildfly.common.archive.Archive v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v + 46L;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 30L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v.<org.wildfly.common.archive.Archive: long length>;
v = v cmp v;
if v >= 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 0L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
if v == 33639248 goto label;
label:
return -1L;
label:
return v;
}
public long getEntryHandle(java.lang.String)
{
org.wildfly.common.archive.Archive v;
org.wildfly.common.archive.Index v, v;
long v;
byte v;
int v, v, v, v, v;
java.lang.String v;
boolean v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: java.lang.String;
v = v.<org.wildfly.common.archive.Archive: org.wildfly.common.archive.Index index>;
v = virtualinvoke v.<org.wildfly.common.archive.Index: int getMask()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
v = 0;
label:
if v >= v goto label;
v = v.<org.wildfly.common.archive.Archive: org.wildfly.common.archive.Index index>;
v = v + v;
v = v & v;
v = virtualinvoke v.<org.wildfly.common.archive.Index: long get(int)>(v);
v = v cmp -1L;
if v != 0 goto label;
return -1L;
label:
v = virtualinvoke v.<org.wildfly.common.archive.Archive: boolean entryNameEquals(long,java.lang.String)>(v, v);
if v == 0 goto label;
return v;
label:
v = v + 1;
goto label;
label:
return -1L;
}
public boolean entryNameEquals(long, java.lang.String)
{
byte v, v;
boolean v, v, v;
java.nio.ByteBuffer[] v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
org.wildfly.common.archive.Archive v;
char v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v := @parameter: java.lang.String;
v = v + 46L;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 2048;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = 0L;
v = 0;
label:
v = v cmp v;
if v >= 0 goto label;
if v >= v goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive$Utf8: int codePointAt(java.nio.ByteBuffer[],long)>(v, v);
v = virtualinvoke v.<java.lang.String: int codePointAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive$Utf8: int getByteCount(int)>(v);
v = v + v;
v = virtualinvoke v.<java.lang.String: int offsetByCodePoints(int,int)>(v, 1);
goto label;
label:
v = v cmp v;
if v != 0 goto label;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = 0;
v = 0;
label:
if v >= v goto label;
if v >= v goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + v;
v = v + 46L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive$Cp437: char charFor(int)>(v);
v = virtualinvoke v.<java.lang.String: int codePointAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: int offsetByCodePoints(int,int)>(v, 1);
goto label;
label:
if v != v goto label;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private long getLocalHeader(long)
{
java.nio.ByteBuffer[] v, v;
org.wildfly.common.archive.Archive v;
long v, v, v, v, v, v, v, v, v;
byte v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 42L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 4294967295L;
if v != 0 goto label;
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getExtraRecord(long,int)>(v, 1);
v = v cmp -1L;
if v == 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 16L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getLong(java.nio.ByteBuffer[],long)>(v, v);
label:
return v;
}
public java.lang.String getEntryName(long)
{
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Archive v;
long v;
java.lang.String v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = staticinvoke <org.wildfly.common.archive.Archive: java.lang.String getNameOfEntry(java.nio.ByteBuffer[],long)>(v, v);
return v;
}
public java.nio.ByteBuffer getEntryContents(long) throws java.io.IOException
{
java.lang.Throwable v;
java.util.zip.Inflater v;
long v, v, v, v, v, v, v, v, v, v, v, v;
java.nio.ByteBuffer v, v;
byte v, v;
int v, v, v;
java.util.zip.DataFormatException v;
java.nio.ByteBuffer[] v, v, v;
org.wildfly.common.archive.Archive v;
java.io.IOException v, v, v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = virtualinvoke v.<org.wildfly.common.archive.Archive: long getUncompressedSize(long)>(v);
v = virtualinvoke v.<org.wildfly.common.archive.Archive: long getCompressedSize(long)>(v);
v = v cmp 268435456L;
if v > 0 goto label;
v = v cmp 268435456L;
if v <= 0 goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Entry is too large to read into RAM");
throw v;
label:
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getLocalHeader(long)>(v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 6L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 65;
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot read encrypted entries");
throw v;
label:
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getDataOffset(long)>(v);
v = specialinvoke v.<org.wildfly.common.archive.Archive: int getCompressionMethod(long)>(v);
lookupswitch(v)
{
case 0: goto label;
case 8: goto label;
default: goto label;
};
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: java.nio.ByteBuffer bufferOf(java.nio.ByteBuffer[],long,int)>(v, v, v);
return v;
label:
v = new java.util.zip.Inflater;
specialinvoke v.<java.util.zip.Inflater: void <init>(boolean)>(1);
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.JDKSpecific: java.nio.ByteBuffer inflate(java.util.zip.Inflater,java.nio.ByteBuffer[],long,int,int)>(v, v, v, v, v);
label:
virtualinvoke v.<java.util.zip.Inflater: void end()>();
return v;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.util.zip.Inflater: void end()>();
throw v;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Unsupported compression scheme");
throw v;
catch java.util.zip.DataFormatException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private long getDataOffset(long)
{
java.nio.ByteBuffer[] v, v;
org.wildfly.common.archive.Archive v;
long v, v, v, v, v, v, v, v, v, v;
int v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v + 30L;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 26L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
return v;
}
public java.io.InputStream getEntryStream(long) throws java.io.IOException
{
java.util.zip.InflaterInputStream v;
long v, v, v, v, v, v, v, v, v, v, v;
int v, v, v;
org.wildfly.common.archive.ByteBufferInputStream v, v;
java.nio.ByteBuffer[] v, v, v;
org.wildfly.common.archive.Archive v;
java.io.IOException v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = virtualinvoke v.<org.wildfly.common.archive.Archive: long getCompressedSize(long)>(v);
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getLocalHeader(long)>(v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 6L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 65;
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot read encrypted entries");
throw v;
label:
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getDataOffset(long)>(v);
v = specialinvoke v.<org.wildfly.common.archive.Archive: int getCompressionMethod(long)>(v);
lookupswitch(v)
{
case 0: goto label;
case 8: goto label;
default: goto label;
};
label:
v = new org.wildfly.common.archive.ByteBufferInputStream;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
specialinvoke v.<org.wildfly.common.archive.ByteBufferInputStream: void <init>(java.nio.ByteBuffer[],long,long)>(v, v, v);
return v;
label:
v = new java.util.zip.InflaterInputStream;
v = new org.wildfly.common.archive.ByteBufferInputStream;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
specialinvoke v.<org.wildfly.common.archive.ByteBufferInputStream: void <init>(java.nio.ByteBuffer[],long,long)>(v, v, v);
specialinvoke v.<java.util.zip.InflaterInputStream: void <init>(java.io.InputStream)>(v);
return v;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Unsupported compression scheme");
throw v;
}
public org.wildfly.common.archive.Archive getNestedArchive(long) throws java.io.IOException
{
long v, v, v, v, v, v, v, v, v, v, v;
java.nio.ByteBuffer v;
byte v;
int v, v, v;
java.nio.ByteBuffer[] v, v, v;
org.wildfly.common.archive.Archive v, v, v;
java.io.IOException v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getLocalHeader(long)>(v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 6L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v & 65;
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot read encrypted entries");
throw v;
label:
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getDataOffset(long)>(v);
v = specialinvoke v.<org.wildfly.common.archive.Archive: int getCompressionMethod(long)>(v);
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot open compressed nested archive");
throw v;
label:
v = virtualinvoke v.<org.wildfly.common.archive.Archive: long getUncompressedSize(long)>(v);
v = v cmp 2147483647L;
if v >= 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: java.nio.ByteBuffer sliceOf(java.nio.ByteBuffer[],long,int)>(v, v, v);
if v == null goto label;
v = staticinvoke <org.wildfly.common.archive.Archive: org.wildfly.common.archive.Archive open(java.nio.ByteBuffer)>(v);
return v;
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: org.wildfly.common.archive.Archive open(java.nio.ByteBuffer[],long,long)>(v, v, v);
return v;
}
public boolean isCompressed(long)
{
org.wildfly.common.archive.Archive v;
int v;
long v;
boolean v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = specialinvoke v.<org.wildfly.common.archive.Archive: int getCompressionMethod(long)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private int getCompressionMethod(long)
{
java.nio.ByteBuffer[] v;
org.wildfly.common.archive.Archive v;
int v;
long v, v, v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 10L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
return v;
}
private long getExtraRecord(long, int)
{
java.nio.ByteBuffer[] v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v;
org.wildfly.common.archive.Archive v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v := @parameter: int;
v = v + 46L;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 28L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 32L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 30L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = 0;
label:
if v >= v goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + v;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
if v != v goto label;
v = v + v;
v = v + 4L;
return v;
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + v;
v = v + 2L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + v;
goto label;
label:
return -1L;
}
public long getUncompressedSize(long)
{
java.nio.ByteBuffer[] v, v;
org.wildfly.common.archive.Archive v;
long v, v, v, v, v, v, v, v, v;
byte v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 24L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp -1L;
if v != 0 goto label;
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getExtraRecord(long,int)>(v, 1);
v = v cmp -1L;
if v == 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 0L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getLong(java.nio.ByteBuffer[],long)>(v, v);
label:
return v;
}
public long getCompressedSize(long)
{
java.nio.ByteBuffer[] v, v;
org.wildfly.common.archive.Archive v;
long v, v, v, v, v, v, v, v, v;
byte v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 20L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp -1L;
if v != 0 goto label;
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getExtraRecord(long,int)>(v, 1);
v = v cmp -1L;
if v == 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 8L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getLong(java.nio.ByteBuffer[],long)>(v, v);
label:
return v;
}
public long getModifiedTime(long)
{
long v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v;
int v, v;
java.nio.ByteBuffer[] v, v, v;
org.wildfly.common.archive.Archive v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = specialinvoke v.<org.wildfly.common.archive.Archive: long getExtraRecord(long,int)>(v, 13);
v = v cmp -1L;
if v == 0 goto label;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 4L;
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v cmp 0L;
if v == 0 goto label;
v = v * 1000L;
return v;
label:
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 12L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 14L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = staticinvoke <org.wildfly.common.archive.Archive: long dosTimeStamp(int,int)>(v, v);
return v;
}
public void close()
{
org.wildfly.common.archive.Archive v;
v := @this: org.wildfly.common.archive.Archive;
return;
}
private static long dosTimeStamp(int, int)
{
java.time.LocalDateTime v;
long v;
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.time.ZoneOffset v;
java.time.Instant v;
v := @parameter: int;
v := @parameter: int;
v = v >> 9;
v = 1980 + v;
v = v >> 5;
v = v & 15;
v = 1 + v;
v = v & 31;
v = v >> 11;
v = v >> 5;
v = v & 63;
v = v & 31;
v = v << 1;
v = staticinvoke <java.time.LocalDateTime: java.time.LocalDateTime of(int,int,int,int,int,int)>(v, v, v, v, v, v);
v = <java.time.ZoneOffset: java.time.ZoneOffset UTC>;
v = virtualinvoke v.<java.time.LocalDateTime: java.time.Instant toInstant(java.time.ZoneOffset)>(v);
v = virtualinvoke v.<java.time.Instant: long toEpochMilli()>();
return v;
}
public boolean isDirectory(long)
{
java.nio.ByteBuffer[] v, v;
org.wildfly.common.archive.Archive v;
long v, v, v, v, v;
int v, v, v, v, v;
boolean v, v;
v := @this: org.wildfly.common.archive.Archive;
v := @parameter: long;
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v.<org.wildfly.common.archive.Archive: long offset>;
v = v + v;
v = v + 4L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v.<org.wildfly.common.archive.Archive: java.nio.ByteBuffer[] bufs>;
v = v + 38L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
lookupswitch(v)
{
case 3: goto label;
default: goto label;
};
label:
v = (int) 61440;
v = v & v;
if v != 16384 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v & 16;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static int bufIdx(long)
{
int v;
long v, v;
v := @parameter: long;
v = <org.wildfly.common.archive.Archive: int BUF_SHIFT>;
v = v >>> v;
return v;
}
static int bufOffs(long)
{
int v;
long v;
v := @parameter: long;
v = v & 1073741823;
return v;
}
static byte getByte(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
byte v;
int v, v;
long v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = v[v];
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
return v;
}
static int getUnsignedByte(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
short v;
byte v;
long v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: byte getByte(java.nio.ByteBuffer[],long)>(v, v);
v = v & 255;
return v;
}
static int getUnsignedByte(java.nio.ByteBuffer, int)
{
short v;
byte v;
int v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: int;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
v = v & 255;
return v;
}
static short getShort(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
long v, v, v;
java.nio.ByteBuffer v;
byte v;
int v, v, v, v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = v + 1L;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
if v != v goto label;
v = v[v];
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
virtualinvoke v.<java.nio.ByteBuffer: short getShort(int)>(v);
goto label;
label:
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = v + 1L;
v = staticinvoke <org.wildfly.common.archive.Archive: byte getByte(java.nio.ByteBuffer[],long)>(v, v);
v = v << 8;
v = v | v;
label:
return v;
}
static int getUnsignedShort(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
short v;
int v, v;
long v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: short getShort(java.nio.ByteBuffer[],long)>(v, v);
v = (int) 65535;
v = v & v;
return v;
}
static int getMedium(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
int v, v, v, v;
long v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = v + 1L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v << 8;
v = v | v;
return v;
}
static long getUnsignedMedium(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
int v, v, v, v;
long v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedByte(java.nio.ByteBuffer[],long)>(v, v);
v = v + 1L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v << 8;
v = v | v;
return v;
}
static int getInt(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
long v, v, v;
java.nio.ByteBuffer v;
short v;
int v, v, v, v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = v + 3L;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
if v != v goto label;
v = v[v];
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: int getInt(int)>(v);
goto label;
label:
v = staticinvoke <org.wildfly.common.archive.Archive: int getUnsignedShort(java.nio.ByteBuffer[],long)>(v, v);
v = v + 2L;
v = staticinvoke <org.wildfly.common.archive.Archive: short getShort(java.nio.ByteBuffer[],long)>(v, v);
v = v << 16;
v = v | v;
label:
return v;
}
static long getUnsignedInt(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
int v;
long v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
v = v & 4294967295L;
return v;
}
static long getLong(java.nio.ByteBuffer[], long)
{
java.nio.ByteBuffer[] v;
long v, v, v, v, v, v;
java.nio.ByteBuffer v;
int v, v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = v + 7L;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
if v != v goto label;
v = v[v];
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: long getLong(int)>(v);
goto label;
label:
v = staticinvoke <org.wildfly.common.archive.Archive: long getUnsignedInt(java.nio.ByteBuffer[],long)>(v, v);
v = v + 4L;
v = staticinvoke <org.wildfly.common.archive.Archive: int getInt(java.nio.ByteBuffer[],long)>(v, v);
v = v << 32;
v = v | v;
label:
return v;
}
static void readBytes(java.nio.ByteBuffer[], long, byte[], int, int)
{
byte[] v;
java.nio.ByteBuffer[] v;
long v;
java.nio.ByteBuffer v, v;
int v, v, v, v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
label:
if v <= 0 goto label;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(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 get(byte[],int,int)>(v, 0, v);
v = v - v;
v = v + v;
goto label;
label:
return;
}
static byte[] getBytes(java.nio.ByteBuffer[], long, int)
{
byte[] v;
java.nio.ByteBuffer[] v;
int v;
long v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: int;
v = newarray (byte)[v];
staticinvoke <org.wildfly.common.archive.Archive: void readBytes(java.nio.ByteBuffer[],long,byte[],int,int)>(v, v, v, 0, v);
return v;
}
static java.nio.ByteBuffer sliceOf(java.nio.ByteBuffer[], long, int)
{
java.nio.ByteBuffer[] v;
long v, v, v;
java.nio.ByteBuffer v, v, v, v;
int v, v, v, v, v, v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: int;
if v != 0 goto label;
v = <org.wildfly.common.archive.Archive: java.nio.ByteBuffer EMPTY_BUF>;
return v;
label:
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
v = v + v;
v = v - 1L;
v = staticinvoke <org.wildfly.common.archive.Archive: int bufIdx(long)>(v);
if v != v goto label;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer duplicate()>();
v = staticinvoke <org.wildfly.common.archive.Archive: int bufOffs(long)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer position(int)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: int position()>();
v = v + v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer limit(int)>(v);
v = virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer slice()>();
return v;
label:
return null;
}
static java.nio.ByteBuffer bufferOf(java.nio.ByteBuffer[], long, int)
{
byte[] v;
java.nio.ByteBuffer[] v;
int v;
long v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer[];
v := @parameter: long;
v := @parameter: int;
v = staticinvoke <org.wildfly.common.archive.Archive: java.nio.ByteBuffer sliceOf(java.nio.ByteBuffer[],long,int)>(v, v, v);
if v != null goto label;
v = staticinvoke <org.wildfly.common.archive.Archive: byte[] getBytes(java.nio.ByteBuffer[],long,int)>(v, v, v);
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
label:
return v;
}
static long capacity(java.nio.ByteBuffer[])
{
java.nio.ByteBuffer[] v;
int v, v, v;
long v, v;
java.nio.ByteBuffer v;
v := @parameter: java.nio.ByteBuffer[];
v = lengthof v;
v = v - 1;
v = v * 1073741824L;
v = v[v];
v = virtualinvoke v.<java.nio.ByteBuffer: int capacity()>();
v = v + v;
return v;
}
static void <clinit>()
{
int v;
java.nio.ByteBuffer v;
v = staticinvoke <java.lang.Integer: int numberOfTrailingZeros(int)>(1073741824);
<org.wildfly.common.archive.Archive: int BUF_SHIFT> = v;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocateDirect(int)>(0);
<org.wildfly.common.archive.Archive: java.nio.ByteBuffer EMPTY_BUF> = v;
return;
}
}