public class org.apache.commons.compress.archivers.ar.ArArchiveInputStream extends org.apache.commons.compress.archivers.ArchiveInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.compress.archivers.ar.ArArchiveInputStream
super_class: org.apache.commons.compress.archivers.ArchiveInputStream
{
private final java.io.InputStream input;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long offset;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.compress.archivers.ar.ArArchiveEntry currentEntry;
descriptor: Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
flags: (0x0002) ACC_PRIVATE
private byte[] namebuffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private long entryOffset;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final int NAME_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int NAME_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int LAST_MODIFIED_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int LAST_MODIFIED_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int USER_ID_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 28
private static final int USER_ID_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int GROUP_ID_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 34
private static final int GROUP_ID_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int FILE_MODE_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 40
private static final int FILE_MODE_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int LENGTH_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 48
private static final int LENGTH_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private final byte[] metaData;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.lang.String BSD_LONGNAME_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "#1/"
private static final int BSD_LONGNAME_PREFIX_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String BSD_LONGNAME_PATTERN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "^#1/\\d+"
private static final java.lang.String GNU_STRING_TABLE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "//"
private static final java.lang.String GNU_LONGNAME_PATTERN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "^/\\d+"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "#1/"
invokevirtual java.lang.String.length:()I
1: putstatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.BSD_LONGNAME_PREFIX_LEN:I
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.commons.compress.archivers.ArchiveInputStream.<init>:()V
1: aload 0
lconst_0
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
2: aload 0
aconst_null
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
3: aload 0
aconst_null
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
4: aload 0
ldc -1
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
5: aload 0
6: bipush 58
newarray 8
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
7: aload 0
aload 1
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
8: aload 0
iconst_0
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 10 1 pInput Ljava/io/InputStream;
MethodParameters:
Name Flags
pInput final
public org.apache.commons.compress.archivers.ar.ArArchiveEntry getNextArEntry();
descriptor: ()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=13, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
ifnull 5
1: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveEntry.getLength:()J
ladd
lstore 1
start local 1 2: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
lload 1
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
lsub
invokestatic org.apache.commons.compress.utils.IOUtils.skip:(Ljava/io/InputStream;J)J
lstore 3
start local 3 3: aload 0
lload 3
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
4: aload 0
aconst_null
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
lconst_0
lcmp
ifne 18
6: ldc "!<arch>\n"
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiBytes:(Ljava/lang/String;)[B
astore 1
start local 1 7: aload 1
arraylength
newarray 8
astore 2
start local 2 8: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 2
invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
istore 3
start local 3 9: aload 0
iload 3
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
10: iload 3
aload 1
arraylength
if_icmpeq 12
11: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "failed to read header. Occured at byte: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: byte[] byte[] int
StackMap stack:
iconst_0
istore 4
start local 4 13: goto 17
14: StackMap locals: int
StackMap stack:
aload 1
iload 4
baload
aload 2
iload 4
baload
if_icmpeq 16
15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "invalid header "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
aload 1
arraylength
if_icmplt 14
end local 4 end local 3 end local 2 end local 1 18: StackMap locals: org.apache.commons.compress.archivers.ar.ArArchiveInputStream
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
ldc 2
lrem
lconst_0
lcmp
ifeq 22
19: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
ifge 21
20: aconst_null
areturn
21: StackMap locals:
StackMap stack:
aload 0
lconst_1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
22: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
ifne 24
23: aconst_null
areturn
24: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
istore 1
start local 1 25: aload 0
iload 1
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
26: iload 1
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
arraylength
if_icmpge 28
27: new java.io.IOException
dup
ldc "truncated ar archive"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 28: StackMap locals:
StackMap stack:
ldc "`\n"
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiBytes:(Ljava/lang/String;)[B
astore 1
start local 1 29: aload 1
arraylength
newarray 8
astore 2
start local 2 30: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 2
invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
istore 3
start local 3 31: aload 0
iload 3
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
32: iload 3
aload 1
arraylength
if_icmpeq 34
33: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "failed to read entry trailer. Occured at byte: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: byte[] byte[] int
StackMap stack:
iconst_0
istore 4
start local 4 35: goto 39
36: StackMap locals: int
StackMap stack:
aload 1
iload 4
baload
aload 2
iload 4
baload
if_icmpeq 38
37: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "invalid entry trailer. not read the content? Occured at byte: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBytesRead:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
39: iload 4
aload 1
arraylength
if_icmplt 36
end local 4 end local 3 end local 2 end local 1 40: aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
41: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
iconst_0
bipush 16
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 1
start local 1 42: aload 1
invokestatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isGNUStringTable:(Ljava/lang/String;)Z
ifeq 45
43: aload 0
aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 48
bipush 10
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.readGNUStringTable:([BII)Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
44: aload 0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getNextArEntry:()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
areturn
45: StackMap locals: org.apache.commons.compress.archivers.ar.ArArchiveInputStream java.lang.String
StackMap stack:
aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 48
bipush 10
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asLong:([BII)J
lstore 2
start local 2 46: aload 1
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 49
47: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
48: goto 58
StackMap locals: long
StackMap stack:
49: aload 0
aload 1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isGNULongName:(Ljava/lang/String;)Z
ifeq 53
50: aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 4
start local 4 51: aload 0
iload 4
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getExtendedName:(I)Ljava/lang/String;
astore 1
end local 4 52: goto 58
StackMap locals:
StackMap stack:
53: aload 1
invokestatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.isBSDLongName:(Ljava/lang/String;)Z
ifeq 58
54: aload 0
aload 1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getBSDLongName:(Ljava/lang/String;)Ljava/lang/String;
astore 1
55: aload 1
invokevirtual java.lang.String.length:()I
istore 4
start local 4 56: lload 2
iload 4
i2l
lsub
lstore 2
57: aload 0
dup
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
iload 4
i2l
ladd
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
end local 4 58: StackMap locals:
StackMap stack:
aload 0
new org.apache.commons.compress.archivers.ar.ArArchiveEntry
dup
aload 1
lload 2
59: aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 28
bipush 6
iconst_1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIZ)I
60: aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 34
bipush 6
iconst_1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIZ)I
61: aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 40
bipush 8
bipush 8
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIII)I
62: aload 0
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.metaData:[B
bipush 16
bipush 12
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asLong:([BII)J
invokespecial org.apache.commons.compress.archivers.ar.ArArchiveEntry.<init>:(Ljava/lang/String;JIIIJ)V
63: putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
64: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
2 5 1 entryEnd J
3 5 3 skipped J
7 18 1 expected [B
8 18 2 realized [B
9 18 3 read I
13 18 4 i I
25 28 1 read I
29 40 1 expected [B
30 40 2 realized [B
31 40 3 read I
35 40 4 i I
42 65 1 temp Ljava/lang/String;
46 65 2 len J
51 52 4 off I
56 58 4 nameLen I
Exceptions:
throws java.io.IOException
private java.lang.String getExtendedName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
ifnonnull 2
1: new java.io.IOException
dup
ldc "Cannot process GNU long filename as no // record was found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
istore 2
start local 2 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
iload 2
baload
bipush 10
if_icmpeq 5
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
iload 2
baload
ifne 8
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
iload 2
iconst_1
isub
baload
bipush 47
if_icmpne 7
6: iinc 2 -1
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
iload 1
iload 2
iload 1
isub
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
arraylength
if_icmplt 4
end local 2 10: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to read entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 11 1 offset I
3 10 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
offset final
private long asLong(byte[], int, int);
descriptor: ([BII)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 1 1 byteArray [B
0 1 2 offset I
0 1 3 len I
MethodParameters:
Name Flags
byteArray final
offset
len
private int asInt(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
bipush 10
iconst_0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 1 1 byteArray [B
0 1 2 offset I
0 1 3 len I
MethodParameters:
Name Flags
byteArray final
offset
len
private int asInt(byte[], int, int, boolean);
descriptor: ([BIIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
bipush 10
iload 4
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 1 1 byteArray [B
0 1 2 offset I
0 1 3 len I
0 1 4 treatBlankAsZero Z
MethodParameters:
Name Flags
byteArray final
offset
len
treatBlankAsZero final
private int asInt(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
iload 4
iconst_0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BIIIZ)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 1 1 byteArray [B
0 1 2 offset I
0 1 3 len I
0 1 4 base I
MethodParameters:
Name Flags
byteArray final
offset
len
base final
private int asInt(byte[], int, int, int, boolean);
descriptor: ([BIIIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
iload 2
iload 3
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([BII)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 6
start local 6 1: aload 6
invokevirtual java.lang.String.length:()I
ifne 3
iload 5
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 6
iload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 4 1 byteArray [B
0 4 2 offset I
0 4 3 len I
0 4 4 base I
0 4 5 treatBlankAsZero Z
1 4 6 string Ljava/lang/String;
MethodParameters:
Name Flags
byteArray final
offset
len
base final
treatBlankAsZero final
public org.apache.commons.compress.archivers.ArchiveEntry getNextEntry();
descriptor: ()Lorg/apache/commons/compress/archivers/ArchiveEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.getNextArEntry:()Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
ifne 3
1: aload 0
iconst_1
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.closed:Z
2: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
3: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "No current ar entry"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 3: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.entryOffset:J
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.currentEntry:Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveEntry.getLength:()J
ladd
lstore 5
start local 5 4: iload 3
ifle 7
lload 5
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
lcmp
ifle 7
5: iload 3
i2l
lload 5
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
lsub
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 4
6: goto 8
7: StackMap locals: int long
StackMap stack:
iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 1
iload 2
iload 4
invokevirtual java.io.InputStream.read:([BII)I
istore 7
start local 7 9: aload 0
iload 7
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
10: iload 7
ireturn
end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 11 1 b [B
0 11 2 off I
0 11 3 len I
3 11 4 toRead I
4 11 5 entryEnd J
9 11 7 ret I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len final
public static boolean matches(byte[], int);
descriptor: ([BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 8
if_icmplt 6
aload 0
iconst_0
baload
bipush 33
if_icmpne 6
1: aload 0
iconst_1
baload
bipush 60
if_icmpne 6
aload 0
iconst_2
baload
bipush 97
if_icmpne 6
2: aload 0
iconst_3
baload
bipush 114
if_icmpne 6
aload 0
iconst_4
baload
bipush 99
if_icmpne 6
3: aload 0
iconst_5
baload
bipush 104
if_icmpne 6
aload 0
bipush 6
baload
bipush 62
if_icmpne 6
4: aload 0
bipush 7
baload
bipush 10
if_icmpne 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 signature [B
0 7 1 length I
MethodParameters:
Name Flags
signature final
length final
private static boolean isBSDLongName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
ldc "^#1/\\d+"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
private java.lang.String getBSDLongName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.apache.commons.compress.archivers.ar.ArArchiveInputStream.BSD_LONGNAME_PREFIX_LEN:I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
1: istore 2
start local 2 2: iload 2
newarray 8
astore 3
start local 3 3: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 3
invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[B)I
istore 4
start local 4 4: aload 0
iload 4
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
5: iload 4
iload 2
if_icmpeq 7
6: new java.io.EOFException
dup
invokespecial java.io.EOFException.<init>:()V
athrow
7: StackMap locals: int byte[] int
StackMap stack:
aload 3
invokestatic org.apache.commons.compress.utils.ArchiveUtils.toAsciiString:([B)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 8 1 bsdLongName Ljava/lang/String;
2 8 2 nameLen I
3 8 3 name [B
4 8 4 read I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bsdLongName final
private static boolean isGNUStringTable(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "//"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
private void trackReadBytes(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.count:(J)V
1: lload 1
lconst_0
lcmp
ifle 3
2: aload 0
dup
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
lload 1
ladd
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.offset:J
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 4 1 read J
MethodParameters:
Name Flags
read final
private org.apache.commons.compress.archivers.ar.ArArchiveEntry readGNUStringTable(byte[], int, int);
descriptor: ([BII)Lorg/apache/commons/compress/archivers/ar/ArArchiveEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.asInt:([BII)I
istore 4
start local 4 1: aload 0
iload 4
newarray 8
putfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
2: aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.input:Ljava/io/InputStream;
aload 0
getfield org.apache.commons.compress.archivers.ar.ArArchiveInputStream.namebuffer:[B
iconst_0
iload 4
invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[BII)I
istore 5
start local 5 3: aload 0
iload 5
i2l
invokevirtual org.apache.commons.compress.archivers.ar.ArArchiveInputStream.trackReadBytes:(J)V
4: iload 5
iload 4
if_icmpeq 8
5: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to read complete // record: expected="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " read="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int int
StackMap stack:
new org.apache.commons.compress.archivers.ar.ArArchiveEntry
dup
ldc "//"
iload 4
i2l
invokespecial org.apache.commons.compress.archivers.ar.ArArchiveEntry.<init>:(Ljava/lang/String;J)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 9 1 length [B
0 9 2 offset I
0 9 3 len I
1 9 4 bufflen I
3 9 5 read I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
length final
offset final
len final
private boolean isGNULongName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
ldc "^/\\d+"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/compress/archivers/ar/ArArchiveInputStream;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name final
}
SourceFile: "ArArchiveInputStream.java"