public class org.apache.commons.compress.archivers.sevenz.CLI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.compress.archivers.sevenz.CLI
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.sevenz.CLI this
         0: .line 24
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.compress.archivers.sevenz.CLI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/compress/archivers/sevenz/CLI;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 117
            aload 0 /* args */
            arraylength
            ifne 3
         1: .line 118
            invokestatic org.apache.commons.compress.archivers.sevenz.CLI.usage:()V
         2: .line 119
            return
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            invokestatic org.apache.commons.compress.archivers.sevenz.CLI.grabMode:([Ljava/lang/String;)Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode;
            astore 1 /* mode */
        start local 1 // org.apache.commons.compress.archivers.sevenz.CLI$Mode mode
         4: .line 122
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 1 /* mode */
            invokevirtual org.apache.commons.compress.archivers.sevenz.CLI$Mode.getMessage:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 123
            new java.io.File
            dup
            aload 0 /* args */
            iconst_0
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* f */
        start local 2 // java.io.File f
         6: .line 124
            aload 2 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifne 8
         7: .line 125
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " doesn't exist or is a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 127
      StackMap locals: org.apache.commons.compress.archivers.sevenz.CLI$Mode java.io.File
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
         9: new org.apache.commons.compress.archivers.sevenz.SevenZFile
            dup
            aload 2 /* f */
            invokespecial org.apache.commons.compress.archivers.sevenz.SevenZFile.<init>:(Ljava/io/File;)V
            astore 5 /* archive */
        start local 5 // org.apache.commons.compress.archivers.sevenz.SevenZFile archive
        10: .line 129
            goto 12
        start local 6 // org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry ae
        11: .line 130
      StackMap locals: java.lang.String[] org.apache.commons.compress.archivers.sevenz.CLI$Mode java.io.File java.lang.Throwable java.lang.Throwable org.apache.commons.compress.archivers.sevenz.SevenZFile org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry
      StackMap stack:
            aload 1 /* mode */
            aload 5 /* archive */
            aload 6 /* ae */
            invokevirtual org.apache.commons.compress.archivers.sevenz.CLI$Mode.takeAction:(Lorg/apache/commons/compress/archivers/sevenz/SevenZFile;Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;)V
        end local 6 // org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry ae
        12: .line 129
      StackMap locals:
      StackMap stack:
            aload 5 /* archive */
            invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZFile.getNextEntry:()Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;
            dup
            astore 6 /* ae */
        start local 6 // org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry ae
        13: ifnonnull 11
        end local 6 // org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry ae
        14: .line 132
            aload 5 /* archive */
            ifnull 20
            aload 5 /* archive */
            invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZFile.close:()V
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 3
            aload 5 /* archive */
            ifnull 16
            aload 5 /* archive */
            invokevirtual org.apache.commons.compress.archivers.sevenz.SevenZFile.close:()V
        end local 5 // org.apache.commons.compress.archivers.sevenz.SevenZFile archive
      StackMap locals:
      StackMap stack:
        16: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 3
            ifnonnull 18
            aload 4
            astore 3
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 3
            aload 4
            if_acmpeq 19
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 3
            athrow
        20: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.File f
        end local 1 // org.apache.commons.compress.archivers.sevenz.CLI$Mode mode
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     args  [Ljava/lang/String;
            4   21     1     mode  Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode;
            6   21     2        f  Ljava/io/File;
           10   16     5  archive  Lorg/apache/commons/compress/archivers/sevenz/SevenZFile;
           11   12     6       ae  Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;
           13   14     6       ae  Lorg/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry;
      Exception table:
        from    to  target  type
          10    14      15  any
           9    17      17  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  final

  private static void usage();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 136
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Parameters: archive-name [list|extract]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 137
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.apache.commons.compress.archivers.sevenz.CLI$Mode grabMode(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 140
            aload 0 /* args */
            arraylength
            iconst_2
            if_icmpge 2
         1: .line 141
            getstatic org.apache.commons.compress.archivers.sevenz.CLI$Mode.LIST:Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode;
            areturn
         2: .line 143
      StackMap locals:
      StackMap stack:
            ldc Lorg/apache/commons/compress/archivers/sevenz/CLI$Mode;
            aload 0 /* args */
            iconst_1
            aaload
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast org.apache.commons.compress.archivers.sevenz.CLI$Mode
            areturn
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  final
}
SourceFile: "CLI.java"
NestMembers:
  org.apache.commons.compress.archivers.sevenz.CLI$Mode  org.apache.commons.compress.archivers.sevenz.CLI$Mode$1  org.apache.commons.compress.archivers.sevenz.CLI$Mode$2
InnerClasses:
  private abstract Mode = org.apache.commons.compress.archivers.sevenz.CLI$Mode of org.apache.commons.compress.archivers.sevenz.CLI