public class com.sun.tools.sjavac.server.RequestHandler extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.sjavac.server.RequestHandler
  super_class: java.lang.Thread
{
  private final java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.sjavac.server.Sjavac sjavac;
    descriptor: Lcom/sun/tools/sjavac/server/Sjavac;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.net.Socket, com.sun.tools.sjavac.server.Sjavac);
    descriptor: (Ljava/net/Socket;Lcom/sun/tools/sjavac/server/Sjavac;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.sjavac.server.RequestHandler this
        start local 1 // java.net.Socket socket
        start local 2 // com.sun.tools.sjavac.server.Sjavac sjavac
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* socket */
            putfield com.sun.tools.sjavac.server.RequestHandler.socket:Ljava/net/Socket;
         2: .line 64
            aload 0 /* this */
            aload 2 /* sjavac */
            putfield com.sun.tools.sjavac.server.RequestHandler.sjavac:Lcom/sun/tools/sjavac/server/Sjavac;
         3: .line 65
            return
        end local 2 // com.sun.tools.sjavac.server.Sjavac sjavac
        end local 1 // java.net.Socket socket
        end local 0 // com.sun.tools.sjavac.server.RequestHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/sjavac/server/RequestHandler;
            0    4     1  socket  Ljava/net/Socket;
            0    4     2  sjavac  Lcom/sun/tools/sjavac/server/Sjavac;
    MethodParameters:
        Name  Flags
      socket  
      sjavac  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // com.sun.tools.sjavac.server.RequestHandler this
         0: .line 70
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 0 /* this */
            getfield com.sun.tools.sjavac.server.RequestHandler.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 3 /* in */
        start local 3 // java.io.BufferedReader in
         2: .line 71
            new java.io.PrintWriter
            dup
            aload 0 /* this */
            getfield com.sun.tools.sjavac.server.RequestHandler.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            astore 4 /* out */
        start local 4 // java.io.PrintWriter out
         3: .line 75
            new com.sun.tools.sjavac.server.RequestHandler$1
            dup
            aload 0 /* this */
            aload 4 /* out */
            aload 4 /* out */
            invokespecial com.sun.tools.sjavac.server.RequestHandler$1.<init>:(Lcom/sun/tools/sjavac/server/RequestHandler;Ljava/io/Writer;Ljava/io/Writer;)V
            invokestatic com.sun.tools.sjavac.Log.setLogForCurrentThread:(Lcom/sun/tools/sjavac/Log;)V
         4: .line 94
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* n */
        start local 5 // int n
         5: .line 95
            iload 5 /* n */
            anewarray java.lang.String
            astore 6 /* args */
        start local 6 // java.lang.String[] args
         6: .line 96
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 10
         8: .line 97
      StackMap locals: com.sun.tools.sjavac.server.RequestHandler java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.io.PrintWriter int java.lang.String[] int
      StackMap stack:
            aload 6 /* args */
            iload 7 /* i */
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            aastore
         9: .line 96
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 5 /* n */
            if_icmplt 8
        end local 7 // int i
        11: .line 101
            aload 0 /* this */
            invokevirtual com.sun.tools.sjavac.server.RequestHandler.checkInternalErrorLog:()V
        12: .line 104
            aload 0 /* this */
            getfield com.sun.tools.sjavac.server.RequestHandler.sjavac:Lcom/sun/tools/sjavac/server/Sjavac;
            aload 6 /* args */
            invokeinterface com.sun.tools.sjavac.server.Sjavac.compile:([Ljava/lang/String;)Lcom/sun/tools/javac/main/Main$Result;
            astore 7 /* rc */
        start local 7 // com.sun.tools.javac.main.Main$Result rc
        13: .line 107
            aload 4 /* out */
            new java.lang.StringBuilder
            dup
            ldc "RC:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* rc */
            invokevirtual com.sun.tools.javac.main.Main$Result.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 110
            aload 0 /* this */
            invokevirtual com.sun.tools.sjavac.server.RequestHandler.checkInternalErrorLog:()V
        end local 7 // com.sun.tools.javac.main.Main$Result rc
        end local 6 // java.lang.String[] args
        end local 5 // int n
        15: .line 111
            aload 4 /* out */
            ifnull 18
            aload 4 /* out */
            invokevirtual java.io.PrintWriter.close:()V
            goto 18
      StackMap locals: com.sun.tools.sjavac.server.RequestHandler java.lang.Throwable java.lang.Throwable java.io.BufferedReader java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        16: astore 1
            aload 4 /* out */
            ifnull 17
            aload 4 /* out */
            invokevirtual java.io.PrintWriter.close:()V
        end local 4 // java.io.PrintWriter out
      StackMap locals:
      StackMap stack:
        17: aload 1
            athrow
      StackMap locals:
      StackMap stack:
        18: aload 3 /* in */
            ifnull 32
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 2
            aload 1
            ifnonnull 20
            aload 2
            astore 1
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 1
            aload 2
            if_acmpeq 21
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 3 /* in */
            ifnull 22
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.close:()V
        end local 3 // java.io.BufferedReader in
      StackMap locals:
      StackMap stack:
        22: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 2
            aload 1
            ifnonnull 24
            aload 2
            astore 1
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1
            aload 2
            if_acmpeq 25
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
      StackMap locals: com.sun.tools.sjavac.server.RequestHandler
      StackMap stack: java.lang.Exception
        26: astore 1 /* ex */
        start local 1 // java.lang.Exception ex
        27: .line 115
            aload 1 /* ex */
            invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception ex
        28: .line 117
            aconst_null
            invokestatic com.sun.tools.sjavac.Log.setLogForCurrentThread:(Lcom/sun/tools/sjavac/Log;)V
            goto 33
        29: .line 116
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        30: .line 117
            aconst_null
            invokestatic com.sun.tools.sjavac.Log.setLogForCurrentThread:(Lcom/sun/tools/sjavac/Log;)V
        31: .line 118
            aload 8
            athrow
        32: .line 117
      StackMap locals:
      StackMap stack:
            aconst_null
            invokestatic com.sun.tools.sjavac.Log.setLogForCurrentThread:(Lcom/sun/tools/sjavac/Log;)V
        33: .line 119
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.sjavac.server.RequestHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   34     0  this  Lcom/sun/tools/sjavac/server/RequestHandler;
            2   22     3    in  Ljava/io/BufferedReader;
            3   17     4   out  Ljava/io/PrintWriter;
            5   15     5     n  I
            6   15     6  args  [Ljava/lang/String;
            7   11     7     i  I
           13   15     7    rc  Lcom/sun/tools/javac/main/Main$Result;
           27   28     1    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    15      16  any
           2    18      19  any
           1    23      23  any
           0    26      26  Class java.lang.Exception
           0    28      29  any

  private void checkInternalErrorLog();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.sjavac.server.RequestHandler this
         0: .line 122
            invokestatic com.sun.tools.sjavac.server.ServerMain.getErrorLog:()Lcom/sun/tools/sjavac/server/log/LazyInitFileLog;
            invokevirtual com.sun.tools.sjavac.server.log.LazyInitFileLog.getLogDestination:()Ljava/nio/file/Path;
            astore 1 /* errorLog */
        start local 1 // java.nio.file.Path errorLog
         1: .line 123
            aload 1 /* errorLog */
            ifnull 5
         2: .line 124
            new java.lang.StringBuilder
            dup
            ldc "Server has encountered an internal error. See "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* errorLog */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 125
            ldc " for details."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 124
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
         5: .line 127
      StackMap locals: java.nio.file.Path
      StackMap stack:
            return
        end local 1 // java.nio.file.Path errorLog
        end local 0 // com.sun.tools.sjavac.server.RequestHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/sjavac/server/RequestHandler;
            1    6     1  errorLog  Ljava/nio/file/Path;
}
SourceFile: "RequestHandler.java"
NestMembers:
  com.sun.tools.sjavac.server.RequestHandler$1
InnerClasses:
  public final Result = com.sun.tools.javac.main.Main$Result of com.sun.tools.javac.main.Main
  com.sun.tools.sjavac.server.RequestHandler$1