public class com.sun.tools.sjavac.client.ClientMain
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.sjavac.client.ClientMain
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/sjavac/client/ClientMain;
public static int run(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
1: new com.sun.tools.sjavac.AutoFlushWriter
dup
new java.io.OutputStreamWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial com.sun.tools.sjavac.AutoFlushWriter.<init>:(Ljava/io/Writer;)V
2: new com.sun.tools.sjavac.AutoFlushWriter
dup
new java.io.OutputStreamWriter
dup
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial com.sun.tools.sjavac.AutoFlushWriter.<init>:(Ljava/io/Writer;)V
3: invokestatic com.sun.tools.sjavac.client.ClientMain.run:([Ljava/lang/String;Ljava/io/Writer;Ljava/io/Writer;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 args [Ljava/lang/String;
MethodParameters:
Name Flags
args
public static int run(java.lang.String[], java.io.Writer, java.io.Writer);
descriptor: ([Ljava/lang/String;Ljava/io/Writer;Ljava/io/Writer;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.tools.sjavac.Log
dup
aload 1
aload 2
invokespecial com.sun.tools.sjavac.Log.<init>:(Ljava/io/Writer;Ljava/io/Writer;)V
invokestatic com.sun.tools.sjavac.Log.setLogForCurrentThread:(Lcom/sun/tools/sjavac/Log;)V
1: aload 0
invokestatic com.sun.tools.sjavac.options.Options.parseArgs:([Ljava/lang/String;)Lcom/sun/tools/sjavac/options/Options;
astore 3
start local 3 2: goto 6
end local 3 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
3: astore 4
start local 4 4: aload 4
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.error:(Ljava/lang/String;)V
5: getstatic com.sun.tools.javac.main.Main$Result.CMDERR:Lcom/sun/tools/javac/main/Main$Result;
getfield com.sun.tools.javac.main.Main$Result.exitCode:I
ireturn
end local 4 start local 3 6: StackMap locals: com.sun.tools.sjavac.options.Options
StackMap stack:
aload 3
invokevirtual com.sun.tools.sjavac.options.Options.getLogLevel:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.setLogLevel:(Ljava/lang/String;)V
7: ldc "=========================================================="
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
8: ldc "Launching sjavac client with the following parameters:"
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
9: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual com.sun.tools.sjavac.options.Options.getStateArgsString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
10: ldc "=========================================================="
invokestatic com.sun.tools.sjavac.Log.debug:(Ljava/lang/String;)V
11: aload 3
invokevirtual com.sun.tools.sjavac.options.Options.getServerConf:()Ljava/lang/String;
ifnull 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 4
start local 4 14: iload 4
ifeq 15
new com.sun.tools.sjavac.client.SjavacClient
dup
aload 3
invokespecial com.sun.tools.sjavac.client.SjavacClient.<init>:(Lcom/sun/tools/sjavac/options/Options;)V
goto 16
StackMap locals: int
StackMap stack:
15: new com.sun.tools.sjavac.comp.SjavacImpl
dup
invokespecial com.sun.tools.sjavac.comp.SjavacImpl.<init>:()V
StackMap locals:
StackMap stack: com.sun.tools.sjavac.server.Sjavac
16: astore 5
start local 5 17: aload 5
aload 0
invokeinterface com.sun.tools.sjavac.server.Sjavac.compile:([Ljava/lang/String;)Lcom/sun/tools/javac/main/Main$Result;
astore 6
start local 6 18: iload 4
ifne 20
19: aload 5
invokeinterface com.sun.tools.sjavac.server.Sjavac.shutdown:()V
20: StackMap locals: com.sun.tools.sjavac.server.Sjavac com.sun.tools.javac.main.Main$Result
StackMap stack:
aload 6
getfield com.sun.tools.javac.main.Main$Result.exitCode:I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 args [Ljava/lang/String;
0 21 1 out Ljava/io/Writer;
0 21 2 err Ljava/io/Writer;
2 3 3 options Lcom/sun/tools/sjavac/options/Options;
6 21 3 options Lcom/sun/tools/sjavac/options/Options;
4 6 4 e Ljava/lang/IllegalArgumentException;
14 21 4 useServer Z
17 21 5 sjavac Lcom/sun/tools/sjavac/server/Sjavac;
18 21 6 result Lcom/sun/tools/javac/main/Main$Result;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
args
out
err
}
SourceFile: "ClientMain.java"
InnerClasses:
public final Result = com.sun.tools.javac.main.Main$Result of com.sun.tools.javac.main.Main