public class com.sun.tools.javac.main.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.main.Main
  super_class: java.lang.Object
{
  java.lang.String ownName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.io.PrintWriter stdOut;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0000) 

  java.io.PrintWriter stdErr;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0000) 

  public com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0001) ACC_PUBLIC

  boolean apiMode;
    descriptor: Z
    flags: (0x0000) 

  private static final java.lang.String ENV_OPT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JDK_JAVAC_OPTIONS"

  private javax.tools.JavaFileManager fileManager;
    descriptor: Ljavax/tools/JavaFileManager;
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.String javacBundleName;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.tools.javac.resources.javac"

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String name
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 116
            aload 0 /* this */
            aload 1 /* name */
            putfield com.sun.tools.javac.main.Main.ownName:Ljava/lang/String;
         2: .line 117
            return
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void <init>(java.lang.String, java.io.PrintWriter);
    descriptor: (Ljava/lang/String;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String name
        start local 2 // java.io.PrintWriter out
         0: .line 124
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 125
            aload 0 /* this */
            aload 1 /* name */
            putfield com.sun.tools.javac.main.Main.ownName:Ljava/lang/String;
         2: .line 126
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* out */
            dup_x1
            putfield com.sun.tools.javac.main.Main.stdErr:Ljava/io/PrintWriter;
            putfield com.sun.tools.javac.main.Main.stdOut:Ljava/io/PrintWriter;
         3: .line 127
            return
        end local 2 // java.io.PrintWriter out
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/main/Main;
            0    4     1  name  Ljava/lang/String;
            0    4     2   out  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      name  
      out   

  public void <init>(java.lang.String, java.io.PrintWriter, java.io.PrintWriter);
    descriptor: (Ljava/lang/String;Ljava/io/PrintWriter;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String name
        start local 2 // java.io.PrintWriter out
        start local 3 // java.io.PrintWriter err
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 136
            aload 0 /* this */
            aload 1 /* name */
            putfield com.sun.tools.javac.main.Main.ownName:Ljava/lang/String;
         2: .line 137
            aload 0 /* this */
            aload 2 /* out */
            putfield com.sun.tools.javac.main.Main.stdOut:Ljava/io/PrintWriter;
         3: .line 138
            aload 0 /* this */
            aload 3 /* err */
            putfield com.sun.tools.javac.main.Main.stdErr:Ljava/io/PrintWriter;
         4: .line 139
            return
        end local 3 // java.io.PrintWriter err
        end local 2 // java.io.PrintWriter out
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/main/Main;
            0    5     1  name  Ljava/lang/String;
            0    5     2   out  Ljava/io/PrintWriter;
            0    5     3   err  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      name  
      out   
      err   

  void reportDiag(com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo diag
         0: .line 144
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.apiMode:Z
            ifeq 3
         1: .line 145
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* diag */
            invokevirtual com.sun.tools.javac.util.Log.localize:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         2: .line 146
            new com.sun.tools.javac.util.PropagatedException
            dup
            new java.lang.IllegalStateException
            dup
            aload 2 /* msg */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokespecial com.sun.tools.javac.util.PropagatedException.<init>:(Ljava/lang/RuntimeException;)V
            athrow
        end local 2 // java.lang.String msg
         3: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* diag */
            invokevirtual com.sun.tools.javac.main.Main.reportHelper:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
         4: .line 149
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.usage"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.ownName:Ljava/lang/String;
            aastore
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 150
            return
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo diag
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/main/Main;
            0    6     1  diag  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;
            2    3     2   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      diag  

  void reportHelper(com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo diag
         0: .line 155
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* diag */
            invokevirtual com.sun.tools.javac.util.Log.localize:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         1: .line 156
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.Error:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.localize:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)Ljava/lang/String;
            astore 3 /* errorPrefix */
        start local 3 // java.lang.String errorPrefix
         2: .line 157
            aload 2 /* msg */
            aload 3 /* errorPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 2 /* msg */
            goto 4
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            aload 3 /* errorPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 2 /* msg */
         5: .line 158
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            aload 2 /* msg */
            invokevirtual com.sun.tools.javac.util.Log.printRawLines:(Ljava/lang/String;)V
         6: .line 159
            return
        end local 3 // java.lang.String errorPrefix
        end local 2 // java.lang.String msg
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo diag
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/sun/tools/javac/main/Main;
            0    7     1         diag  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;
            1    7     2          msg  Ljava/lang/String;
            2    7     3  errorPrefix  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      diag  

  public com.sun.tools.javac.main.Main$Result compile(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lcom/sun/tools/javac/main/Main$Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String[] args
         0: .line 168
            new com.sun.tools.javac.util.Context
            dup
            invokespecial com.sun.tools.javac.util.Context.<init>:()V
            astore 2 /* context */
        start local 2 // com.sun.tools.javac.util.Context context
         1: .line 169
            aload 2 /* context */
            invokestatic com.sun.tools.javac.file.JavacFileManager.preRegister:(Lcom/sun/tools/javac/util/Context;)V
         2: .line 170
            aload 0 /* this */
            aload 1 /* args */
            aload 2 /* context */
            invokevirtual com.sun.tools.javac.main.Main.compile:([Ljava/lang/String;Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/Main$Result;
            astore 3 /* result */
        start local 3 // com.sun.tools.javac.main.Main$Result result
         3: .line 173
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            ifnull 8
         4: .line 174
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            invokeinterface javax.tools.JavaFileManager.close:()V
         5: .line 175
            goto 8
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Main$Result
      StackMap stack: java.io.IOException
         6: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         7: .line 176
            aload 0 /* this */
            aload 4 /* ex */
            invokevirtual com.sun.tools.javac.main.Main.bugMessage:(Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException ex
         8: .line 178
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // com.sun.tools.javac.main.Main$Result result
        end local 2 // com.sun.tools.javac.util.Context context
        end local 1 // java.lang.String[] args
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/tools/javac/main/Main;
            0    9     1     args  [Ljava/lang/String;
            1    9     2  context  Lcom/sun/tools/javac/util/Context;
            3    9     3   result  Lcom/sun/tools/javac/main/Main$Result;
            7    8     4       ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.io.IOException
    MethodParameters:
      Name  Flags
      args  

  public com.sun.tools.javac.main.Main$Result compile(java.lang.String[], com.sun.tools.javac.util.Context);
    descriptor: ([Ljava/lang/String;Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/Main$Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=17, args_size=3
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String[] argv
        start local 2 // com.sun.tools.javac.util.Context context
         0: .line 189
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.stdOut:Ljava/io/PrintWriter;
            ifnull 2
         1: .line 190
            aload 2 /* context */
            getstatic com.sun.tools.javac.util.Log.outKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.stdOut:Ljava/io/PrintWriter;
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.stdErr:Ljava/io/PrintWriter;
            ifnull 4
         3: .line 194
            aload 2 /* context */
            getstatic com.sun.tools.javac.util.Log.errKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.stdErr:Ljava/io/PrintWriter;
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         4: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* context */
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
         5: .line 199
            aload 1 /* argv */
            arraylength
            ifne 11
         6: .line 200
            new com.sun.tools.javac.main.Main$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            invokespecial com.sun.tools.javac.main.Main$1.<init>:(Lcom/sun/tools/javac/main/Main;Lcom/sun/tools/javac/util/Log;)V
            astore 3 /* h */
        start local 3 // com.sun.tools.javac.main.OptionHelper h
         7: .line 207
            getstatic com.sun.tools.javac.main.Option.HELP:Lcom/sun/tools/javac/main/Option;
            aload 3 /* h */
            ldc "-help"
            invokevirtual com.sun.tools.javac.main.Option.process:(Lcom/sun/tools/javac/main/OptionHelper;Ljava/lang/String;)V
         8: .line 208
            goto 10
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.OptionHelper
      StackMap stack: com.sun.tools.javac.main.Option$InvalidValueException
         9: pop
        10: .line 210
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        end local 3 // com.sun.tools.javac.main.OptionHelper h
        11: .line 215
      StackMap locals:
      StackMap stack:
            ldc "JDK_JAVAC_OPTIONS"
            aload 1 /* argv */
            invokestatic com.sun.tools.javac.main.CommandLine.parse:(Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* argv */
        12: .line 216
            goto 23
      StackMap locals:
      StackMap stack: com.sun.tools.javac.main.CommandLine$UnmatchedQuote
        13: astore 3 /* ex */
        start local 3 // com.sun.tools.javac.main.CommandLine$UnmatchedQuote ex
        14: .line 217
            aload 0 /* this */
            aload 3 /* ex */
            getfield com.sun.tools.javac.main.CommandLine$UnmatchedQuote.variableName:Ljava/lang/String;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.UnmatchedQuote:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.main.Main.reportDiag:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
        15: .line 218
            getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        end local 3 // com.sun.tools.javac.main.CommandLine$UnmatchedQuote ex
        16: .line 219
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        17: .line 220
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.FileNotFound:(Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.main.Main.reportHelper:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
        18: .line 221
            getstatic com.sun.tools.javac.main.Main$Result.SYSERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        end local 3 // java.io.IOException e
        19: .line 222
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ex */
        start local 3 // java.io.IOException ex
        20: .line 223
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.io"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
        21: .line 224
            aload 3 /* ex */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintWriter;)V
        22: .line 225
            getstatic com.sun.tools.javac.main.Main$Result.SYSERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        end local 3 // java.io.IOException ex
        23: .line 228
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            invokestatic com.sun.tools.javac.main.Arguments.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/Arguments;
            astore 3 /* args */
        start local 3 // com.sun.tools.javac.main.Arguments args
        24: .line 229
            aload 3 /* args */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.ownName:Ljava/lang/String;
            aload 1 /* argv */
            invokevirtual com.sun.tools.javac.main.Arguments.init:(Ljava/lang/String;[Ljava/lang/String;)V
        25: .line 231
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.nerrors:I
            ifle 27
        26: .line 232
            getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        27: .line 234
      StackMap locals: com.sun.tools.javac.main.Arguments
      StackMap stack:
            aload 2 /* context */
            invokestatic com.sun.tools.javac.util.Options.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Options;
            astore 4 /* options */
        start local 4 // com.sun.tools.javac.util.Options options
        28: .line 237
            aload 4 /* options */
            ldc "stdout"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            istore 5 /* forceStdOut */
        start local 5 // boolean forceStdOut
        29: .line 238
            iload 5 /* forceStdOut */
            ifeq 32
        30: .line 239
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            invokevirtual com.sun.tools.javac.util.Log.flush:()V
        31: .line 240
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            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
            invokevirtual com.sun.tools.javac.util.Log.setWriters:(Ljava/io/PrintWriter;)V
        32: .line 245
      StackMap locals: com.sun.tools.javac.util.Options int
      StackMap stack:
            aload 4 /* options */
            ldc "nonBatchMode"
            invokevirtual com.sun.tools.javac.util.Options.isUnset:(Ljava/lang/String;)Z
            ifeq 35
        33: .line 246
            ldc "nonBatchMode"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 35
        34: .line 245
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 6 /* batchMode */
        start local 6 // boolean batchMode
        37: .line 247
            iload 6 /* batchMode */
            ifeq 39
        38: .line 248
            aload 2 /* context */
            invokestatic com.sun.tools.javac.file.CacheFSInfo.preRegister:(Lcom/sun/tools/javac/util/Context;)V
        39: .line 250
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 7 /* ok */
        start local 7 // boolean ok
        40: .line 253
            aload 0 /* this */
            aload 2 /* context */
            ldc Ljavax/tools/JavaFileManager;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.tools.JavaFileManager
            putfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
        41: .line 254
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            instanceof com.sun.tools.javac.main.DelegatingJavaFileManager
            ifeq 43
        42: .line 255
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            checkcast com.sun.tools.javac.main.DelegatingJavaFileManager
            invokevirtual com.sun.tools.javac.main.DelegatingJavaFileManager.getBaseFileManager:()Ljavax/tools/JavaFileManager;
            goto 44
      StackMap locals: int
      StackMap stack:
        43: aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
        44: .line 254
      StackMap locals:
      StackMap stack: javax.tools.JavaFileManager
            astore 8 /* undel */
        start local 8 // javax.tools.JavaFileManager undel
        45: .line 256
            aload 8 /* undel */
            instanceof com.sun.tools.javac.file.BaseFileManager
            ifeq 48
        46: .line 257
            aload 8 /* undel */
            checkcast com.sun.tools.javac.file.BaseFileManager
            aload 2 /* context */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.setContext:(Lcom/sun/tools/javac/util/Context;)V
        47: .line 258
            iload 7 /* ok */
            aload 8 /* undel */
            checkcast com.sun.tools.javac.file.BaseFileManager
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.getDeferredFileManagerOptions:()Ljava/util/Map;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.handleOptions:(Ljava/util/Map;)Z
            iand
            istore 7 /* ok */
        48: .line 262
      StackMap locals: javax.tools.JavaFileManager
      StackMap stack:
            aload 4 /* options */
            ldc "showClass"
            invokevirtual com.sun.tools.javac.util.Options.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* showClass */
        start local 9 // java.lang.String showClass
        49: .line 263
            aload 9 /* showClass */
            ifnull 53
        50: .line 264
            aload 9 /* showClass */
            ldc "showClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 52
        51: .line 265
            ldc "com.sun.tools.javac.Main"
            astore 9 /* showClass */
        52: .line 266
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 9 /* showClass */
            invokevirtual com.sun.tools.javac.main.Main.showClass:(Ljava/lang/String;)V
        53: .line 269
      StackMap locals:
      StackMap stack:
            iload 7 /* ok */
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.validate:()Z
            iand
            istore 7 /* ok */
        54: .line 270
            iload 7 /* ok */
            ifeq 55
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.nerrors:I
            ifle 56
        55: .line 271
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        56: .line 273
      StackMap locals:
      StackMap stack:
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.isEmpty:()Z
            ifeq 58
        57: .line 274
            getstatic com.sun.tools.javac.main.Main$Result.OK:Lcom/sun/tools/javac/main/Main$Result;
            areturn
        58: .line 277
      StackMap locals:
      StackMap stack:
            aload 4 /* options */
            ldc "debug.completionDeps"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            ifeq 60
        59: .line 278
            aload 2 /* context */
            invokestatic com.sun.tools.javac.util.Dependencies$GraphDependencies.preRegister:(Lcom/sun/tools/javac/util/Context;)V
        60: .line 282
      StackMap locals:
      StackMap stack:
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.getPluginOpts:()Ljava/util/Set;
            astore 10 /* pluginOpts */
        start local 10 // java.util.Set pluginOpts
        61: .line 283
            aload 10 /* pluginOpts */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 62
            aload 2 /* context */
            ldc Lcom/sun/tools/javac/platform/PlatformDescription;
            invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
            ifnull 64
        62: .line 284
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* context */
            invokestatic com.sun.tools.javac.api.BasicJavacTask.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/source/util/JavacTask;
            checkcast com.sun.tools.javac.api.BasicJavacTask
            astore 11 /* t */
        start local 11 // com.sun.tools.javac.api.BasicJavacTask t
        63: .line 285
            aload 11 /* t */
            aload 10 /* pluginOpts */
            invokevirtual com.sun.tools.javac.api.BasicJavacTask.initPlugins:(Ljava/util/Set;)V
        end local 11 // com.sun.tools.javac.api.BasicJavacTask t
        64: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            getstatic com.sun.tools.javac.main.Option.MULTIRELEASE:Lcom/sun/tools/javac/main/Option;
            getfield com.sun.tools.javac.main.Option.primaryName:Ljava/lang/String;
            invokeinterface javax.tools.JavaFileManager.isSupportedOption:(Ljava/lang/String;)I
            iconst_1
            if_icmpne 68
        65: .line 290
            aload 2 /* context */
            invokestatic com.sun.tools.javac.jvm.Target.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/jvm/Target;
            astore 11 /* target */
        start local 11 // com.sun.tools.javac.jvm.Target target
        66: .line 291
            aload 11 /* target */
            invokevirtual com.sun.tools.javac.jvm.Target.multiReleaseValue:()Ljava/lang/String;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 12 /* list */
        start local 12 // com.sun.tools.javac.util.List list
        67: .line 292
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.fileManager:Ljavax/tools/JavaFileManager;
            getstatic com.sun.tools.javac.main.Option.MULTIRELEASE:Lcom/sun/tools/javac/main/Option;
            getfield com.sun.tools.javac.main.Option.primaryName:Ljava/lang/String;
            aload 12 /* list */
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            invokeinterface javax.tools.JavaFileManager.handleOption:(Ljava/lang/String;Ljava/util/Iterator;)Z
            pop
        end local 12 // com.sun.tools.javac.util.List list
        end local 11 // com.sun.tools.javac.jvm.Target target
        68: .line 296
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            invokestatic com.sun.tools.javac.main.JavaCompiler.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/JavaCompiler;
            astore 11 /* comp */
        start local 11 // com.sun.tools.javac.main.JavaCompiler comp
        69: .line 299
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.getDocLintOpts:()Lcom/sun/tools/javac/util/List;
            astore 12 /* docLintOpts */
        start local 12 // com.sun.tools.javac.util.List docLintOpts
        70: .line 300
            aload 12 /* docLintOpts */
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifne 73
        71: .line 301
            aload 2 /* context */
            invokestatic com.sun.tools.javac.api.BasicJavacTask.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/source/util/JavacTask;
            checkcast com.sun.tools.javac.api.BasicJavacTask
            astore 13 /* t */
        start local 13 // com.sun.tools.javac.api.BasicJavacTask t
        72: .line 302
            aload 13 /* t */
            aload 12 /* docLintOpts */
            invokevirtual com.sun.tools.javac.api.BasicJavacTask.initDocLint:(Lcom/sun/tools/javac/util/List;)V
        end local 13 // com.sun.tools.javac.api.BasicJavacTask t
        73: .line 305
      StackMap locals: com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* options */
            getstatic com.sun.tools.javac.main.Option.XSTDOUT:Lcom/sun/tools/javac/main/Option;
            invokevirtual com.sun.tools.javac.util.Options.get:(Lcom/sun/tools/javac/main/Option;)Ljava/lang/String;
            ifnull 75
        74: .line 307
            aload 11 /* comp */
            aload 11 /* comp */
            getfield com.sun.tools.javac.main.JavaCompiler.closeables:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.main.JavaCompiler.closeables:Lcom/sun/tools/javac/util/List;
        75: .line 311
      StackMap locals:
      StackMap stack:
            aload 11 /* comp */
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.getFileObjects:()Ljava/util/Set;
            aload 3 /* args */
            invokevirtual com.sun.tools.javac.main.Arguments.getClassNames:()Ljava/util/Set;
            aconst_null
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.main.JavaCompiler.compile:(Ljava/util/Collection;Ljava/util/Collection;Ljava/lang/Iterable;Ljava/util/Collection;)V
        76: .line 313
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.expectDiagKeys:Ljava/util/Set;
            ifnull 94
        77: .line 314
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.expectDiagKeys:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 86
        78: .line 315
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            ldc "all expected diagnostics found"
            invokevirtual com.sun.tools.javac.util.Log.printRawLines:(Ljava/lang/String;)V
        79: .line 316
            getstatic com.sun.tools.javac.main.Main$Result.OK:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
        80: .line 350
            aload 11 /* comp */
            ifnull 85
        81: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
        82: .line 353
            goto 85
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List top top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
        83: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
        84: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
        85: .line 316
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        86: .line 318
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            new java.lang.StringBuilder
            dup
            ldc "expected diagnostic keys not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getfield com.sun.tools.javac.util.Log.expectDiagKeys:Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Log.printRawLines:(Ljava/lang/String;)V
        87: .line 319
            getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
        88: .line 350
            aload 11 /* comp */
            ifnull 93
        89: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
        90: .line 353
            goto 93
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List top top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
        91: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
        92: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
        93: .line 319
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        94: .line 323
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack:
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.errorCount:()I
            ifne 95
            getstatic com.sun.tools.javac.main.Main$Result.OK:Lcom/sun/tools/javac/main/Main$Result;
            goto 96
      StackMap locals:
      StackMap stack:
        95: getstatic com.sun.tools.javac.main.Main$Result.ERROR:Lcom/sun/tools/javac/main/Main$Result;
      StackMap locals:
      StackMap stack: com.sun.tools.javac.main.Main$Result
        96: astore 15
        97: .line 350
            aload 11 /* comp */
            ifnull 102
        98: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
        99: .line 353
            goto 102
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List top top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       100: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       101: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       102: .line 323
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
       103: .line 325
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: java.lang.VirtualMachineError
            astore 13 /* ex */
        start local 13 // java.lang.VirtualMachineError ex
       104: .line 326
            aload 0 /* this */
            aload 13 /* ex */
            invokevirtual com.sun.tools.javac.main.Main.resourceMessage:(Ljava/lang/Throwable;)V
       105: .line 327
            getstatic com.sun.tools.javac.main.Main$Result.SYSERR:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
       106: .line 350
            aload 11 /* comp */
            ifnull 111
       107: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       108: .line 353
            goto 111
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List java.lang.VirtualMachineError top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       109: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       110: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       111: .line 327
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        end local 13 // java.lang.VirtualMachineError ex
       112: .line 328
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: com.sun.tools.javac.util.FatalError
            astore 13 /* ex */
        start local 13 // com.sun.tools.javac.util.FatalError ex
       113: .line 329
            aload 0 /* this */
            aload 13 /* ex */
            aload 4 /* options */
            invokevirtual com.sun.tools.javac.main.Main.feMessage:(Ljava/lang/Throwable;Lcom/sun/tools/javac/util/Options;)V
       114: .line 330
            getstatic com.sun.tools.javac.main.Main$Result.SYSERR:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
       115: .line 350
            aload 11 /* comp */
            ifnull 120
       116: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       117: .line 353
            goto 120
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List com.sun.tools.javac.util.FatalError top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       118: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       119: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       120: .line 330
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        end local 13 // com.sun.tools.javac.util.FatalError ex
       121: .line 331
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: com.sun.tools.javac.processing.AnnotationProcessingError
            astore 13 /* ex */
        start local 13 // com.sun.tools.javac.processing.AnnotationProcessingError ex
       122: .line 332
            aload 0 /* this */
            aload 13 /* ex */
            invokevirtual com.sun.tools.javac.main.Main.apMessage:(Lcom/sun/tools/javac/processing/AnnotationProcessingError;)V
       123: .line 333
            getstatic com.sun.tools.javac.main.Main$Result.SYSERR:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
       124: .line 350
            aload 11 /* comp */
            ifnull 129
       125: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       126: .line 353
            goto 129
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List com.sun.tools.javac.processing.AnnotationProcessingError top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       127: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       128: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       129: .line 333
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        end local 13 // com.sun.tools.javac.processing.AnnotationProcessingError ex
       130: .line 334
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: com.sun.tools.javac.util.PropagatedException
            astore 13 /* ex */
        start local 13 // com.sun.tools.javac.util.PropagatedException ex
       131: .line 336
            aload 13 /* ex */
            invokevirtual com.sun.tools.javac.util.PropagatedException.getCause:()Ljava/lang/RuntimeException;
            athrow
        end local 13 // com.sun.tools.javac.util.PropagatedException ex
       132: .line 337
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessError
            astore 13 /* iae */
        start local 13 // java.lang.IllegalAccessError iae
       133: .line 338
            aload 0 /* this */
            aload 13 /* iae */
            invokevirtual com.sun.tools.javac.main.Main.twoClassLoadersInUse:(Ljava/lang/IllegalAccessError;)Z
            ifeq 135
       134: .line 339
            aload 0 /* this */
            aload 13 /* iae */
            invokevirtual com.sun.tools.javac.main.Main.bugMessage:(Ljava/lang/Throwable;)V
       135: .line 341
      StackMap locals: java.lang.IllegalAccessError
      StackMap stack:
            getstatic com.sun.tools.javac.main.Main$Result.ABNORMAL:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
       136: .line 350
            aload 11 /* comp */
            ifnull 141
       137: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       138: .line 353
            goto 141
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List java.lang.IllegalAccessError top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       139: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       140: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       141: .line 341
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        end local 13 // java.lang.IllegalAccessError iae
       142: .line 342
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: java.lang.Throwable
            astore 13 /* ex */
        start local 13 // java.lang.Throwable ex
       143: .line 346
            aload 11 /* comp */
            ifnull 144
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.errorCount:()I
            ifeq 144
            aload 4 /* options */
            ldc "dev"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            ifeq 145
       144: .line 347
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 13 /* ex */
            invokevirtual com.sun.tools.javac.main.Main.bugMessage:(Ljava/lang/Throwable;)V
       145: .line 348
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.main.Main$Result.ABNORMAL:Lcom/sun/tools/javac/main/Main$Result;
            astore 15
       146: .line 350
            aload 11 /* comp */
            ifnull 151
       147: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       148: .line 353
            goto 151
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List java.lang.Throwable top com.sun.tools.javac.main.Main$Result
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       149: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       150: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       151: .line 348
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        end local 13 // java.lang.Throwable ex
       152: .line 349
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List
      StackMap stack: java.lang.Throwable
            astore 14
       153: .line 350
            aload 11 /* comp */
            ifnull 158
       154: .line 352
            aload 11 /* comp */
            invokevirtual com.sun.tools.javac.main.JavaCompiler.close:()V
       155: .line 353
            goto 158
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String[] com.sun.tools.javac.util.Context com.sun.tools.javac.main.Arguments com.sun.tools.javac.util.Options int int int javax.tools.JavaFileManager java.lang.String java.util.Set com.sun.tools.javac.main.JavaCompiler com.sun.tools.javac.util.List top java.lang.Throwable
      StackMap stack: com.sun.tools.javac.util.ClientCodeException
       156: astore 16 /* ex */
        start local 16 // com.sun.tools.javac.util.ClientCodeException ex
       157: .line 354
            new java.lang.RuntimeException
            dup
            aload 16 /* ex */
            invokevirtual com.sun.tools.javac.util.ClientCodeException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // com.sun.tools.javac.util.ClientCodeException ex
       158: .line 357
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
        end local 12 // com.sun.tools.javac.util.List docLintOpts
        end local 11 // com.sun.tools.javac.main.JavaCompiler comp
        end local 10 // java.util.Set pluginOpts
        end local 9 // java.lang.String showClass
        end local 8 // javax.tools.JavaFileManager undel
        end local 7 // boolean ok
        end local 6 // boolean batchMode
        end local 5 // boolean forceStdOut
        end local 4 // com.sun.tools.javac.util.Options options
        end local 3 // com.sun.tools.javac.main.Arguments args
        end local 2 // com.sun.tools.javac.util.Context context
        end local 1 // java.lang.String[] argv
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  159     0         this  Lcom/sun/tools/javac/main/Main;
            0  159     1         argv  [Ljava/lang/String;
            0  159     2      context  Lcom/sun/tools/javac/util/Context;
            7   11     3            h  Lcom/sun/tools/javac/main/OptionHelper;
           14   16     3           ex  Lcom/sun/tools/javac/main/CommandLine$UnmatchedQuote;
           17   19     3            e  Ljava/io/IOException;
           20   23     3           ex  Ljava/io/IOException;
           24  159     3         args  Lcom/sun/tools/javac/main/Arguments;
           28  159     4      options  Lcom/sun/tools/javac/util/Options;
           29  159     5  forceStdOut  Z
           37  159     6    batchMode  Z
           40  159     7           ok  Z
           45  159     8        undel  Ljavax/tools/JavaFileManager;
           49  159     9    showClass  Ljava/lang/String;
           61  159    10   pluginOpts  Ljava/util/Set<Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;>;
           63   64    11            t  Lcom/sun/tools/javac/api/BasicJavacTask;
           66   68    11       target  Lcom/sun/tools/javac/jvm/Target;
           67   68    12         list  Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;
           69  159    11         comp  Lcom/sun/tools/javac/main/JavaCompiler;
           70  159    12  docLintOpts  Lcom/sun/tools/javac/util/List<Ljava/lang/String;>;
           72   73    13            t  Lcom/sun/tools/javac/api/BasicJavacTask;
          104  112    13           ex  Ljava/lang/VirtualMachineError;
          113  121    13           ex  Lcom/sun/tools/javac/util/FatalError;
          122  130    13           ex  Lcom/sun/tools/javac/processing/AnnotationProcessingError;
          131  132    13           ex  Lcom/sun/tools/javac/util/PropagatedException;
          133  142    13          iae  Ljava/lang/IllegalAccessError;
          143  152    13           ex  Ljava/lang/Throwable;
           84   85    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
           92   93    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          101  102    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          110  111    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          119  120    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          128  129    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          140  141    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          150  151    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
          157  158    16           ex  Lcom/sun/tools/javac/util/ClientCodeException;
      Exception table:
        from    to  target  type
           7     8       9  Class com.sun.tools.javac.main.Option$InvalidValueException
          11    12      13  Class com.sun.tools.javac.main.CommandLine$UnmatchedQuote
          11    12      16  Class java.io.FileNotFoundException
          11    12      16  Class java.nio.file.NoSuchFileException
          11    12      19  Class java.io.IOException
          81    82      83  Class com.sun.tools.javac.util.ClientCodeException
          89    90      91  Class com.sun.tools.javac.util.ClientCodeException
          98    99     100  Class com.sun.tools.javac.util.ClientCodeException
          75    80     103  Class java.lang.OutOfMemoryError
          86    88     103  Class java.lang.OutOfMemoryError
          94    97     103  Class java.lang.OutOfMemoryError
          75    80     103  Class java.lang.StackOverflowError
          86    88     103  Class java.lang.StackOverflowError
          94    97     103  Class java.lang.StackOverflowError
         107   108     109  Class com.sun.tools.javac.util.ClientCodeException
          75    80     112  Class com.sun.tools.javac.util.FatalError
          86    88     112  Class com.sun.tools.javac.util.FatalError
          94    97     112  Class com.sun.tools.javac.util.FatalError
         116   117     118  Class com.sun.tools.javac.util.ClientCodeException
          75    80     121  Class com.sun.tools.javac.processing.AnnotationProcessingError
          86    88     121  Class com.sun.tools.javac.processing.AnnotationProcessingError
          94    97     121  Class com.sun.tools.javac.processing.AnnotationProcessingError
         125   126     127  Class com.sun.tools.javac.util.ClientCodeException
          75    80     130  Class com.sun.tools.javac.util.PropagatedException
          86    88     130  Class com.sun.tools.javac.util.PropagatedException
          94    97     130  Class com.sun.tools.javac.util.PropagatedException
          75    80     132  Class java.lang.IllegalAccessError
          86    88     132  Class java.lang.IllegalAccessError
          94    97     132  Class java.lang.IllegalAccessError
         137   138     139  Class com.sun.tools.javac.util.ClientCodeException
          75    80     142  Class java.lang.Throwable
          86    88     142  Class java.lang.Throwable
          94    97     142  Class java.lang.Throwable
         147   148     149  Class com.sun.tools.javac.util.ClientCodeException
          75    80     152  any
          86    88     152  any
          94    97     152  any
         103   106     152  any
         112   115     152  any
         121   124     152  any
         130   136     152  any
         142   146     152  any
         154   155     156  Class com.sun.tools.javac.util.ClientCodeException
    MethodParameters:
         Name  Flags
      argv     
      context  

  private boolean twoClassLoadersInUse(java.lang.IllegalAccessError);
    descriptor: (Ljava/lang/IllegalAccessError;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.IllegalAccessError iae
         0: .line 361
            aload 1 /* iae */
            invokevirtual java.lang.IllegalAccessError.getMessage:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         1: .line 362
            ldc "(?i)(?<=tried to access class )([a-z_$][a-z\\d_$]*\\.)*[a-z_$][a-z\\d_$]*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 3 /* pattern */
        start local 3 // java.util.regex.Pattern pattern
         2: .line 363
            aload 3 /* pattern */
            aload 2 /* msg */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* matcher */
        start local 4 // java.util.regex.Matcher matcher
         3: .line 364
            aload 4 /* matcher */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 20
         4: .line 366
            aload 4 /* matcher */
            iconst_0
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 5 /* otherClassName */
        start local 5 // java.lang.String otherClassName
         5: .line 367
            aload 5 /* otherClassName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* otherClass */
        start local 6 // java.lang.Class otherClass
         6: .line 368
            aload 6 /* otherClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 7 /* otherClassLoader */
        start local 7 // java.lang.ClassLoader otherClassLoader
         7: .line 369
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 8 /* javacClassLoader */
        start local 8 // java.lang.ClassLoader javacClassLoader
         8: .line 370
            aload 8 /* javacClassLoader */
            aload 7 /* otherClassLoader */
            if_acmpeq 20
         9: .line 371
            aload 6 /* otherClass */
            invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 9 /* otherClassCodeSource */
        start local 9 // java.security.CodeSource otherClassCodeSource
        10: .line 372
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 10 /* javacCodeSource */
        start local 10 // java.security.CodeSource javacCodeSource
        11: .line 373
            aload 9 /* otherClassCodeSource */
            ifnull 16
            aload 10 /* javacCodeSource */
            ifnull 16
        12: .line 374
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            aload 9 /* otherClassCodeSource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        13: .line 375
            aload 10 /* javacCodeSource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        14: .line 374
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.TwoClassLoaders2:(Ljava/net/URL;Ljava/net/URL;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
        15: .line 376
            goto 17
        16: .line 377
      StackMap locals: com.sun.tools.javac.main.Main java.lang.IllegalAccessError java.lang.String java.util.regex.Pattern java.util.regex.Matcher java.lang.String java.lang.Class java.lang.ClassLoader java.lang.ClassLoader java.security.CodeSource java.security.CodeSource
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.TwoClassLoaders1:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticInfo;)V
        17: .line 379
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // java.security.CodeSource javacCodeSource
        end local 9 // java.security.CodeSource otherClassCodeSource
        end local 8 // java.lang.ClassLoader javacClassLoader
        end local 7 // java.lang.ClassLoader otherClassLoader
        end local 6 // java.lang.Class otherClass
        end local 5 // java.lang.String otherClassName
        18: .line 381
      StackMap locals: com.sun.tools.javac.main.Main java.lang.IllegalAccessError java.lang.String java.util.regex.Pattern java.util.regex.Matcher
      StackMap stack: java.lang.Throwable
            pop
        19: .line 382
            iconst_0
            ireturn
        20: .line 385
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.util.regex.Matcher matcher
        end local 3 // java.util.regex.Pattern pattern
        end local 2 // java.lang.String msg
        end local 1 // java.lang.IllegalAccessError iae
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lcom/sun/tools/javac/main/Main;
            0   21     1                   iae  Ljava/lang/IllegalAccessError;
            1   21     2                   msg  Ljava/lang/String;
            2   21     3               pattern  Ljava/util/regex/Pattern;
            3   21     4               matcher  Ljava/util/regex/Matcher;
            5   18     5        otherClassName  Ljava/lang/String;
            6   18     6            otherClass  Ljava/lang/Class<*>;
            7   18     7      otherClassLoader  Ljava/lang/ClassLoader;
            8   18     8      javacClassLoader  Ljava/lang/ClassLoader;
           10   18     9  otherClassCodeSource  Ljava/security/CodeSource;
           11   18    10       javacCodeSource  Ljava/security/CodeSource;
      Exception table:
        from    to  target  type
           4    17      18  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      iae   

  void bugMessage(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.Throwable ex
         0: .line 391
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.bug"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic com.sun.tools.javac.main.JavaCompiler.version:()Ljava/lang/String;
            aastore
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 392
            aload 1 /* ex */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         2: .line 393
            return
        end local 1 // java.lang.Throwable ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  void feMessage(java.lang.Throwable, com.sun.tools.javac.util.Options);
    descriptor: (Ljava/lang/Throwable;Lcom/sun/tools/javac/util/Options;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.Throwable ex
        start local 2 // com.sun.tools.javac.util.Options options
         0: .line 398
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual com.sun.tools.javac.util.Log.printRawLines:(Ljava/lang/String;)V
         1: .line 399
            aload 1 /* ex */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnull 3
            aload 2 /* options */
            ldc "dev"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 400
            aload 1 /* ex */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 402
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.util.Options options
        end local 1 // java.lang.Throwable ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/sun/tools/javac/main/Main;
            0    4     1       ex  Ljava/lang/Throwable;
            0    4     2  options  Lcom/sun/tools/javac/util/Options;
    MethodParameters:
         Name  Flags
      ex       
      options  

  void ioMessage(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.Throwable ex
         0: .line 407
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.io"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 408
            aload 1 /* ex */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         2: .line 409
            return
        end local 1 // java.lang.Throwable ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  void resourceMessage(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.Throwable ex
         0: .line 414
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.resource"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 415
            aload 1 /* ex */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         2: .line 416
            return
        end local 1 // java.lang.Throwable ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  void apMessage(com.sun.tools.javac.processing.AnnotationProcessingError);
    descriptor: (Lcom/sun/tools/javac/processing/AnnotationProcessingError;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // com.sun.tools.javac.processing.AnnotationProcessingError ex
         0: .line 422
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.proc.annotation.uncaught.exception"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 423
            aload 1 /* ex */
            invokevirtual com.sun.tools.javac.processing.AnnotationProcessingError.getCause:()Ljava/lang/Throwable;
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         2: .line 424
            return
        end local 1 // com.sun.tools.javac.processing.AnnotationProcessingError ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1    ex  Lcom/sun/tools/javac/processing/AnnotationProcessingError;
    MethodParameters:
      Name  Flags
      ex    

  void pluginMessage(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.Throwable ex
         0: .line 430
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$PrefixKind.JAVAC:Lcom/sun/tools/javac/util/Log$PrefixKind;
            ldc "msg.plugin.uncaught.exception"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.Log.printLines:(Lcom/sun/tools/javac/util/Log$PrefixKind;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 431
            aload 1 /* ex */
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         2: .line 432
            return
        end local 1 // java.lang.Throwable ex
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/main/Main;
            0    3     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  void showClass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=2
        start local 0 // com.sun.tools.javac.main.Main this
        start local 1 // java.lang.String className
         0: .line 436
            aload 0 /* this */
            getfield com.sun.tools.javac.main.Main.log:Lcom/sun/tools/javac/util/Log;
            getstatic com.sun.tools.javac.util.Log$WriterKind.NOTICE:Lcom/sun/tools/javac/util/Log$WriterKind;
            invokevirtual com.sun.tools.javac.util.Log.getWriter:(Lcom/sun/tools/javac/util/Log$WriterKind;)Ljava/io/PrintWriter;
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         1: .line 437
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "javac: show class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            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
         2: .line 439
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            new java.lang.StringBuilder
            dup
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* url */
        start local 3 // java.net.URL url
         3: .line 440
            aload 3 /* url */
            ifnull 5
         4: .line 441
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 444
      StackMap locals: java.io.PrintWriter java.net.URL
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
         6: aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            new java.lang.StringBuilder
            dup
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 6 /* in */
        start local 6 // java.io.InputStream in
         7: .line 447
            ldc "MD5"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 8 /* md */
        start local 8 // java.security.MessageDigest md
         8: .line 448
            aconst_null
            astore 9
            aconst_null
            astore 10
         9: new java.security.DigestInputStream
            dup
            aload 6 /* in */
            aload 8 /* md */
            invokespecial java.security.DigestInputStream.<init>:(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
            astore 11 /* din */
        start local 11 // java.security.DigestInputStream din
        10: .line 449
            sipush 8192
            newarray 8
            astore 12 /* buf */
        start local 12 // byte[] buf
        11: .line 451
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream top java.security.MessageDigest java.lang.Throwable java.lang.Throwable java.security.DigestInputStream byte[]
      StackMap stack:
            aload 11 /* din */
            aload 12 /* buf */
            invokevirtual java.security.DigestInputStream.read:([B)I
            istore 13 /* n */
        start local 13 // int n
        12: iload 13 /* n */
            ifgt 11
        13: .line 452
            aload 8 /* md */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 7 /* digest */
        end local 13 // int n
        end local 12 // byte[] buf
        start local 7 // byte[] digest
        14: .line 453
            aload 11 /* din */
            ifnull 20
            aload 11 /* din */
            invokevirtual java.security.DigestInputStream.close:()V
            goto 20
        end local 7 // byte[] digest
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream top java.security.MessageDigest java.lang.Throwable java.lang.Throwable java.security.DigestInputStream
      StackMap stack: java.lang.Throwable
        15: astore 9
            aload 11 /* din */
            ifnull 16
            aload 11 /* din */
            invokevirtual java.security.DigestInputStream.close:()V
        end local 11 // java.security.DigestInputStream din
      StackMap locals:
      StackMap stack:
        16: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 10
            aload 9
            ifnonnull 18
            aload 10
            astore 9
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 9
            aload 10
            if_acmpeq 19
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 9
            athrow
        start local 7 // byte[] digest
        20: .line 454
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream byte[] java.security.MessageDigest
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* sb */
        start local 9 // java.lang.StringBuilder sb
        21: .line 455
            aload 7 /* digest */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 25
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream byte[] java.security.MessageDigest java.lang.StringBuilder top int int byte[]
      StackMap stack:
        22: aload 13
            iload 11
            baload
            istore 10 /* b */
        start local 10 // byte b
        23: .line 456
            aload 9 /* sb */
            ldc "%02x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 10 /* b */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            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 10 // byte b
        24: .line 455
            iinc 11 1
      StackMap locals:
      StackMap stack:
        25: iload 11
            iload 12
            if_icmplt 22
        26: .line 457
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  MD5 checksum: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* sb */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 9 // java.lang.StringBuilder sb
        end local 8 // java.security.MessageDigest md
        end local 7 // byte[] digest
        27: .line 458
            aload 6 /* in */
            ifnull 35
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 35
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        28: astore 4
            aload 6 /* in */
            ifnull 29
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        29: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 5
            aload 4
            ifnonnull 31
            aload 5
            astore 4
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 4
            aload 5
            if_acmpeq 32
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 4
            athrow
      StackMap locals: com.sun.tools.javac.main.Main java.lang.String java.io.PrintWriter java.net.URL
      StackMap stack: java.lang.Exception
        33: astore 4 /* e */
        start local 4 // java.lang.Exception e
        34: .line 459
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "  cannot compute digest: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Exception e
        35: .line 461
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.net.URL url
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.lang.String className
        end local 0 // com.sun.tools.javac.main.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Lcom/sun/tools/javac/main/Main;
            0   36     1  className  Ljava/lang/String;
            1   36     2         pw  Ljava/io/PrintWriter;
            3   36     3        url  Ljava/net/URL;
            7   29     6         in  Ljava/io/InputStream;
           14   15     7     digest  [B
           20   27     7     digest  [B
            8   27     8         md  Ljava/security/MessageDigest;
           10   16    11        din  Ljava/security/DigestInputStream;
           11   14    12        buf  [B
           12   14    13          n  I
           21   27     9         sb  Ljava/lang/StringBuilder;
           23   24    10          b  B
           34   35     4          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  any
           9    17      17  any
           7    27      28  any
           6    30      30  any
           5    33      33  Class java.security.NoSuchAlgorithmException
           5    33      33  Class java.io.IOException
    MethodParameters:
           Name  Flags
      className  
}
SourceFile: "Main.java"
NestMembers:
  com.sun.tools.javac.main.Main$1  com.sun.tools.javac.main.Main$Result
InnerClasses:
  public UnmatchedQuote = com.sun.tools.javac.main.CommandLine$UnmatchedQuote of com.sun.tools.javac.main.CommandLine
  com.sun.tools.javac.main.Main$1
  public final Result = com.sun.tools.javac.main.Main$Result of com.sun.tools.javac.main.Main
  public InvalidValueException = com.sun.tools.javac.main.Option$InvalidValueException of com.sun.tools.javac.main.Option
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public GraphDependencies = com.sun.tools.javac.util.Dependencies$GraphDependencies of com.sun.tools.javac.util.Dependencies
  public abstract DiagnosticInfo = com.sun.tools.javac.util.JCDiagnostic$DiagnosticInfo of com.sun.tools.javac.util.JCDiagnostic
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public final PrefixKind = com.sun.tools.javac.util.Log$PrefixKind of com.sun.tools.javac.util.Log
  public final WriterKind = com.sun.tools.javac.util.Log$WriterKind of com.sun.tools.javac.util.Log