public class jdk.tools.jmod.JmodTask
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.tools.jmod.JmodTask
  super_class: java.lang.Object
{
  private static final java.lang.String PROGNAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmod"

  private static final java.lang.String MODULE_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "module-info.class"

  private static final java.nio.file.Path CWD;
    descriptor: Ljava/nio/file/Path;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private jdk.tools.jmod.JmodTask$Options options;
    descriptor: Ljdk/tools/jmod/JmodTask$Options;
    flags: (0x0002) ACC_PRIVATE

  private java.io.PrintWriter out;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0002) ACC_PRIVATE

  static final int EXIT_OK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int EXIT_ERROR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int EXIT_CMDERR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int EXIT_SYSERR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int EXIT_ABNORMAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final java.lang.String CMD_FILENAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "@<filename>"

  private final jdk.internal.joptsimple.OptionParser parser;
    descriptor: Ljdk/internal/joptsimple/OptionParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$tools$jmod$JmodTask$Mode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 141
            ldc ""
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            putstatic jdk.tools.jmod.JmodTask.CWD:Ljava/nio/file/Path;
         1: .line 1199
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 144
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            putfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
         2: .line 1277
            aload 0 /* this */
            new jdk.internal.joptsimple.OptionParser
            dup
            ldc "hp"
            invokespecial jdk.internal.joptsimple.OptionParser.<init>:(Ljava/lang/String;)V
            putfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
         3: .line 114
            return
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jmod/JmodTask;

  void setLog(java.io.PrintWriter, java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;Ljava/io/PrintWriter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.io.PrintWriter out
        start local 2 // java.io.PrintWriter err
         0: .line 146
            aload 0 /* this */
            aload 1 /* out */
            putfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
         1: .line 147
            return
        end local 2 // java.io.PrintWriter err
        end local 1 // java.io.PrintWriter out
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jmod/JmodTask;
            0    2     1   out  Ljava/io/PrintWriter;
            0    2     2   err  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      out   
      err   

  public int run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.lang.String[] args
         0: .line 191
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual jdk.tools.jmod.JmodTask.handleOptions:([Ljava/lang/String;)V
         1: .line 192
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            ifnonnull 5
         2: .line 193
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.showUsageSummary:()V
         3: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         4: .line 194
            iconst_2
            ireturn
         5: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.help:Z
            ifne 6
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.helpExtra:Z
            ifeq 9
         6: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.showHelp:()V
         7: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         8: .line 198
            iconst_0
            ireturn
         9: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.version:Z
            ifeq 13
        10: .line 201
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.showVersion:()V
        11: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        12: .line 202
            iconst_0
            ireturn
        13: .line 206
      StackMap locals:
      StackMap stack:
            invokestatic jdk.tools.jmod.JmodTask.$SWITCH_TABLE$jdk$tools$jmod$JmodTask$Mode:()[I
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 14
                    2: 16
                    3: 18
                    4: 20
                    5: 22
              default: 24
          }
        14: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.create:()Z
            istore 2 /* ok */
        start local 2 // boolean ok
        15: .line 209
            goto 25
        end local 2 // boolean ok
        16: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.extract:()Z
            istore 2 /* ok */
        start local 2 // boolean ok
        17: .line 212
            goto 25
        end local 2 // boolean ok
        18: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.list:()Z
            istore 2 /* ok */
        start local 2 // boolean ok
        19: .line 215
            goto 25
        end local 2 // boolean ok
        20: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.describe:()Z
            istore 2 /* ok */
        start local 2 // boolean ok
        21: .line 218
            goto 25
        end local 2 // boolean ok
        22: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.hashModules:()Z
            istore 2 /* ok */
        start local 2 // boolean ok
        23: .line 221
            goto 25
        end local 2 // boolean ok
        24: .line 223
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        start local 2 // boolean ok
        25: .line 226
      StackMap locals: int
      StackMap stack:
            iload 2 /* ok */
            ifeq 26
            iconst_0
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_1
      StackMap locals:
      StackMap stack: int
        27: istore 4
        28: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        29: .line 226
            iload 4
            ireturn
        end local 2 // boolean ok
        30: .line 227
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.String[]
      StackMap stack: jdk.tools.jmod.JmodTask$CommandException
            astore 2 /* e */
        start local 2 // jdk.tools.jmod.JmodTask$CommandException e
        31: .line 228
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.getMessage:()Ljava/lang/String;
            invokevirtual jdk.tools.jmod.JmodTask.reportError:(Ljava/lang/String;)V
        32: .line 229
            aload 2 /* e */
            getfield jdk.tools.jmod.JmodTask$CommandException.showUsage:Z
            ifeq 34
        33: .line 230
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.showUsageSummary:()V
        34: .line 237
      StackMap locals: jdk.tools.jmod.JmodTask$CommandException
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        35: .line 231
            iconst_2
            ireturn
        end local 2 // jdk.tools.jmod.JmodTask$CommandException e
        36: .line 232
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.String[]
      StackMap stack: java.lang.Exception
            astore 2 /* x */
        start local 2 // java.lang.Exception x
        37: .line 233
            aload 0 /* this */
            aload 2 /* x */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual jdk.tools.jmod.JmodTask.reportError:(Ljava/lang/String;)V
        38: .line 234
            aload 2 /* x */
            invokevirtual java.lang.Exception.printStackTrace:()V
        39: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        40: .line 235
            iconst_4
            ireturn
        end local 2 // java.lang.Exception x
        41: .line 236
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        42: .line 237
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
        43: .line 238
            aload 3
            athrow
        end local 1 // java.lang.String[] args
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   44     0  this  Ljdk/tools/jmod/JmodTask;
            0   44     1  args  [Ljava/lang/String;
           15   16     2    ok  Z
           17   18     2    ok  Z
           19   20     2    ok  Z
           21   22     2    ok  Z
           23   24     2    ok  Z
           25   30     2    ok  Z
           31   36     2     e  Ljdk/tools/jmod/JmodTask$CommandException;
           37   41     2     x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3      30  Class jdk.tools.jmod.JmodTask$CommandException
           5     7      30  Class jdk.tools.jmod.JmodTask$CommandException
           9    11      30  Class jdk.tools.jmod.JmodTask$CommandException
          13    28      30  Class jdk.tools.jmod.JmodTask$CommandException
           0     3      36  Class java.lang.Exception
           5     7      36  Class java.lang.Exception
           9    11      36  Class java.lang.Exception
          13    28      36  Class java.lang.Exception
           0     3      41  any
           5     7      41  any
           9    11      41  any
          13    28      41  any
          30    34      41  any
          36    39      41  any
    MethodParameters:
      Name  Flags
      args  

  private boolean list();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 242
            aconst_null
            astore 1 /* zip */
        start local 1 // java.util.zip.ZipFile zip
         1: .line 245
            new java.util.zip.ZipFile
            dup
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.jmodFile:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;)V
            astore 1 /* zip */
         2: .line 246
            goto 5
      StackMap locals: jdk.tools.jmod.JmodTask java.util.zip.ZipFile
      StackMap stack: java.io.IOException
         3: astore 2 /* x */
        start local 2 // java.io.IOException x
         4: .line 247
            new java.io.IOException
            dup
            ldc "error opening jmod file"
            aload 2 /* x */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException x
         5: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* zip */
            invokevirtual java.util.zip.ZipFile.stream:()Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic accept(Ljdk/tools/jmod/JmodTask;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$0(Ljava/util/zip/ZipEntry;)V (7)
                  (Ljava/util/zip/ZipEntry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         6: .line 254
            aload 1 /* zip */
            ifnull 8
         7: .line 255
            aload 1 /* zip */
            invokevirtual java.util.zip.ZipFile.close:()V
         8: .line 252
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 253
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 254
            aload 1 /* zip */
            ifnull 12
        11: .line 255
            aload 1 /* zip */
            invokevirtual java.util.zip.ZipFile.close:()V
        12: .line 256
      StackMap locals: jdk.tools.jmod.JmodTask java.util.zip.ZipFile top java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 1 // java.util.zip.ZipFile zip
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljdk/tools/jmod/JmodTask;
            1   13     1   zip  Ljava/util/zip/ZipFile;
            4    5     2     x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     6       9  any
    Exceptions:
      throws java.io.IOException

  private boolean extract();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 260
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
            ifnull 1
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic jdk.tools.jmod.JmodTask.CWD:Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
         2: astore 1 /* dir */
        start local 1 // java.nio.file.Path dir
         3: .line 261
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: new jdk.internal.jmod.JmodFile
            dup
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.jmodFile:Ljava/nio/file/Path;
            invokespecial jdk.internal.jmod.JmodFile.<init>:(Ljava/nio/file/Path;)V
            astore 4 /* jf */
        start local 4 // jdk.internal.jmod.JmodFile jf
         5: .line 262
            aload 4 /* jf */
            invokevirtual jdk.internal.jmod.JmodFile.stream:()Ljava/util/stream/Stream;
            aload 1 /* dir */
            aload 4 /* jf */
            invokedynamic accept(Ljava/nio/file/Path;Ljdk/internal/jmod/JmodFile;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$1(Ljava/nio/file/Path;Ljdk/internal/jmod/JmodFile;Ljdk/internal/jmod/JmodFile$Entry;)V (6)
                  (Ljdk/internal/jmod/JmodFile$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         6: .line 282
            aload 4 /* jf */
            ifnull 7
            aload 4 /* jf */
            invokevirtual jdk.internal.jmod.JmodFile.close:()V
         7: .line 281
      StackMap locals: jdk.tools.jmod.JmodTask java.nio.file.Path java.lang.Throwable java.lang.Throwable jdk.internal.jmod.JmodFile
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
         9: .line 282
            aload 4 /* jf */
            ifnull 10
            aload 4 /* jf */
            invokevirtual jdk.internal.jmod.JmodFile.close:()V
        end local 4 // jdk.internal.jmod.JmodFile jf
      StackMap locals:
      StackMap stack:
        10: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 2
            ifnonnull 12
            aload 3
            astore 2
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 2
            aload 3
            if_acmpeq 13
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
        end local 1 // java.nio.file.Path dir
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/tools/jmod/JmodTask;
            3   14     1   dir  Ljava/nio/file/Path;
            5   10     4    jf  Ljdk/internal/jmod/JmodFile;
      Exception table:
        from    to  target  type
           5     6       8  any
           4     7      11  any
           8    11      11  any
    Exceptions:
      throws java.io.IOException

  private boolean hashModules();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 286
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.dryrun:Z
            ifeq 2
         1: .line 287
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            ldc "Dry run:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 290
      StackMap locals:
      StackMap stack:
            new jdk.tools.jmod.JmodTask$Hasher
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.moduleFinder:Ljava/lang/module/ModuleFinder;
            invokespecial jdk.tools.jmod.JmodTask$Hasher.<init>:(Ljdk/tools/jmod/JmodTask;Ljava/lang/module/ModuleFinder;)V
            astore 1 /* hasher */
        start local 1 // jdk.tools.jmod.JmodTask$Hasher hasher
         3: .line 291
            aload 1 /* hasher */
            invokevirtual jdk.tools.jmod.JmodTask$Hasher.computeHashes:()Ljava/util/Map;
            aload 0 /* this */
            aload 1 /* hasher */
            invokedynamic accept(Ljdk/tools/jmod/JmodTask;Ljdk/tools/jmod/JmodTask$Hasher;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$2(Ljdk/tools/jmod/JmodTask$Hasher;Ljava/lang/String;Ljdk/internal/module/ModuleHashes;)V (7)
                  (Ljava/lang/String;Ljdk/internal/module/ModuleHashes;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         4: .line 306
            iconst_1
            ireturn
        end local 1 // jdk.tools.jmod.JmodTask$Hasher hasher
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/tools/jmod/JmodTask;
            3    5     1  hasher  Ljdk/tools/jmod/JmodTask$Hasher;

  private boolean describe();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 310
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new jdk.internal.jmod.JmodFile
            dup
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.jmodFile:Ljava/nio/file/Path;
            invokespecial jdk.internal.jmod.JmodFile.<init>:(Ljava/nio/file/Path;)V
            astore 3 /* jf */
        start local 3 // jdk.internal.jmod.JmodFile jf
         2: .line 311
            aconst_null
            astore 4
            aconst_null
            astore 5
         3: aload 3 /* jf */
            getstatic jdk.internal.jmod.JmodFile$Section.CLASSES:Ljdk/internal/jmod/JmodFile$Section;
            ldc "module-info.class"
            invokevirtual jdk.internal.jmod.JmodFile.getInputStream:(Ljdk/internal/jmod/JmodFile$Section;Ljava/lang/String;)Ljava/io/InputStream;
            astore 6 /* in */
        start local 6 // java.io.InputStream in
         4: .line 312
            aload 6 /* in */
            aconst_null
            invokestatic jdk.internal.module.ModuleInfo.read:(Ljava/io/InputStream;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
            astore 7 /* attrs */
        start local 7 // jdk.internal.module.ModuleInfo$Attributes attrs
         5: .line 313
            aload 0 /* this */
            aload 7 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.descriptor:()Ljava/lang/module/ModuleDescriptor;
         6: .line 314
            aload 7 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.target:()Ljdk/internal/module/ModuleTarget;
         7: .line 315
            aload 7 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.recordedHashes:()Ljdk/internal/module/ModuleHashes;
         8: .line 313
            invokevirtual jdk.tools.jmod.JmodTask.describeModule:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;)V
         9: .line 317
            aload 6 /* in */
            ifnull 10
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
        10: .line 320
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.Throwable java.lang.Throwable jdk.internal.jmod.JmodFile java.lang.Throwable java.lang.Throwable java.io.InputStream jdk.internal.module.ModuleInfo$Attributes
      StackMap stack:
            aload 3 /* jf */
            ifnull 11
            aload 3 /* jf */
            invokevirtual jdk.internal.jmod.JmodFile.close:()V
        11: .line 316
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // jdk.internal.module.ModuleInfo$Attributes attrs
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.Throwable java.lang.Throwable jdk.internal.jmod.JmodFile java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        12: astore 4
        13: .line 317
            aload 6 /* in */
            ifnull 14
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        14: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 5
            aload 4
            ifnonnull 16
            aload 5
            astore 4
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 4
            aload 5
            if_acmpeq 17
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.Throwable java.lang.Throwable jdk.internal.jmod.JmodFile
      StackMap stack: java.io.IOException
        18: pop
        19: .line 318
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.module.descriptor.not.found"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 1
        21: .line 320
            aload 3 /* jf */
            ifnull 22
            aload 3 /* jf */
            invokevirtual jdk.internal.jmod.JmodFile.close:()V
        end local 3 // jdk.internal.jmod.JmodFile jf
      StackMap locals:
      StackMap stack:
        22: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 2
            aload 1
            ifnonnull 24
            aload 2
            astore 1
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1
            aload 2
            if_acmpeq 25
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Ljdk/tools/jmod/JmodTask;
            2   22     3     jf  Ljdk/internal/jmod/JmodFile;
            4   14     6     in  Ljava/io/InputStream;
            5   12     7  attrs  Ljdk/internal/module/ModuleInfo$Attributes;
      Exception table:
        from    to  target  type
           4     9      12  any
           3    10      15  any
          12    15      15  any
           2    10      18  Class java.io.IOException
          12    18      18  Class java.io.IOException
           2    10      20  any
          12    20      20  any
           1    11      23  any
          12    23      23  any
    Exceptions:
      throws java.io.IOException

  static <T> java.lang.String toLowerCaseString(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 324
            aload 0 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            ldc ""
            areturn
         1: .line 325
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* c */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jmod/JmodTask.lambda$4(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 326
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 325
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     

  static <T> java.lang.String toString(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 330
            aload 0 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            ldc ""
            areturn
         1: .line 331
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* c */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/tools/jmod/JmodTask.lambda$5(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     

  private void describeModule(java.lang.module.ModuleDescriptor, jdk.internal.module.ModuleTarget, jdk.internal.module.ModuleHashes);
    descriptor: (Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.lang.module.ModuleDescriptor md
        start local 2 // jdk.internal.module.ModuleTarget target
        start local 3 // jdk.internal.module.ModuleHashes hashes
         0: .line 339
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         1: .line 341
            aload 4 /* sb */
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.toNameAndVersion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 343
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.isOpen:()Z
            ifeq 4
         3: .line 344
            aload 4 /* sb */
            ldc " open"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 345
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
            ifeq 6
         5: .line 346
            aload 4 /* sb */
            ldc " automatic"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 347
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 350
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         8: .line 351
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         9: .line 352
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/tools/jmod/JmodTask.lambda$7(Ljava/lang/module/ModuleDescriptor$Exports;)Z (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        10: .line 353
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$8(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        11: .line 357
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        12: .line 358
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$9(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Requires;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Requires;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        13: .line 362
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        14: .line 363
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$10(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        15: .line 365
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        16: .line 366
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Provides.service()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Provides;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        17: .line 367
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$12(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Provides;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Provides;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        18: .line 373
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        19: .line 374
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        20: .line 375
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/module/ModuleDescriptor$Exports.isQualified()Z (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        21: .line 376
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$15(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        22: .line 381
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        23: .line 382
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        24: .line 383
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/tools/jmod/JmodTask.lambda$17(Ljava/lang/module/ModuleDescriptor$Opens;)Z (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        25: .line 384
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$18(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        26: .line 388
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        27: .line 389
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        28: .line 390
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/module/ModuleDescriptor$Opens.isQualified()Z (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        29: .line 391
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$21(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        30: .line 397
            new java.util.TreeSet
            dup
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
            astore 5 /* concealed */
        start local 5 // java.util.Set concealed
        31: .line 398
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 5 /* concealed */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        32: .line 399
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 5 /* concealed */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        33: .line 400
            aload 5 /* concealed */
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$26(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
        34: .line 402
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
            aload 4 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$27(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        35: .line 404
            aload 2 /* target */
            ifnull 39
        36: .line 405
            aload 2 /* target */
            invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
            astore 8 /* targetPlatform */
        start local 8 // java.lang.String targetPlatform
        37: .line 406
            aload 8 /* targetPlatform */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 39
        38: .line 407
            aload 4 /* sb */
            ldc "platform "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* targetPlatform */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // java.lang.String targetPlatform
        39: .line 410
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* hashes */
            ifnull 43
        40: .line 411
            aload 3 /* hashes */
            invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        41: .line 412
            aload 0 /* this */
            aload 4 /* sb */
            aload 3 /* hashes */
            invokedynamic accept(Ljdk/tools/jmod/JmodTask;Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$28(Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
        42: .line 411
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        43: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        44: .line 419
            return
        end local 5 // java.util.Set concealed
        end local 4 // java.lang.StringBuilder sb
        end local 3 // jdk.internal.module.ModuleHashes hashes
        end local 2 // jdk.internal.module.ModuleTarget target
        end local 1 // java.lang.module.ModuleDescriptor md
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Ljdk/tools/jmod/JmodTask;
            0   45     1              md  Ljava/lang/module/ModuleDescriptor;
            0   45     2          target  Ljdk/internal/module/ModuleTarget;
            0   45     3          hashes  Ljdk/internal/module/ModuleHashes;
            1   45     4              sb  Ljava/lang/StringBuilder;
           31   45     5       concealed  Ljava/util/Set<Ljava/lang/String;>;
           37   39     8  targetPlatform  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      md      
      target  
      hashes  

  private java.lang.String toHex(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // byte[] ba
         0: .line 422
            new java.lang.StringBuilder
            dup
            aload 1 /* ba */
            arraylength
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 423
            aload 1 /* ba */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: jdk.tools.jmod.JmodTask byte[] java.lang.StringBuilder top int int byte[]
      StackMap stack:
         2: aload 6
            iload 4
            baload
            istore 3 /* b */
        start local 3 // byte b
         3: .line 424
            aload 2 /* sb */
            ldc "%02x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* b */
            sipush 255
            iand
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // byte b
         4: .line 423
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 426
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // byte[] ba
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/tools/jmod/JmodTask;
            0    7     1    ba  [B
            1    7     2    sb  Ljava/lang/StringBuilder;
            3    4     3     b  B
    MethodParameters:
      Name  Flags
      ba    

  private boolean create();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 430
            new jdk.tools.jmod.JmodTask$JmodFileWriter
            dup
            aload 0 /* this */
            invokespecial jdk.tools.jmod.JmodTask$JmodFileWriter.<init>:(Ljdk/tools/jmod/JmodTask;)V
            astore 1 /* jmod */
        start local 1 // jdk.tools.jmod.JmodTask$JmodFileWriter jmod
         1: .line 434
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.jmodFile:Ljava/nio/file/Path;
            astore 2 /* target */
        start local 2 // java.nio.file.Path target
         2: .line 435
            aload 2 /* target */
            invokestatic jdk.tools.jmod.JmodTask.jmodTempFilePath:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 3 /* tempTarget */
        start local 3 // java.nio.file.Path tempTarget
         3: .line 437
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 3 /* tempTarget */
            invokestatic jdk.tools.jmod.JmodOutputStream.newOutputStream:(Ljava/nio/file/Path;)Ljdk/tools/jmod/JmodOutputStream;
            astore 6 /* jos */
        start local 6 // jdk.tools.jmod.JmodOutputStream jos
         5: .line 438
            aload 1 /* jmod */
            aload 6 /* jos */
            invokevirtual jdk.tools.jmod.JmodTask$JmodFileWriter.write:(Ljdk/tools/jmod/JmodOutputStream;)V
         6: .line 439
            aload 6 /* jos */
            ifnull 12
            aload 6 /* jos */
            invokevirtual jdk.tools.jmod.JmodOutputStream.close:()V
            goto 12
      StackMap locals: jdk.tools.jmod.JmodTask jdk.tools.jmod.JmodTask$JmodFileWriter java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable jdk.tools.jmod.JmodOutputStream
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 6 /* jos */
            ifnull 8
            aload 6 /* jos */
            invokevirtual jdk.tools.jmod.JmodOutputStream.close:()V
        end local 6 // jdk.tools.jmod.JmodOutputStream jos
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        12: .line 440
      StackMap locals:
      StackMap stack:
            aload 3 /* tempTarget */
            aload 2 /* target */
            iconst_0
            anewarray java.nio.file.CopyOption
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        13: .line 441
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        14: astore 4 /* e */
        start local 4 // java.lang.Exception e
        15: .line 443
            aload 3 /* tempTarget */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        16: .line 444
            goto 19
      StackMap locals: jdk.tools.jmod.JmodTask jdk.tools.jmod.JmodTask$JmodFileWriter java.nio.file.Path java.nio.file.Path java.lang.Exception
      StackMap stack: java.io.IOException
        17: astore 5 /* ioe */
        start local 5 // java.io.IOException ioe
        18: .line 445
            aload 4 /* e */
            aload 5 /* ioe */
            invokevirtual java.lang.Exception.addSuppressed:(Ljava/lang/Throwable;)V
        end local 5 // java.io.IOException ioe
        19: .line 447
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Exception e
        20: .line 449
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.nio.file.Path tempTarget
        end local 2 // java.nio.file.Path target
        end local 1 // jdk.tools.jmod.JmodTask$JmodFileWriter jmod
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljdk/tools/jmod/JmodTask;
            1   21     1        jmod  Ljdk/tools/jmod/JmodTask$JmodFileWriter;
            2   21     2      target  Ljava/nio/file/Path;
            3   21     3  tempTarget  Ljava/nio/file/Path;
            5    8     6         jos  Ljdk/tools/jmod/JmodOutputStream;
           15   20     4           e  Ljava/lang/Exception;
           18   19     5         ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
           3    13      14  Class java.lang.Exception
          15    16      17  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  private static java.nio.file.Path jmodTempFilePath(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.file.Path target
         0: .line 456
            aload 0 /* target */
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* target */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ".tmp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolveSibling:(Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 0 // java.nio.file.Path target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  target  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      target  

  private void handleOptions(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=27, args_size=2
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.lang.String[] args
         0: .line 1280
            aload 0 /* this */
            new jdk.tools.jmod.JmodTask$Options
            dup
            invokespecial jdk.tools.jmod.JmodTask$Options.<init>:()V
            putfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
         1: .line 1281
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            new jdk.tools.jmod.JmodTask$JmodHelpFormatter
            dup
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            invokespecial jdk.tools.jmod.JmodTask$JmodHelpFormatter.<init>:(Ljdk/tools/jmod/JmodTask$Options;)V
            invokevirtual jdk.internal.joptsimple.OptionParser.formatHelpWith:(Ljdk/internal/joptsimple/HelpFormatter;)V
         2: .line 1284
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "class-path"
            ldc "main.opt.class-path"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
         3: .line 1285
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
         4: .line 1286
            getstatic jdk.tools.jmod.JmodTask$ClassPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
         5: .line 1283
            astore 2 /* classPath */
        start local 2 // jdk.internal.joptsimple.OptionSpec classPath
         6: .line 1289
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "cmds"
            ldc "main.opt.cmds"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
         7: .line 1290
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
         8: .line 1291
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
         9: .line 1288
            astore 3 /* cmds */
        start local 3 // jdk.internal.joptsimple.OptionSpec cmds
        10: .line 1294
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "config"
            ldc "main.opt.config"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        11: .line 1295
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        12: .line 1296
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        13: .line 1293
            astore 4 /* config */
        start local 4 // jdk.internal.joptsimple.OptionSpec config
        14: .line 1299
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "dir"
            ldc "main.opt.extractDir"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        15: .line 1300
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        16: .line 1301
            new jdk.tools.jmod.JmodTask$ExtractDirPathConverter
            dup
            invokespecial jdk.tools.jmod.JmodTask$ExtractDirPathConverter.<init>:()V
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        17: .line 1298
            astore 5 /* dir */
        start local 5 // jdk.internal.joptsimple.OptionSpec dir
        18: .line 1304
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "dry-run"
            ldc "main.opt.dry-run"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        19: .line 1303
            astore 6 /* dryrun */
        start local 6 // jdk.internal.joptsimple.OptionSpec dryrun
        20: .line 1307
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "exclude"
            ldc "main.opt.exclude"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        21: .line 1308
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        22: .line 1309
            new jdk.tools.jmod.JmodTask$PathMatcherConverter
            dup
            invokespecial jdk.tools.jmod.JmodTask$PathMatcherConverter.<init>:()V
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        23: .line 1306
            astore 7 /* excludes */
        start local 7 // jdk.internal.joptsimple.OptionSpec excludes
        24: .line 1312
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "hash-modules"
            ldc "main.opt.hash-modules"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        25: .line 1313
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        26: .line 1314
            new jdk.tools.jmod.JmodTask$PatternConverter
            dup
            invokespecial jdk.tools.jmod.JmodTask$PatternConverter.<init>:()V
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        27: .line 1311
            astore 8 /* hashModules */
        start local 8 // jdk.internal.joptsimple.OptionSpec hashModules
        28: .line 1317
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "h"
            ldc "help"
            ldc "?"
            invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
            ldc "main.opt.help"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.acceptsAll:(Ljava/util/List;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        29: .line 1318
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.forHelp:()Ljdk/internal/joptsimple/AbstractOptionSpec;
        30: .line 1316
            astore 9 /* help */
        start local 9 // jdk.internal.joptsimple.OptionSpec help
        31: .line 1321
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "help-extra"
            ldc "main.opt.help-extra"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        32: .line 1320
            astore 10 /* helpExtra */
        start local 10 // jdk.internal.joptsimple.OptionSpec helpExtra
        33: .line 1324
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "header-files"
            ldc "main.opt.header-files"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        34: .line 1325
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        35: .line 1326
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        36: .line 1323
            astore 11 /* headerFiles */
        start local 11 // jdk.internal.joptsimple.OptionSpec headerFiles
        37: .line 1329
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "libs"
            ldc "main.opt.libs"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        38: .line 1330
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        39: .line 1331
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        40: .line 1328
            astore 12 /* libs */
        start local 12 // jdk.internal.joptsimple.OptionSpec libs
        41: .line 1334
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "legal-notices"
            ldc "main.opt.legal-notices"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        42: .line 1335
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        43: .line 1336
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        44: .line 1333
            astore 13 /* legalNotices */
        start local 13 // jdk.internal.joptsimple.OptionSpec legalNotices
        45: .line 1340
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "main-class"
            ldc "main.opt.main-class"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        46: .line 1341
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        47: .line 1342
            ldc "main.opt.main-class.arg"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        48: .line 1339
            astore 14 /* mainClass */
        start local 14 // jdk.internal.joptsimple.OptionSpec mainClass
        49: .line 1345
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "man-pages"
            ldc "main.opt.man-pages"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        50: .line 1346
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        51: .line 1347
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        52: .line 1344
            astore 15 /* manPages */
        start local 15 // jdk.internal.joptsimple.OptionSpec manPages
        53: .line 1350
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "p"
            ldc "module-path"
            invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
        54: .line 1351
            ldc "main.opt.module-path"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        55: .line 1350
            invokevirtual jdk.internal.joptsimple.OptionParser.acceptsAll:(Ljava/util/List;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        56: .line 1352
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        57: .line 1353
            getstatic jdk.tools.jmod.JmodTask$DirPathConverter.INSTANCE:Ljdk/internal/joptsimple/ValueConverter;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        58: .line 1349
            astore 16 /* modulePath */
        start local 16 // jdk.internal.joptsimple.OptionSpec modulePath
        59: .line 1356
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "module-version"
            ldc "main.opt.module-version"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        60: .line 1357
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        61: .line 1358
            new jdk.tools.jmod.JmodTask$ModuleVersionConverter
            dup
            invokespecial jdk.tools.jmod.JmodTask$ModuleVersionConverter.<init>:()V
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        62: .line 1355
            astore 17 /* moduleVersion */
        start local 17 // jdk.internal.joptsimple.OptionSpec moduleVersion
        63: .line 1361
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "target-platform"
            ldc "main.opt.target-platform"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        64: .line 1362
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        65: .line 1363
            ldc "main.opt.target-platform.arg"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        66: .line 1360
            astore 18 /* targetPlatform */
        start local 18 // jdk.internal.joptsimple.OptionSpec targetPlatform
        67: .line 1366
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "do-not-resolve-by-default"
        68: .line 1367
            ldc "main.opt.do-not-resolve-by-default"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        69: .line 1366
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        70: .line 1365
            astore 19 /* doNotResolveByDefault */
        start local 19 // jdk.internal.joptsimple.OptionSpec doNotResolveByDefault
        71: .line 1370
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "warn-if-resolved"
            ldc "main.opt.warn-if-resolved"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        72: .line 1371
            invokevirtual jdk.internal.joptsimple.OptionSpecBuilder.withRequiredArg:()Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        73: .line 1372
            new jdk.tools.jmod.JmodTask$WarnIfResolvedReasonConverter
            dup
            invokespecial jdk.tools.jmod.JmodTask$WarnIfResolvedReasonConverter.<init>:()V
            invokevirtual jdk.internal.joptsimple.ArgumentAcceptingOptionSpec.withValuesConvertedBy:(Ljdk/internal/joptsimple/ValueConverter;)Ljdk/internal/joptsimple/ArgumentAcceptingOptionSpec;
        74: .line 1369
            astore 20 /* warnIfResolved */
        start local 20 // jdk.internal.joptsimple.OptionSpec warnIfResolved
        75: .line 1375
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            ldc "version"
            ldc "main.opt.version"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual jdk.internal.joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSpecBuilder;
        76: .line 1374
            astore 21 /* version */
        start local 21 // jdk.internal.joptsimple.OptionSpec version
        77: .line 1378
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            invokevirtual jdk.internal.joptsimple.OptionParser.nonOptions:()Ljdk/internal/joptsimple/NonOptionArgumentSpec;
        78: .line 1377
            astore 22 /* nonOptions */
        start local 22 // jdk.internal.joptsimple.NonOptionArgumentSpec nonOptions
        79: .line 1381
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            aload 1 /* args */
            invokevirtual jdk.internal.joptsimple.OptionParser.parse:([Ljava/lang/String;)Ljdk/internal/joptsimple/OptionSet;
            astore 23 /* opts */
        start local 23 // jdk.internal.joptsimple.OptionSet opts
        80: .line 1383
            aload 23 /* opts */
            aload 9 /* help */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifne 81
            aload 23 /* opts */
            aload 10 /* helpExtra */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifne 81
            aload 23 /* opts */
            aload 21 /* version */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 85
        81: .line 1384
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.String[] jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.NonOptionArgumentSpec jdk.internal.joptsimple.OptionSet
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 9 /* help */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            putfield jdk.tools.jmod.JmodTask$Options.help:Z
        82: .line 1385
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 10 /* helpExtra */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            putfield jdk.tools.jmod.JmodTask$Options.helpExtra:Z
        83: .line 1386
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 21 /* version */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            putfield jdk.tools.jmod.JmodTask$Options.version:Z
        84: .line 1387
            return
        85: .line 1390
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 22 /* nonOptions */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            astore 24 /* words */
        start local 24 // java.util.List words
        86: .line 1391
            aload 24 /* words */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 88
        87: .line 1392
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.missing.mode"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
            athrow
        88: .line 1393
      StackMap locals: java.util.List
      StackMap stack:
            aload 24 /* words */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 25 /* verb */
        start local 25 // java.lang.String verb
        89: .line 1395
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            ldc Ljdk/tools/jmod/JmodTask$Mode;
            aload 25 /* verb */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast jdk.tools.jmod.JmodTask$Mode
            putfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
        90: .line 1396
            goto 93
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.String[] jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.NonOptionArgumentSpec jdk.internal.joptsimple.OptionSet java.util.List java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
        91: pop
        92: .line 1397
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.invalid.mode"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 25 /* verb */
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
            athrow
        93: .line 1400
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 2 /* classPath */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 95
        94: .line 1401
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 2 /* classPath */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.classpath:Ljava/util/List;
        95: .line 1402
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 3 /* cmds */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 97
        96: .line 1403
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 3 /* cmds */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.cmds:Ljava/util/List;
        97: .line 1404
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 4 /* config */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 99
        98: .line 1405
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 4 /* config */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.configs:Ljava/util/List;
        99: .line 1406
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 5 /* dir */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 101
       100: .line 1407
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 5 /* dir */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.nio.file.Path
            putfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
       101: .line 1408
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 6 /* dryrun */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 103
       102: .line 1409
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            iconst_1
            putfield jdk.tools.jmod.JmodTask$Options.dryrun:Z
       103: .line 1410
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 7 /* excludes */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 105
       104: .line 1411
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 7 /* excludes */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            putfield jdk.tools.jmod.JmodTask$Options.excludes:Ljava/util/List;
       105: .line 1412
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 12 /* libs */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 107
       106: .line 1413
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 12 /* libs */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.libs:Ljava/util/List;
       107: .line 1414
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 11 /* headerFiles */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 109
       108: .line 1415
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 11 /* headerFiles */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.headerFiles:Ljava/util/List;
       109: .line 1416
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 15 /* manPages */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 111
       110: .line 1417
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 15 /* manPages */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.manPages:Ljava/util/List;
       111: .line 1418
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 13 /* legalNotices */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 113
       112: .line 1419
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 13 /* legalNotices */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            putfield jdk.tools.jmod.JmodTask$Options.legalNotices:Ljava/util/List;
       113: .line 1420
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 16 /* modulePath */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 116
       114: .line 1421
            aload 23 /* opts */
            aload 16 /* modulePath */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.List
            iconst_0
            anewarray java.nio.file.Path
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.nio.file.Path[]
            astore 26 /* dirs */
        start local 26 // java.nio.file.Path[] dirs
       115: .line 1422
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            invokestatic java.lang.Runtime.version:()Ljava/lang/Runtime$Version;
            iconst_1
            aload 26 /* dirs */
            invokestatic jdk.internal.module.ModulePath.of:(Ljava/lang/Runtime$Version;Z[Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            putfield jdk.tools.jmod.JmodTask$Options.moduleFinder:Ljava/lang/module/ModuleFinder;
        end local 26 // java.nio.file.Path[] dirs
       116: .line 1424
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 17 /* moduleVersion */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 118
       117: .line 1425
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 17 /* moduleVersion */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.lang.module.ModuleDescriptor$Version
            putfield jdk.tools.jmod.JmodTask$Options.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
       118: .line 1426
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 14 /* mainClass */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 120
       119: .line 1427
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 14 /* mainClass */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield jdk.tools.jmod.JmodTask$Options.mainClass:Ljava/lang/String;
       120: .line 1428
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 18 /* targetPlatform */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 122
       121: .line 1429
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 18 /* targetPlatform */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield jdk.tools.jmod.JmodTask$Options.targetPlatform:Ljava/lang/String;
       122: .line 1430
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 20 /* warnIfResolved */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 124
       123: .line 1431
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 20 /* warnIfResolved */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast jdk.internal.module.ModuleResolution
            putfield jdk.tools.jmod.JmodTask$Options.moduleResolution:Ljdk/internal/module/ModuleResolution;
       124: .line 1432
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 19 /* doNotResolveByDefault */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 128
       125: .line 1433
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.moduleResolution:Ljdk/internal/module/ModuleResolution;
            ifnonnull 127
       126: .line 1434
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            invokestatic jdk.internal.module.ModuleResolution.empty:()Ljdk/internal/module/ModuleResolution;
            putfield jdk.tools.jmod.JmodTask$Options.moduleResolution:Ljdk/internal/module/ModuleResolution;
       127: .line 1435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.moduleResolution:Ljdk/internal/module/ModuleResolution;
            invokevirtual jdk.internal.module.ModuleResolution.withDoNotResolveByDefault:()Ljdk/internal/module/ModuleResolution;
            putfield jdk.tools.jmod.JmodTask$Options.moduleResolution:Ljdk/internal/module/ModuleResolution;
       128: .line 1437
      StackMap locals:
      StackMap stack:
            aload 23 /* opts */
            aload 8 /* hashModules */
            invokevirtual jdk.internal.joptsimple.OptionSet.has:(Ljdk/internal/joptsimple/OptionSpec;)Z
            ifeq 134
       129: .line 1438
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 23 /* opts */
            aload 8 /* hashModules */
            invokevirtual jdk.internal.joptsimple.OptionSet.valuesOf:(Ljdk/internal/joptsimple/OptionSpec;)Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.getLastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.util.regex.Pattern
            putfield jdk.tools.jmod.JmodTask$Options.modulesToHash:Ljava/util/regex/Pattern;
       130: .line 1440
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.moduleFinder:Ljava/lang/module/ModuleFinder;
            ifnonnull 134
       131: .line 1441
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.modulepath.must.be.specified"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
       132: .line 1442
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
       133: .line 1441
            athrow
       134: .line 1445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.HASH:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifeq 139
       135: .line 1446
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.moduleFinder:Ljava/lang/module/ModuleFinder;
            ifnull 136
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.modulesToHash:Ljava/util/regex/Pattern;
            ifnonnull 158
       136: .line 1447
      StackMap locals:
      StackMap stack:
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.modulepath.must.be.specified"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
       137: .line 1448
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
       138: .line 1447
            athrow
       139: .line 1450
      StackMap locals:
      StackMap stack:
            aload 24 /* words */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpgt 141
       140: .line 1451
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.jmod.must.be.specified"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
            athrow
       141: .line 1452
      StackMap locals:
      StackMap stack:
            aload 24 /* words */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 26 /* path */
        start local 26 // java.nio.file.Path path
       142: .line 1454
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.CREATE:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifeq 144
            aload 26 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 144
       143: .line 1455
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.file.already.exists"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 26 /* path */
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
       144: .line 1456
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.LIST:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifne 147
       145: .line 1457
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.DESCRIBE:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifne 147
       146: .line 1458
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.EXTRACT:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifeq 149
       147: .line 1459
      StackMap locals:
      StackMap stack:
            aload 26 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.notExists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 149
       148: .line 1460
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.jmod.not.found"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 26 /* path */
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
       149: .line 1462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.dryrun:Z
            ifeq 151
       150: .line 1463
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.invalid.dryrun.option"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
       151: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            aload 26 /* path */
            putfield jdk.tools.jmod.JmodTask$Options.jmodFile:Ljava/nio/file/Path;
       152: .line 1467
            aload 24 /* words */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmple 158
       153: .line 1468
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.unknown.option"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       154: .line 1469
            aload 24 /* words */
            iconst_2
            aload 24 /* words */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
       155: .line 1468
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
       156: .line 1469
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
       157: .line 1468
            athrow
        end local 26 // java.nio.file.Path path
       158: .line 1472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.CREATE:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifeq 160
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.classpath:Ljava/util/List;
            ifnonnull 160
       159: .line 1473
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.classpath.must.be.specified"
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            iconst_1
            invokevirtual jdk.tools.jmod.JmodTask$CommandException.showUsage:(Z)Ljdk/tools/jmod/JmodTask$CommandException;
            athrow
       160: .line 1474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mainClass:Ljava/lang/String;
            ifnull 162
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mainClass:Ljava/lang/String;
            invokestatic jdk.tools.jmod.JmodTask.isValidJavaIdentifier:(Ljava/lang/String;)Z
            ifne 162
       161: .line 1475
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.invalid.main-class"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mainClass:Ljava/lang/String;
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
       162: .line 1476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.mode:Ljdk/tools/jmod/JmodTask$Mode;
            getstatic jdk.tools.jmod.JmodTask$Mode.EXTRACT:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.equals:(Ljava/lang/Object;)Z
            ifeq 169
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
            ifnull 169
       163: .line 1478
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            pop
       164: .line 1479
            goto 169
      StackMap locals:
      StackMap stack: java.io.IOException
       165: pop
       166: .line 1480
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            ldc "err.cannot.create.dir"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.extractDir:Ljava/nio/file/Path;
            aastore
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 25 // java.lang.String verb
        end local 24 // java.util.List words
        end local 23 // jdk.internal.joptsimple.OptionSet opts
       167: .line 1483
      StackMap locals: jdk.tools.jmod.JmodTask java.lang.String[] jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.OptionSpec jdk.internal.joptsimple.NonOptionArgumentSpec
      StackMap stack: jdk.internal.joptsimple.OptionException
            astore 23 /* e */
        start local 23 // jdk.internal.joptsimple.OptionException e
       168: .line 1484
            new jdk.tools.jmod.JmodTask$CommandException
            dup
            aload 23 /* e */
            invokevirtual jdk.internal.joptsimple.OptionException.getMessage:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokespecial jdk.tools.jmod.JmodTask$CommandException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 23 // jdk.internal.joptsimple.OptionException e
       169: .line 1486
      StackMap locals:
      StackMap stack:
            return
        end local 22 // jdk.internal.joptsimple.NonOptionArgumentSpec nonOptions
        end local 21 // jdk.internal.joptsimple.OptionSpec version
        end local 20 // jdk.internal.joptsimple.OptionSpec warnIfResolved
        end local 19 // jdk.internal.joptsimple.OptionSpec doNotResolveByDefault
        end local 18 // jdk.internal.joptsimple.OptionSpec targetPlatform
        end local 17 // jdk.internal.joptsimple.OptionSpec moduleVersion
        end local 16 // jdk.internal.joptsimple.OptionSpec modulePath
        end local 15 // jdk.internal.joptsimple.OptionSpec manPages
        end local 14 // jdk.internal.joptsimple.OptionSpec mainClass
        end local 13 // jdk.internal.joptsimple.OptionSpec legalNotices
        end local 12 // jdk.internal.joptsimple.OptionSpec libs
        end local 11 // jdk.internal.joptsimple.OptionSpec headerFiles
        end local 10 // jdk.internal.joptsimple.OptionSpec helpExtra
        end local 9 // jdk.internal.joptsimple.OptionSpec help
        end local 8 // jdk.internal.joptsimple.OptionSpec hashModules
        end local 7 // jdk.internal.joptsimple.OptionSpec excludes
        end local 6 // jdk.internal.joptsimple.OptionSpec dryrun
        end local 5 // jdk.internal.joptsimple.OptionSpec dir
        end local 4 // jdk.internal.joptsimple.OptionSpec config
        end local 3 // jdk.internal.joptsimple.OptionSpec cmds
        end local 2 // jdk.internal.joptsimple.OptionSpec classPath
        end local 1 // java.lang.String[] args
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  170     0                   this  Ljdk/tools/jmod/JmodTask;
            0  170     1                   args  [Ljava/lang/String;
            6  170     2              classPath  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           10  170     3                   cmds  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           14  170     4                 config  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           18  170     5                    dir  Ljdk/internal/joptsimple/OptionSpec<Ljava/nio/file/Path;>;
           20  170     6                 dryrun  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/Void;>;
           24  170     7               excludes  Ljdk/internal/joptsimple/OptionSpec<Ljava/nio/file/PathMatcher;>;
           28  170     8            hashModules  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/regex/Pattern;>;
           31  170     9                   help  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/Void;>;
           33  170    10              helpExtra  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/Void;>;
           37  170    11            headerFiles  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           41  170    12                   libs  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           45  170    13           legalNotices  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           49  170    14              mainClass  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/String;>;
           53  170    15               manPages  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           59  170    16             modulePath  Ljdk/internal/joptsimple/OptionSpec<Ljava/util/List<Ljava/nio/file/Path;>;>;
           63  170    17          moduleVersion  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/module/ModuleDescriptor$Version;>;
           67  170    18         targetPlatform  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/String;>;
           71  170    19  doNotResolveByDefault  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/Void;>;
           75  170    20         warnIfResolved  Ljdk/internal/joptsimple/OptionSpec<Ljdk/internal/module/ModuleResolution;>;
           77  170    21                version  Ljdk/internal/joptsimple/OptionSpec<Ljava/lang/Void;>;
           79  170    22             nonOptions  Ljdk/internal/joptsimple/NonOptionArgumentSpec<Ljava/lang/String;>;
           80  167    23                   opts  Ljdk/internal/joptsimple/OptionSet;
           86  167    24                  words  Ljava/util/List<Ljava/lang/String;>;
           89  167    25                   verb  Ljava/lang/String;
          115  116    26                   dirs  [Ljava/nio/file/Path;
          142  158    26                   path  Ljava/nio/file/Path;
          168  169    23                      e  Ljdk/internal/joptsimple/OptionException;
      Exception table:
        from    to  target  type
          89    90      91  Class java.lang.IllegalArgumentException
         163   164     165  Class java.io.IOException
          79    84     167  Class jdk.internal.joptsimple.OptionException
          85   167     167  Class jdk.internal.joptsimple.OptionException
    MethodParameters:
      Name  Flags
      args  

  static boolean isValidJavaIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String mainClass
         0: .line 1492
            aload 0 /* mainClass */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 1493
            iconst_0
            ireturn
         2: .line 1495
      StackMap locals:
      StackMap stack:
            aload 0 /* mainClass */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifne 4
         3: .line 1496
            iconst_0
            ireturn
         4: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* mainClass */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         5: .line 1499
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         6: goto 11
         7: .line 1500
      StackMap locals: int int
      StackMap stack:
            aload 0 /* mainClass */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         8: .line 1501
            iload 3 /* c */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifne 10
            iload 3 /* c */
            bipush 46
            if_icmpeq 10
         9: .line 1502
            iconst_0
            ireturn
        end local 3 // char c
        10: .line 1499
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            iload 1 /* n */
            if_icmplt 7
        end local 2 // int i
        12: .line 1504
            aload 0 /* mainClass */
            iload 1 /* n */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 14
        13: .line 1505
            iconst_0
            ireturn
        14: .line 1507
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int n
        end local 0 // java.lang.String mainClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0  mainClass  Ljava/lang/String;
            5   15     1          n  I
            6   12     2          i  I
            8   10     3          c  C
    MethodParameters:
           Name  Flags
      mainClass  

  static <E> E getLastElement(java.util.List<E>);
    descriptor: (Ljava/util/List;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List list
         0: .line 1511
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            ifne 2
         1: .line 1512
            new java.lang.InternalError
            dup
            ldc "Unexpected 0 list size"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1513
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            areturn
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  Ljava/util/List<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;)TE;
    MethodParameters:
      Name  Flags
      list  

  private void reportError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.lang.String message
         0: .line 1517
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "error.prefix"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)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 1 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1518
            return
        end local 1 // java.lang.String message
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/tools/jmod/JmodTask;
            0    2     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  private void warning(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object[] args
         0: .line 1521
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            new java.lang.StringBuilder
            dup
            ldc "warn.prefix"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)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 1 /* key */
            aload 2 /* args */
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1522
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String key
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jmod/JmodTask;
            0    2     1   key  Ljava/lang/String;
            0    2     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   
      args  

  private void showUsageSummary();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 1525
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            ldc "main.usage.summary"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "jmod"
            aastore
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1526
            return
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jmod/JmodTask;

  private void showHelp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 1529
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            ldc "main.usage"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "jmod"
            aastore
            invokestatic jdk.tools.jmod.JmodTask.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1531
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.parser:Ljdk/internal/joptsimple/OptionParser;
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            invokevirtual jdk.internal.joptsimple.OptionParser.printHelpOn:(Ljava/io/Writer;)V
         2: .line 1532
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* x */
        start local 1 // java.io.IOException x
         4: .line 1533
            new java.lang.AssertionError
            dup
            aload 1 /* x */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.io.IOException x
         5: .line 1535
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/tools/jmod/JmodTask;
            4    5     1     x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  private void showVersion();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 1538
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            aload 0 /* this */
            invokevirtual jdk.tools.jmod.JmodTask.version:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1539
            return
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/tools/jmod/JmodTask;

  private java.lang.String version();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jmod.JmodTask this
         0: .line 1542
            ldc "java.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jmod/JmodTask;

  private static java.lang.String getMessage(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object[] args
         0: .line 1547
            getstatic jdk.tools.jmod.JmodTask$ResourceBundleHelper.bundle:Ljava/util/ResourceBundle;
            aload 0 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         1: areturn
         2: .line 1548
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            pop
         3: .line 1549
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Missing message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   key  Ljava/lang/String;
            0    4     1  args  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class java.util.MissingResourceException
    MethodParameters:
      Name  Flags
      key   
      args  

  static int[] $SWITCH_TABLE$jdk$tools$jmod$JmodTask$Mode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 114
            getstatic jdk.tools.jmod.JmodTask.$SWITCH_TABLE$jdk$tools$jmod$JmodTask$Mode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.tools.jmod.JmodTask$Mode.values:()[Ljdk/tools/jmod/JmodTask$Mode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.tools.jmod.JmodTask$Mode.CREATE:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.tools.jmod.JmodTask$Mode.DESCRIBE:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.tools.jmod.JmodTask$Mode.EXTRACT:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.tools.jmod.JmodTask$Mode.HASH:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.tools.jmod.JmodTask$Mode.LIST:Ljdk/tools/jmod/JmodTask$Mode;
            invokevirtual jdk.tools.jmod.JmodTask$Mode.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic jdk.tools.jmod.JmodTask.$SWITCH_TABLE$jdk$tools$jmod$JmodTask$Mode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError

  private void lambda$0(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 1 // java.util.zip.ZipEntry e
         0: .line 251
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
            return
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jmod/JmodTask;
            0    1     1     e  Ljava/util/zip/ZipEntry;

  private static void lambda$1(java.nio.file.Path, jdk.internal.jmod.JmodFile, jdk.internal.jmod.JmodFile$Entry);
    descriptor: (Ljava/nio/file/Path;Ljdk/internal/jmod/JmodFile;Ljdk/internal/jmod/JmodFile$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=9, args_size=3
        start local 2 // jdk.internal.jmod.JmodFile$Entry e
         0: .line 264
            aload 2 /* e */
            invokevirtual jdk.internal.jmod.JmodFile$Entry.zipEntry:()Ljava/util/zip/ZipEntry;
            astore 3 /* entry */
        start local 3 // java.util.zip.ZipEntry entry
         1: .line 265
            aload 3 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 266
            aload 4 /* name */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 5 /* index */
        start local 5 // int index
         3: .line 267
            iload 5 /* index */
            iconst_m1
            if_icmpeq 7
         4: .line 268
            aload 0
            aload 4 /* name */
            iconst_0
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 6 /* p */
        start local 6 // java.nio.file.Path p
         5: .line 269
            aload 6 /* p */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.notExists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 7
         6: .line 270
            aload 6 /* p */
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            pop
        end local 6 // java.nio.file.Path p
         7: .line 273
      StackMap locals: java.util.zip.ZipEntry java.lang.String int
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         8: aload 0
            aload 4 /* name */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
            astore 8 /* os */
        start local 8 // java.io.OutputStream os
         9: .line 274
            aload 1
            aload 2 /* e */
            invokevirtual jdk.internal.jmod.JmodFile.getInputStream:(Ljdk/internal/jmod/JmodFile$Entry;)Ljava/io/InputStream;
            aload 8 /* os */
            invokevirtual java.io.InputStream.transferTo:(Ljava/io/OutputStream;)J
            pop2
        10: .line 275
            aload 8 /* os */
            ifnull 18
            aload 8 /* os */
            invokevirtual java.io.OutputStream.close:()V
            goto 18
      StackMap locals: java.nio.file.Path jdk.internal.jmod.JmodFile jdk.internal.jmod.JmodFile$Entry java.util.zip.ZipEntry java.lang.String int java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
        11: astore 6
            aload 8 /* os */
            ifnull 12
            aload 8 /* os */
            invokevirtual java.io.OutputStream.close:()V
        end local 8 // java.io.OutputStream os
      StackMap locals:
      StackMap stack:
        12: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 7
            aload 6
            ifnonnull 14
            aload 7
            astore 6
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 6
            aload 7
            if_acmpeq 15
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 6
            athrow
        end local 5 // int index
        end local 4 // java.lang.String name
        end local 3 // java.util.zip.ZipEntry entry
        16: .line 276
      StackMap locals: java.nio.file.Path jdk.internal.jmod.JmodFile jdk.internal.jmod.JmodFile$Entry
      StackMap stack: java.io.IOException
            astore 3 /* x */
        start local 3 // java.io.IOException x
        17: .line 277
            new java.io.UncheckedIOException
            dup
            aload 3 /* x */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 3 // java.io.IOException x
        18: .line 279
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.internal.jmod.JmodFile$Entry e
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     2      e  Ljdk/internal/jmod/JmodFile$Entry;
            1   16     3  entry  Ljava/util/zip/ZipEntry;
            2   16     4   name  Ljava/lang/String;
            3   16     5  index  I
            5    7     6      p  Ljava/nio/file/Path;
            9   12     8     os  Ljava/io/OutputStream;
           17   18     3      x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
           0    16      16  Class java.io.IOException

  private void lambda$2(jdk.tools.jmod.JmodTask$Hasher, java.lang.String, jdk.internal.module.ModuleHashes);
    descriptor: (Ljdk/tools/jmod/JmodTask$Hasher;Ljava/lang/String;Ljdk/internal/module/ModuleHashes;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 2 // java.lang.String mn
        start local 3 // jdk.internal.module.ModuleHashes hashes
         0: .line 292
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.options:Ljdk/tools/jmod/JmodTask$Options;
            getfield jdk.tools.jmod.JmodTask$Options.dryrun:Z
            ifeq 6
         1: .line 293
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            ldc "%s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* mn */
            aastore
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         2: .line 294
            aload 3 /* hashes */
            invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         3: .line 295
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
         4: .line 296
            aload 0 /* this */
            aload 3 /* hashes */
            invokedynamic accept(Ljdk/tools/jmod/JmodTask;Ljdk/internal/module/ModuleHashes;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/tools/jmod/JmodTask.lambda$3(Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 298
            goto 10
         6: .line 300
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* mn */
            aload 3 /* hashes */
            invokevirtual jdk.tools.jmod.JmodTask$Hasher.updateModuleInfo:(Ljava/lang/String;Ljdk/internal/module/ModuleHashes;)V
         7: .line 301
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         9: .line 302
            new java.io.UncheckedIOException
            dup
            aload 4 /* ex */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 4 // java.io.IOException ex
        10: .line 305
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.internal.module.ModuleHashes hashes
        end local 2 // java.lang.String mn
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljdk/tools/jmod/JmodTask;
            0   11     2      mn  Ljava/lang/String;
            0   11     3  hashes  Ljdk/internal/module/ModuleHashes;
            9   10     4      ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException

  private static java.lang.String lambda$4(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object e
         0: .line 325
            aload 0 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  TT;

  private static java.lang.String lambda$5(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object e
         0: .line 331
            aload 0 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  TT;

  private static boolean lambda$7(java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/module/ModuleDescriptor$Exports;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 352
            aload 0 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static void lambda$8(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 353
            aload 0
            ldc "exports "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 354
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.modifiers:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     1     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static void lambda$9(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Requires);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Requires;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Requires r
         0: .line 358
            aload 0
            ldc "requires "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* r */
            invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 359
            aload 1 /* r */
            invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Requires r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     1     r  Ljava/lang/module/ModuleDescriptor$Requires;

  private static void lambda$10(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String s
         0: .line 363
            aload 0
            ldc "uses "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Ljava/lang/String;

  private static void lambda$12(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Provides);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Provides;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Provides p
         0: .line 367
            aload 0
            ldc "provides "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* p */
            invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 368
            ldc " with"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 369
            aload 1 /* p */
            invokevirtual java.lang.module.ModuleDescriptor$Provides.providers:()Ljava/util/List;
            invokestatic jdk.tools.jmod.JmodTask.toString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 370
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Provides p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     p  Ljava/lang/module/ModuleDescriptor$Provides;

  private static void lambda$15(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 376
            aload 0
            ldc "qualified exports "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 377
            ldc " to"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 378
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static boolean lambda$17(java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/module/ModuleDescriptor$Opens;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 383
            aload 0 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.isQualified:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$18(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 384
            aload 0
            ldc "opens "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 385
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 386
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$21(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 391
            aload 0
            ldc "qualified opens "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 392
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 393
            ldc " to"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
            invokestatic jdk.tools.jmod.JmodTask.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 394
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$26(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String p
         0: .line 400
            aload 0
            ldc "contains "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Ljava/lang/String;

  private static void lambda$27(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String v
         0: .line 402
            aload 0
            ldc "main-class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/String;

  private void lambda$28(java.lang.StringBuilder, jdk.internal.module.ModuleHashes, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 3 // java.lang.String mod
         0: .line 412
            aload 1
            ldc "hashes "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* mod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 413
            aload 2
            invokevirtual jdk.internal.module.ModuleHashes.algorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 414
            aload 0 /* this */
            aload 2
            aload 3 /* mod */
            invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
            invokevirtual jdk.tools.jmod.JmodTask.toHex:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 415
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 3 // java.lang.String mod
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jmod/JmodTask;
            0    4     3   mod  Ljava/lang/String;

  private void lambda$3(jdk.internal.module.ModuleHashes, java.lang.String);
    descriptor: (Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // jdk.tools.jmod.JmodTask this
        start local 2 // java.lang.String name
         0: .line 296
            aload 0 /* this */
            getfield jdk.tools.jmod.JmodTask.out:Ljava/io/PrintWriter;
            ldc "  hashes %s %s %s%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 297
            aload 2 /* name */
            aastore
            dup
            iconst_1
            aload 1
            invokevirtual jdk.internal.module.ModuleHashes.algorithm:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            aload 1
            aload 2 /* name */
            invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
            invokevirtual jdk.tools.jmod.JmodTask.toHex:([B)Ljava/lang/String;
            aastore
         2: .line 296
            invokevirtual java.io.PrintWriter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
         3: .line 297
            return
        end local 2 // java.lang.String name
        end local 0 // jdk.tools.jmod.JmodTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/tools/jmod/JmodTask;
            0    4     2  name  Ljava/lang/String;
}
SourceFile: "JmodTask.java"
NestMembers:
  jdk.tools.jmod.JmodTask$AbstractPathConverter  jdk.tools.jmod.JmodTask$ClassPathConverter  jdk.tools.jmod.JmodTask$CommandException  jdk.tools.jmod.JmodTask$DirPathConverter  jdk.tools.jmod.JmodTask$ExtractDirPathConverter  jdk.tools.jmod.JmodTask$Hasher  jdk.tools.jmod.JmodTask$JmodFileWriter  jdk.tools.jmod.JmodTask$JmodFileWriter$1  jdk.tools.jmod.JmodTask$JmodFileWriter$2  jdk.tools.jmod.JmodTask$JmodFileWriter$3  jdk.tools.jmod.JmodTask$JmodFileWriter$JarEntryConsumer  jdk.tools.jmod.JmodTask$JmodHelpFormatter  jdk.tools.jmod.JmodTask$JmodHelpFormatter$1  jdk.tools.jmod.JmodTask$Mode  jdk.tools.jmod.JmodTask$ModuleVersionConverter  jdk.tools.jmod.JmodTask$Options  jdk.tools.jmod.JmodTask$PathMatcherConverter  jdk.tools.jmod.JmodTask$PatternConverter  jdk.tools.jmod.JmodTask$ResourceBundleHelper  jdk.tools.jmod.JmodTask$WarnIfResolvedReasonConverter
InnerClasses:
  public final Version = java.lang.Runtime$Version of java.lang.Runtime
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Exports$Modifier of java.lang.module.ModuleDescriptor$Exports
  public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Opens$Modifier of java.lang.module.ModuleDescriptor$Opens
  public final Provides = java.lang.module.ModuleDescriptor$Provides of java.lang.module.ModuleDescriptor
  public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires
  public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor
  public Entry = jdk.internal.jmod.JmodFile$Entry of jdk.internal.jmod.JmodFile
  public final Section = jdk.internal.jmod.JmodFile$Section of jdk.internal.jmod.JmodFile
  public final Attributes = jdk.internal.module.ModuleInfo$Attributes of jdk.internal.module.ModuleInfo
  abstract AbstractPathConverter = jdk.tools.jmod.JmodTask$AbstractPathConverter of jdk.tools.jmod.JmodTask
  ClassPathConverter = jdk.tools.jmod.JmodTask$ClassPathConverter of jdk.tools.jmod.JmodTask
  CommandException = jdk.tools.jmod.JmodTask$CommandException of jdk.tools.jmod.JmodTask
  DirPathConverter = jdk.tools.jmod.JmodTask$DirPathConverter of jdk.tools.jmod.JmodTask
  ExtractDirPathConverter = jdk.tools.jmod.JmodTask$ExtractDirPathConverter of jdk.tools.jmod.JmodTask
  private Hasher = jdk.tools.jmod.JmodTask$Hasher of jdk.tools.jmod.JmodTask
  private JmodFileWriter = jdk.tools.jmod.JmodTask$JmodFileWriter of jdk.tools.jmod.JmodTask
  private final JmodHelpFormatter = jdk.tools.jmod.JmodTask$JmodHelpFormatter of jdk.tools.jmod.JmodTask
  final Mode = jdk.tools.jmod.JmodTask$Mode of jdk.tools.jmod.JmodTask
  ModuleVersionConverter = jdk.tools.jmod.JmodTask$ModuleVersionConverter of jdk.tools.jmod.JmodTask
  Options = jdk.tools.jmod.JmodTask$Options of jdk.tools.jmod.JmodTask
  PathMatcherConverter = jdk.tools.jmod.JmodTask$PathMatcherConverter of jdk.tools.jmod.JmodTask
  PatternConverter = jdk.tools.jmod.JmodTask$PatternConverter of jdk.tools.jmod.JmodTask
  private ResourceBundleHelper = jdk.tools.jmod.JmodTask$ResourceBundleHelper of jdk.tools.jmod.JmodTask
  WarnIfResolvedReasonConverter = jdk.tools.jmod.JmodTask$WarnIfResolvedReasonConverter of jdk.tools.jmod.JmodTask