class org.apache.commons.compress.archivers.sevenz.CLI$Mode$2 extends org.apache.commons.compress.archivers.sevenz.CLI$Mode
minor version: 0
major version: 59
flags: flags: (0x4020) ACC_SUPER, ACC_ANNOTATION
this_class: org.apache.commons.compress.archivers.sevenz.CLI$Mode$2
super_class: org.apache.commons.compress.archivers.sevenz.CLI$Mode
{
private final byte[] buf;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokespecial org.apache.commons.compress.archivers.sevenz.CLI$Mode.<init>:(Ljava/lang/String;ILjava/lang/String;)V
1: aload 0
sipush 8192
newarray 8
putfield org.apache.commons.compress.archivers.sevenz.CLI$Mode$2.buf:[B
2: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode$2;
0 3 3 $anonymous0 Ljava/lang/String;
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
$anonymous0
public void takeAction(org.apache.commons.compress.archivers.sevenz.SevenZFile, org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry);
descriptor: (Lorg/apache/commons/compress/archivers/sevenz/SevenZFile;Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: new java.io.File
dup
aload 2
invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry.getName:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: aload 2
invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry.isDirectory:()Z
ifeq 6
2: aload 3
invokevirtual java.io.File.isDirectory:()Z
ifne 4
aload 3
invokevirtual java.io.File.mkdirs:()Z
ifne 4
3: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Cannot create directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.io.File
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "created directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: return
6: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "extracting to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 3
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
astore 4
start local 4 8: aload 4
ifnull 10
aload 4
invokevirtual java.io.File.exists:()Z
ifne 10
aload 4
invokevirtual java.io.File.mkdirs:()Z
ifne 10
9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Cannot create "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.io.File
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
11: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 12: aload 2
invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry.getSize:()J
lstore 8
start local 8 13: lconst_0
lstore 10
start local 10 14: goto 26
15: StackMap locals: org.apache.commons.compress.archivers.sevenz.CLI$Mode$2 org.apache.commons.compress.archivers.sevenz.SevenZFile org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream long long
StackMap stack:
lload 8
lload 10
lsub
aload 0
getfield org.apache.commons.compress.archivers.sevenz.CLI$Mode$2.buf:[B
arraylength
i2l
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 12
start local 12 16: aload 1
aload 0
getfield org.apache.commons.compress.archivers.sevenz.CLI$Mode$2.buf:[B
iconst_0
iload 12
invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZFile.read:([BII)I
istore 13
start local 13 17: iload 13
iconst_1
if_icmpge 24
18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "reached end of entry "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 2
invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: ldc " after "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 10
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
21: ldc " bytes, expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: int int
StackMap stack:
lload 10
iload 13
i2l
ladd
lstore 10
25: aload 7
aload 0
getfield org.apache.commons.compress.archivers.sevenz.CLI$Mode$2.buf:[B
iconst_0
iload 13
invokevirtual java.io.FileOutputStream.write:([BII)V
end local 13 end local 12 26: StackMap locals:
StackMap stack:
lload 10
lload 8
lcmp
iflt 15
end local 10 end local 8 27: aload 7
ifnull 33
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 33
StackMap locals: org.apache.commons.compress.archivers.sevenz.CLI$Mode$2 org.apache.commons.compress.archivers.sevenz.SevenZFile org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
28: astore 5
aload 7
ifnull 29
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
29: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 6
aload 5
ifnonnull 31
aload 6
astore 5
goto 32
StackMap locals:
StackMap stack:
31: aload 5
aload 6
if_acmpeq 32
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 5
athrow
33: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode$2;
0 34 1 archive Lorg/apache/commons/compress/archivers/sevenz/SevenZFile;
0 34 2 entry Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;
1 34 3 outFile Ljava/io/File;
8 34 4 parent Ljava/io/File;
12 29 7 fos Ljava/io/FileOutputStream;
13 27 8 total J
14 27 10 off J
16 26 12 toRead I
17 26 13 bytesRead I
Exception table:
from to target type
12 27 28 any
11 30 30 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
archive final
entry final
}
SourceFile: "CLI.java"
EnclosingMethod: org.apache.commons.compress.archivers.sevenz.CLI$Mode
NestHost: org.apache.commons.compress.archivers.sevenz.CLI
InnerClasses:
private abstract Mode = org.apache.commons.compress.archivers.sevenz.CLI$Mode of org.apache.commons.compress.archivers.sevenz.CLI
org.apache.commons.compress.archivers.sevenz.CLI$Mode$2