public class com.sun.tools.javac.launcher.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.launcher.Main
  super_class: java.lang.Object
{
  private java.io.PrintWriter out;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String bundleName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.tools.javac.resources.launcher"

  private java.util.ResourceBundle resourceBundle;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String errorPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 119
            new com.sun.tools.javac.launcher.Main
            dup
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokespecial com.sun.tools.javac.launcher.Main.<init>:(Ljava/io/PrintStream;)V
            invokestatic jdk.internal.misc.VM.getRuntimeArguments:()[Ljava/lang/String;
            aload 0 /* args */
            invokevirtual com.sun.tools.javac.launcher.Main.run:([Ljava/lang/String;[Ljava/lang/String;)V
         1: .line 120
            goto 8
      StackMap locals:
      StackMap stack: com.sun.tools.javac.launcher.Main$Fault
         2: astore 1 /* f */
        start local 1 // com.sun.tools.javac.launcher.Main$Fault f
         3: .line 121
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* f */
            invokevirtual com.sun.tools.javac.launcher.Main$Fault.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 122
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 1 // com.sun.tools.javac.launcher.Main$Fault f
         5: goto 8
         6: .line 123
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         7: .line 125
            aload 1 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
         8: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  args  [Ljava/lang/String;
            3    5     1     f  Lcom/sun/tools/javac/launcher/Main$Fault;
            7    8     1     e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.sun.tools.javac.launcher.Main$Fault
           0     1       6  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
      Name  Flags
      args  

  public void <init>(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.io.PrintStream out
         0: .line 139
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            new java.io.OutputStreamWriter
            dup
            aload 1 /* out */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            invokespecial com.sun.tools.javac.launcher.Main.<init>:(Ljava/io/PrintWriter;)V
         1: .line 140
            return
        end local 1 // java.io.PrintStream out
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/launcher/Main;
            0    2     1   out  Ljava/io/PrintStream;
    MethodParameters:
      Name  Flags
      out   

  public void <init>(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.io.PrintWriter out
         0: .line 148
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 422
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.launcher.Main.resourceBundle:Ljava/util/ResourceBundle;
         2: .line 149
            aload 0 /* this */
            aload 1 /* out */
            putfield com.sun.tools.javac.launcher.Main.out:Ljava/io/PrintWriter;
         3: .line 150
            return
        end local 1 // java.io.PrintWriter out
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/launcher/Main;
            0    4     1   out  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      out   

  public void run(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.lang.String[] runtimeArgs
        start local 2 // java.lang.String[] args
         0: .line 173
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual com.sun.tools.javac.launcher.Main.getFile:([Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* file */
        start local 3 // java.nio.file.Path file
         1: .line 175
            new com.sun.tools.javac.launcher.Main$Context
            dup
            invokespecial com.sun.tools.javac.launcher.Main$Context.<init>:()V
            astore 4 /* context */
        start local 4 // com.sun.tools.javac.launcher.Main$Context context
         2: .line 176
            aload 0 /* this */
            aload 3 /* file */
            aload 0 /* this */
            aload 1 /* runtimeArgs */
            invokevirtual com.sun.tools.javac.launcher.Main.getJavacOpts:([Ljava/lang/String;)Ljava/util/List;
            aload 4 /* context */
            invokevirtual com.sun.tools.javac.launcher.Main.compile:(Ljava/nio/file/Path;Ljava/util/List;Lcom/sun/tools/javac/launcher/Main$Context;)Ljava/lang/String;
            astore 5 /* mainClassName */
        start local 5 // java.lang.String mainClassName
         3: .line 178
            aload 2 /* args */
            iconst_1
            aload 2 /* args */
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 6 /* appArgs */
        start local 6 // java.lang.String[] appArgs
         4: .line 179
            aload 0 /* this */
            aload 5 /* mainClassName */
            aload 6 /* appArgs */
            aload 4 /* context */
            invokevirtual com.sun.tools.javac.launcher.Main.execute:(Ljava/lang/String;[Ljava/lang/String;Lcom/sun/tools/javac/launcher/Main$Context;)V
         5: .line 180
            return
        end local 6 // java.lang.String[] appArgs
        end local 5 // java.lang.String mainClassName
        end local 4 // com.sun.tools.javac.launcher.Main$Context context
        end local 3 // java.nio.file.Path file
        end local 2 // java.lang.String[] args
        end local 1 // java.lang.String[] runtimeArgs
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/sun/tools/javac/launcher/Main;
            0    6     1    runtimeArgs  [Ljava/lang/String;
            0    6     2           args  [Ljava/lang/String;
            1    6     3           file  Ljava/nio/file/Path;
            2    6     4        context  Lcom/sun/tools/javac/launcher/Main$Context;
            3    6     5  mainClassName  Ljava/lang/String;
            4    6     6        appArgs  [Ljava/lang/String;
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault, java.lang.reflect.InvocationTargetException
    MethodParameters:
             Name  Flags
      runtimeArgs  
      args         

  private java.nio.file.Path getFile(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.lang.String[] args
         0: .line 190
            aload 1 /* args */
            arraylength
            ifne 2
         1: .line 192
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.NoArgs:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iconst_0
            aaload
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 2 /* file */
        start local 2 // java.nio.file.Path file
         3: .line 197
            goto 6
        end local 2 // java.nio.file.Path file
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
         4: pop
         5: .line 198
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.InvalidFilename:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        start local 2 // java.nio.file.Path file
         6: .line 200
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* file */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 8
         7: .line 202
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 2 /* file */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.FileNotFound:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
         8: .line 204
      StackMap locals:
      StackMap stack:
            aload 2 /* file */
            areturn
        end local 2 // java.nio.file.Path file
        end local 1 // java.lang.String[] args
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/javac/launcher/Main;
            0    9     1  args  [Ljava/lang/String;
            3    4     2  file  Ljava/nio/file/Path;
            6    9     2  file  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
           2     3       4  Class java.nio.file.InvalidPathException
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault
    MethodParameters:
      Name  Flags
      args  

  private javax.tools.JavaFileObject readFile(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljavax/tools/JavaFileObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.nio.file.Path file
         0: .line 222
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.BufferedInputStream
            dup
            aload 1 /* file */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
        start local 4 // java.io.BufferedInputStream in
         2: .line 224
            aload 1 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            ldc ".java"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 225
            iconst_0
            istore 5 /* ignoreFirstLine */
        start local 5 // boolean ignoreFirstLine
         4: .line 226
            goto 11
        end local 5 // boolean ignoreFirstLine
         5: .line 227
      StackMap locals: java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream
      StackMap stack:
            aload 4 /* in */
            iconst_2
            invokevirtual java.io.BufferedInputStream.mark:(I)V
         6: .line 228
            aload 4 /* in */
            invokevirtual java.io.BufferedInputStream.read:()I
            bipush 35
            if_icmpne 7
            aload 4 /* in */
            invokevirtual java.io.BufferedInputStream.read:()I
            bipush 33
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* ignoreFirstLine */
        start local 5 // boolean ignoreFirstLine
         9: .line 229
            iload 5 /* ignoreFirstLine */
            ifne 11
        10: .line 230
            aload 4 /* in */
            invokevirtual java.io.BufferedInputStream.reset:()V
        11: .line 233
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
        12: new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 4 /* in */
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 8 /* r */
        start local 8 // java.io.BufferedReader r
        13: .line 234
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* sb */
        start local 9 // java.lang.StringBuilder sb
        14: .line 235
            iload 5 /* ignoreFirstLine */
            ifeq 17
        15: .line 236
            aload 8 /* r */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            pop
        16: .line 237
            aload 9 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 239
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream int java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.StringBuilder
      StackMap stack:
            sipush 1024
            newarray 5
            astore 10 /* buf */
        start local 10 // char[] buf
        18: .line 241
            goto 20
        start local 11 // int n
        19: .line 242
      StackMap locals: char[] int
      StackMap stack:
            aload 9 /* sb */
            aload 10 /* buf */
            iconst_0
            iload 11 /* n */
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
        end local 11 // int n
        20: .line 241
      StackMap locals:
      StackMap stack:
            aload 8 /* r */
            aload 10 /* buf */
            iconst_0
            aload 10 /* buf */
            arraylength
            invokevirtual java.io.BufferedReader.read:([CII)I
            dup
            istore 11 /* n */
        start local 11 // int n
        21: iconst_m1
            if_icmpne 19
        22: .line 244
            new com.sun.tools.javac.launcher.Main$1
            dup
            aload 0 /* this */
            aload 1 /* file */
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            aload 1 /* file */
            aload 9 /* sb */
            invokespecial com.sun.tools.javac.launcher.Main$1.<init>:(Lcom/sun/tools/javac/launcher/Main;Ljava/net/URI;Ljavax/tools/JavaFileObject$Kind;Ljava/nio/file/Path;Ljava/lang/StringBuilder;)V
        23: .line 264
            aload 8 /* r */
            ifnull 24
            aload 8 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        24: .line 265
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream int java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.lang.StringBuilder char[] int
      StackMap stack: com.sun.tools.javac.launcher.Main$1
            aload 4 /* in */
            ifnull 25
            aload 4 /* in */
            invokevirtual java.io.BufferedInputStream.close:()V
        25: .line 244
      StackMap locals:
      StackMap stack: com.sun.tools.javac.launcher.Main$1
            areturn
        end local 11 // int n
        end local 10 // char[] buf
        end local 9 // java.lang.StringBuilder sb
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream int java.lang.Throwable java.lang.Throwable java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        26: astore 6
        27: .line 264
            aload 8 /* r */
            ifnull 28
            aload 8 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        end local 8 // java.io.BufferedReader r
      StackMap locals:
      StackMap stack:
        28: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 7
            aload 6
            ifnonnull 30
            aload 7
            astore 6
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 6
            aload 7
            if_acmpeq 31
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 6
            athrow
        end local 5 // boolean ignoreFirstLine
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream
      StackMap stack: java.lang.Throwable
        32: astore 2
        33: .line 265
            aload 4 /* in */
            ifnull 34
            aload 4 /* in */
            invokevirtual java.io.BufferedInputStream.close:()V
        end local 4 // java.io.BufferedInputStream in
      StackMap locals:
      StackMap stack:
        34: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: astore 3
            aload 2
            ifnonnull 36
            aload 3
            astore 2
            goto 37
      StackMap locals:
      StackMap stack:
        36: aload 2
            aload 3
            if_acmpeq 37
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        37: aload 2
            athrow
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path
      StackMap stack: java.io.IOException
        38: astore 2 /* e */
        start local 2 // java.io.IOException e
        39: .line 266
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* file */
            aload 2 /* e */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.CantReadFile:(Ljava/nio/file/Path;Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        end local 2 // java.io.IOException e
        end local 1 // java.nio.file.Path file
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   40     0             this  Lcom/sun/tools/javac/launcher/Main;
            0   40     1             file  Ljava/nio/file/Path;
            2   34     4               in  Ljava/io/BufferedInputStream;
            4    5     5  ignoreFirstLine  Z
            9   32     5  ignoreFirstLine  Z
           13   28     8                r  Ljava/io/BufferedReader;
           14   26     9               sb  Ljava/lang/StringBuilder;
           18   26    10              buf  [C
           19   20    11                n  I
           21   26    11                n  I
           39   40     2                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    23      26  any
          12    24      29  any
          26    29      29  any
           2    24      32  any
          26    32      32  any
           1    25      35  any
          26    35      35  any
           0    25      38  Class java.io.IOException
          26    38      38  Class java.io.IOException
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault
    MethodParameters:
      Name  Flags
      file  

  private java.util.List<java.lang.String> getJavacOpts(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.lang.String[] runtimeArgs
         0: .line 279
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* javacOpts */
        start local 2 // java.util.List javacOpts
         1: .line 281
            ldc "jdk.internal.javac.source"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* sourceOpt */
        start local 3 // java.lang.String sourceOpt
         2: .line 282
            aload 3 /* sourceOpt */
            ifnull 7
         3: .line 283
            aload 3 /* sourceOpt */
            invokestatic com.sun.tools.javac.code.Source.lookup:(Ljava/lang/String;)Lcom/sun/tools/javac/code/Source;
            astore 4 /* source */
        start local 4 // com.sun.tools.javac.code.Source source
         4: .line 284
            aload 4 /* source */
            ifnonnull 6
         5: .line 285
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 3 /* sourceOpt */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.InvalidValueForSource:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
         6: .line 287
      StackMap locals: java.util.List java.lang.String com.sun.tools.javac.code.Source
      StackMap stack:
            aload 2 /* javacOpts */
            ldc "--release"
            aload 3 /* sourceOpt */
            invokestatic java.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // com.sun.tools.javac.code.Source source
         7: .line 290
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 42
         9: .line 291
      StackMap locals: int
      StackMap stack:
            aload 1 /* runtimeArgs */
            iload 4 /* i */
            aaload
            astore 5 /* arg */
        start local 5 // java.lang.String arg
        10: .line 292
            aload 5 /* arg */
            astore 6 /* opt */
        start local 6 // java.lang.String opt
        11: aconst_null
            astore 7 /* value */
        start local 7 // java.lang.String value
        12: .line 293
            aload 5 /* arg */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
        13: .line 294
            aload 5 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* eq */
        start local 8 // int eq
        14: .line 295
            iload 8 /* eq */
            ifle 17
        15: .line 296
            aload 5 /* arg */
            iconst_0
            iload 8 /* eq */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* opt */
        16: .line 297
            aload 5 /* arg */
            iload 8 /* eq */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* value */
        end local 8 // int eq
        17: .line 300
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* opt */
            dup
            astore 8
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 11
          -1793881925: 18
          -1729001003: 19
          -1319033551: 20
          -1300732130: 21
           -262048752: 22
            -45598394: 23
            -35404685: 24
                 1507: 25
                46426: 26
           1158429461: 27
           1918731514: 28
              default: 41
          }
      StackMap locals: java.lang.String
      StackMap stack:
        18: aload 8
            ldc "--add-modules"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        19: aload 8
            ldc "--limit-modules"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        20: aload 8
            ldc "--patch-module"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        21: aload 8
            ldc "--enable-preview"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 38
            goto 41
      StackMap locals:
      StackMap stack:
        22: aload 8
            ldc "-classpath"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        23: aload 8
            ldc "--module-path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        24: aload 8
            ldc "--add-exports"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        25: aload 8
            ldc "-p"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        26: aload 8
            ldc "-cp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        27: aload 8
            ldc "--upgrade-module-path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
      StackMap locals:
      StackMap stack:
        28: aload 8
            ldc "--class-path"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 41
        29: .line 310
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            ifnonnull 33
        30: .line 311
            iload 4 /* i */
            aload 1 /* runtimeArgs */
            arraylength
            iconst_1
            isub
            if_icmpne 32
        31: .line 313
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 6 /* opt */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.NoValueForOption:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        32: .line 315
      StackMap locals:
      StackMap stack:
            aload 1 /* runtimeArgs */
            iinc 4 /* i */ 1
            iload 4 /* i */
            aaload
            astore 7 /* value */
        33: .line 317
      StackMap locals:
      StackMap stack:
            aload 6 /* opt */
            ldc "--add-modules"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
            aload 7 /* value */
            ldc "ALL-DEFAULT"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        34: .line 320
            goto 41
        35: .line 322
      StackMap locals:
      StackMap stack:
            aload 2 /* javacOpts */
            aload 6 /* opt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 323
            aload 2 /* javacOpts */
            aload 7 /* value */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 324
            goto 41
        38: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* javacOpts */
            aload 6 /* opt */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 327
            aload 3 /* sourceOpt */
            ifnonnull 41
        40: .line 328
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.EnablePreviewRequiresSource:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        end local 7 // java.lang.String value
        end local 6 // java.lang.String opt
        end local 5 // java.lang.String arg
        41: .line 290
      StackMap locals: com.sun.tools.javac.launcher.Main java.lang.String[] java.util.List java.lang.String int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 4 /* i */
            aload 1 /* runtimeArgs */
            arraylength
            if_icmplt 9
        end local 4 // int i
        43: .line 337
            aload 2 /* javacOpts */
            ldc "-proc:none"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 339
            aload 2 /* javacOpts */
            areturn
        end local 3 // java.lang.String sourceOpt
        end local 2 // java.util.List javacOpts
        end local 1 // java.lang.String[] runtimeArgs
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   45     0         this  Lcom/sun/tools/javac/launcher/Main;
            0   45     1  runtimeArgs  [Ljava/lang/String;
            1   45     2    javacOpts  Ljava/util/List<Ljava/lang/String;>;
            2   45     3    sourceOpt  Ljava/lang/String;
            4    7     4       source  Lcom/sun/tools/javac/code/Source;
            8   43     4            i  I
           10   41     5          arg  Ljava/lang/String;
           11   41     6          opt  Ljava/lang/String;
           12   41     7        value  Ljava/lang/String;
           14   17     8           eq  I
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault
    Signature: ([Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      runtimeArgs  

  private java.lang.String compile(java.nio.file.Path, java.util.List<java.lang.String>, com.sun.tools.javac.launcher.Main$Context);
    descriptor: (Ljava/nio/file/Path;Ljava/util/List;Lcom/sun/tools/javac/launcher/Main$Context;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.nio.file.Path file
        start local 2 // java.util.List javacOpts
        start local 3 // com.sun.tools.javac.launcher.Main$Context context
         0: .line 354
            aload 0 /* this */
            aload 1 /* file */
            invokevirtual com.sun.tools.javac.launcher.Main.readFile:(Ljava/nio/file/Path;)Ljavax/tools/JavaFileObject;
            astore 4 /* fo */
        start local 4 // javax.tools.JavaFileObject fo
         1: .line 356
            invokestatic com.sun.tools.javac.api.JavacTool.create:()Lcom/sun/tools/javac/api/JavacTool;
            astore 5 /* javaCompiler */
        start local 5 // com.sun.tools.javac.api.JavacTool javaCompiler
         2: .line 357
            aload 5 /* javaCompiler */
            aconst_null
            aconst_null
            aconst_null
            invokevirtual com.sun.tools.javac.api.JavacTool.getStandardFileManager:(Ljavax/tools/DiagnosticListener;Ljava/util/Locale;Ljava/nio/charset/Charset;)Lcom/sun/tools/javac/file/JavacFileManager;
            astore 6 /* stdFileMgr */
        start local 6 // javax.tools.StandardJavaFileManager stdFileMgr
         3: .line 359
            aload 6 /* stdFileMgr */
            getstatic javax.tools.StandardLocation.SOURCE_PATH:Ljavax/tools/StandardLocation;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
         4: .line 360
            goto 7
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.util.List com.sun.tools.javac.launcher.Main$Context javax.tools.JavaFileObject com.sun.tools.javac.api.JavacTool javax.tools.StandardJavaFileManager
      StackMap stack: java.io.IOException
         5: astore 7 /* e */
        start local 7 // java.io.IOException e
         6: .line 361
            new java.lang.Error
            dup
            ldc "unexpected exception from file manager"
            aload 7 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
         7: .line 363
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            aload 6 /* stdFileMgr */
            invokevirtual com.sun.tools.javac.launcher.Main$Context.getFileManager:(Ljavax/tools/StandardJavaFileManager;)Ljavax/tools/JavaFileManager;
            astore 7 /* fm */
        start local 7 // javax.tools.JavaFileManager fm
         8: .line 364
            aload 5 /* javaCompiler */
            aload 0 /* this */
            getfield com.sun.tools.javac.launcher.Main.out:Ljava/io/PrintWriter;
            aload 7 /* fm */
            aconst_null
            aload 2 /* javacOpts */
            aconst_null
            aload 4 /* fo */
            invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.sun.tools.javac.api.JavacTool.getTask:(Ljava/io/Writer;Ljavax/tools/JavaFileManager;Ljavax/tools/DiagnosticListener;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;)Lcom/sun/source/util/JavacTask;
            astore 8 /* t */
        start local 8 // com.sun.source.util.JavacTask t
         9: .line 365
            new com.sun.tools.javac.launcher.Main$MainClassListener
            dup
            aload 8 /* t */
            invokespecial com.sun.tools.javac.launcher.Main$MainClassListener.<init>:(Lcom/sun/source/util/JavacTask;)V
            astore 9 /* l */
        start local 9 // com.sun.tools.javac.launcher.Main$MainClassListener l
        10: .line 366
            aload 8 /* t */
            invokevirtual com.sun.source.util.JavacTask.call:()Ljava/lang/Boolean;
            astore 10 /* ok */
        start local 10 // java.lang.Boolean ok
        11: .line 367
            aload 10 /* ok */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 13
        12: .line 368
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.CompilationFailed:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        13: .line 370
      StackMap locals: com.sun.tools.javac.launcher.Main java.nio.file.Path java.util.List com.sun.tools.javac.launcher.Main$Context javax.tools.JavaFileObject com.sun.tools.javac.api.JavacTool javax.tools.StandardJavaFileManager javax.tools.JavaFileManager com.sun.source.util.JavacTask com.sun.tools.javac.launcher.Main$MainClassListener java.lang.Boolean
      StackMap stack:
            aload 9 /* l */
            getfield com.sun.tools.javac.launcher.Main$MainClassListener.mainClass:Ljavax/lang/model/element/TypeElement;
            ifnonnull 15
        14: .line 371
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.NoClass:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        15: .line 373
      StackMap locals:
      StackMap stack:
            aload 9 /* l */
            getfield com.sun.tools.javac.launcher.Main$MainClassListener.mainClass:Ljavax/lang/model/element/TypeElement;
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 11 /* mainClassName */
        start local 11 // java.lang.String mainClassName
        16: .line 374
            aload 11 /* mainClassName */
            areturn
        end local 11 // java.lang.String mainClassName
        end local 10 // java.lang.Boolean ok
        end local 9 // com.sun.tools.javac.launcher.Main$MainClassListener l
        end local 8 // com.sun.source.util.JavacTask t
        end local 7 // javax.tools.JavaFileManager fm
        end local 6 // javax.tools.StandardJavaFileManager stdFileMgr
        end local 5 // com.sun.tools.javac.api.JavacTool javaCompiler
        end local 4 // javax.tools.JavaFileObject fo
        end local 3 // com.sun.tools.javac.launcher.Main$Context context
        end local 2 // java.util.List javacOpts
        end local 1 // java.nio.file.Path file
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/sun/tools/javac/launcher/Main;
            0   17     1           file  Ljava/nio/file/Path;
            0   17     2      javacOpts  Ljava/util/List<Ljava/lang/String;>;
            0   17     3        context  Lcom/sun/tools/javac/launcher/Main$Context;
            1   17     4             fo  Ljavax/tools/JavaFileObject;
            2   17     5   javaCompiler  Lcom/sun/tools/javac/api/JavacTool;
            3   17     6     stdFileMgr  Ljavax/tools/StandardJavaFileManager;
            6    7     7              e  Ljava/io/IOException;
            8   17     7             fm  Ljavax/tools/JavaFileManager;
            9   17     8              t  Lcom/sun/source/util/JavacTask;
           10   17     9              l  Lcom/sun/tools/javac/launcher/Main$MainClassListener;
           11   17    10             ok  Ljava/lang/Boolean;
           16   17    11  mainClassName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault
    Signature: (Ljava/nio/file/Path;Ljava/util/List<Ljava/lang/String;>;Lcom/sun/tools/javac/launcher/Main$Context;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      file       
      javacOpts  
      context    

  private void execute(java.lang.String, java.lang.String[], com.sun.tools.javac.launcher.Main$Context);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Lcom/sun/tools/javac/launcher/Main$Context;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // java.lang.String mainClassName
        start local 2 // java.lang.String[] appArgs
        start local 3 // com.sun.tools.javac.launcher.Main$Context context
         0: .line 389
            aload 3 /* context */
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual com.sun.tools.javac.launcher.Main$Context.getClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         1: .line 391
            aload 1 /* mainClassName */
            iconst_1
            aload 4 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 5 /* appClass */
        start local 5 // java.lang.Class appClass
         2: .line 392
            aload 5 /* appClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 4 /* cl */
            if_acmpeq 4
         3: .line 393
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* mainClassName */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.UnexpectedClass:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
         4: .line 395
      StackMap locals: java.lang.ClassLoader java.lang.Class
      StackMap stack:
            aload 5 /* appClass */
            ldc "main"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* main */
        start local 6 // java.lang.reflect.Method main
         5: .line 396
            bipush 9
            istore 7 /* PUBLIC_STATIC */
        start local 7 // int PUBLIC_STATIC
         6: .line 397
            aload 6 /* main */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            iload 7 /* PUBLIC_STATIC */
            iand
            iload 7 /* PUBLIC_STATIC */
            if_icmpeq 8
         7: .line 398
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.MainNotPublicStatic:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
         8: .line 400
      StackMap locals: java.lang.reflect.Method int
      StackMap stack:
            aload 6 /* main */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 401
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            getstatic com.sun.tools.javac.resources.LauncherProperties$Errors.MainNotVoid:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        10: .line 403
      StackMap locals:
      StackMap stack:
            aload 6 /* main */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        11: .line 404
            aload 6 /* main */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* appArgs */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // int PUBLIC_STATIC
        end local 6 // java.lang.reflect.Method main
        end local 5 // java.lang.Class appClass
        12: .line 405
            goto 25
      StackMap locals: com.sun.tools.javac.launcher.Main java.lang.String java.lang.String[] com.sun.tools.javac.launcher.Main$Context java.lang.ClassLoader
      StackMap stack: java.lang.ClassNotFoundException
        13: pop
        14: .line 406
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* mainClassName */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.CantFindClass:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        15: .line 407
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        16: .line 408
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* mainClassName */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.CantFindMainMethod:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        17: .line 409
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        18: .line 410
            new com.sun.tools.javac.launcher.Main$Fault
            dup
            aload 0 /* this */
            aload 1 /* mainClassName */
            invokestatic com.sun.tools.javac.resources.LauncherProperties$Errors.CantAccessMainMethod:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokespecial com.sun.tools.javac.launcher.Main$Fault.<init>:(Lcom/sun/tools/javac/launcher/Main;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
            athrow
        19: .line 411
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
        20: .line 413
            aload 5 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getStackTrace:()[Ljava/lang/StackTraceElement;
            arraylength
            istore 6 /* invocationFrames */
        start local 6 // int invocationFrames
        21: .line 414
            aload 5 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 7 /* target */
        start local 7 // java.lang.Throwable target
        22: .line 415
            aload 7 /* target */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 8 /* targetTrace */
        start local 8 // java.lang.StackTraceElement[] targetTrace
        23: .line 416
            aload 7 /* target */
            aload 8 /* targetTrace */
            iconst_0
            aload 8 /* targetTrace */
            arraylength
            iload 6 /* invocationFrames */
            isub
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            invokevirtual java.lang.Throwable.setStackTrace:([Ljava/lang/StackTraceElement;)V
        24: .line 417
            aload 5 /* e */
            athrow
        end local 8 // java.lang.StackTraceElement[] targetTrace
        end local 7 // java.lang.Throwable target
        end local 6 // int invocationFrames
        end local 5 // java.lang.reflect.InvocationTargetException e
        25: .line 419
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.ClassLoader cl
        end local 3 // com.sun.tools.javac.launcher.Main$Context context
        end local 2 // java.lang.String[] appArgs
        end local 1 // java.lang.String mainClassName
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lcom/sun/tools/javac/launcher/Main;
            0   26     1     mainClassName  Ljava/lang/String;
            0   26     2           appArgs  [Ljava/lang/String;
            0   26     3           context  Lcom/sun/tools/javac/launcher/Main$Context;
            1   26     4                cl  Ljava/lang/ClassLoader;
            2   12     5          appClass  Ljava/lang/Class<*>;
            5   12     6              main  Ljava/lang/reflect/Method;
            6   12     7     PUBLIC_STATIC  I
           20   25     5                 e  Ljava/lang/reflect/InvocationTargetException;
           21   25     6  invocationFrames  I
           22   25     7            target  Ljava/lang/Throwable;
           23   25     8       targetTrace  [Ljava/lang/StackTraceElement;
      Exception table:
        from    to  target  type
           1    12      13  Class java.lang.ClassNotFoundException
           1    12      15  Class java.lang.NoSuchMethodException
           1    12      17  Class java.lang.IllegalAccessException
           1    12      19  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws com.sun.tools.javac.launcher.Main$Fault, java.lang.reflect.InvocationTargetException
    MethodParameters:
               Name  Flags
      mainClassName  
      appArgs        
      context        

  private java.lang.String getMessage(com.sun.tools.javac.util.JCDiagnostic$Error);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$Error;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.launcher.Main this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$Error error
         0: .line 432
            aload 1 /* error */
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Error.key:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 433
            aload 1 /* error */
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Error.getArgs:()[Ljava/lang/Object;
            astore 3 /* args */
        start local 3 // java.lang.Object[] args
         2: .line 435
            aload 0 /* this */
            getfield com.sun.tools.javac.launcher.Main.resourceBundle:Ljava/util/ResourceBundle;
            ifnonnull 5
         3: .line 436
            aload 0 /* this */
            ldc "com.sun.tools.javac.resources.launcher"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putfield com.sun.tools.javac.launcher.Main.resourceBundle:Ljava/util/ResourceBundle;
         4: .line 437
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.launcher.Main.resourceBundle:Ljava/util/ResourceBundle;
            ldc "launcher.error"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield com.sun.tools.javac.launcher.Main.errorPrefix:Ljava/lang/String;
         5: .line 439
      StackMap locals: java.lang.String java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.launcher.Main.resourceBundle:Ljava/util/ResourceBundle;
            aload 2 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* resource */
        start local 4 // java.lang.String resource
         6: .line 440
            aload 4 /* resource */
            aload 3 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* message */
        start local 5 // java.lang.String message
         7: .line 441
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.launcher.Main.errorPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: areturn
        end local 5 // java.lang.String message
        end local 4 // java.lang.String resource
         9: .line 442
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            pop
        10: .line 443
            new java.lang.StringBuilder
            dup
            ldc "Cannot access resource; "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* args */
            invokestatic java.util.Arrays.toString:([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;
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.String key
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$Error error
        end local 0 // com.sun.tools.javac.launcher.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/sun/tools/javac/launcher/Main;
            0   11     1     error  Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            1   11     2       key  Ljava/lang/String;
            2   11     3      args  [Ljava/lang/Object;
            6    9     4  resource  Ljava/lang/String;
            7    9     5   message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     8       9  Class java.util.MissingResourceException
    MethodParameters:
       Name  Flags
      error  
}
SourceFile: "Main.java"
NestMembers:
  com.sun.tools.javac.launcher.Main$1  com.sun.tools.javac.launcher.Main$Context  com.sun.tools.javac.launcher.Main$Fault  com.sun.tools.javac.launcher.Main$MainClassListener  com.sun.tools.javac.launcher.Main$MemoryClassLoader  com.sun.tools.javac.launcher.Main$MemoryFileManager  com.sun.tools.javac.launcher.Main$MemoryFileManager$1  com.sun.tools.javac.launcher.Main$MemoryFileManager$1$1
InnerClasses:
  com.sun.tools.javac.launcher.Main$1
  private Context = com.sun.tools.javac.launcher.Main$Context of com.sun.tools.javac.launcher.Main
  public Fault = com.sun.tools.javac.launcher.Main$Fault of com.sun.tools.javac.launcher.Main
  MainClassListener = com.sun.tools.javac.launcher.Main$MainClassListener of com.sun.tools.javac.launcher.Main
  private MemoryClassLoader = com.sun.tools.javac.launcher.Main$MemoryClassLoader of com.sun.tools.javac.launcher.Main
  private MemoryFileManager = com.sun.tools.javac.launcher.Main$MemoryFileManager of com.sun.tools.javac.launcher.Main
  public Errors = com.sun.tools.javac.resources.LauncherProperties$Errors of com.sun.tools.javac.resources.LauncherProperties
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject