public class com.sun.tools.sjavac.server.IdleResetSjavac implements com.sun.tools.sjavac.server.Sjavac
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.sjavac.server.IdleResetSjavac
super_class: java.lang.Object
{
private final com.sun.tools.sjavac.server.Sjavac delegate;
descriptor: Lcom/sun/tools/sjavac/server/Sjavac;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.sjavac.server.Terminable toShutdown;
descriptor: Lcom/sun/tools/sjavac/server/Terminable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Timer idlenessTimer;
descriptor: Ljava/util/Timer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long idleTimeout;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int outstandingCalls;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.TimerTask idlenessTimerTask;
descriptor: Ljava/util/TimerTask;
flags: (0x0002) ACC_PRIVATE
public void <init>(com.sun.tools.sjavac.server.Sjavac, com.sun.tools.sjavac.server.Terminable, long);
descriptor: (Lcom/sun/tools/sjavac/server/Sjavac;Lcom/sun/tools/sjavac/server/Terminable;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Timer
dup
invokespecial java.util.Timer.<init>:()V
putfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimer:Ljava/util/Timer;
2: aload 0
iconst_0
putfield com.sun.tools.sjavac.server.IdleResetSjavac.outstandingCalls:I
3: aload 0
aload 1
putfield com.sun.tools.sjavac.server.IdleResetSjavac.delegate:Lcom/sun/tools/sjavac/server/Sjavac;
4: aload 0
aload 2
putfield com.sun.tools.sjavac.server.IdleResetSjavac.toShutdown:Lcom/sun/tools/sjavac/server/Terminable;
5: aload 0
lload 3
putfield com.sun.tools.sjavac.server.IdleResetSjavac.idleTimeout:J
6: aload 0
invokevirtual com.sun.tools.sjavac.server.IdleResetSjavac.scheduleTimeout:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
0 8 1 delegate Lcom/sun/tools/sjavac/server/Sjavac;
0 8 2 toShutdown Lcom/sun/tools/sjavac/server/Terminable;
0 8 3 idleTimeout J
MethodParameters:
Name Flags
delegate
toShutdown
idleTimeout
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=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.sjavac.server.IdleResetSjavac.startCall:()V
1: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.delegate:Lcom/sun/tools/sjavac/server/Sjavac;
aload 1
invokeinterface com.sun.tools.sjavac.server.Sjavac.compile:([Ljava/lang/String;)Lcom/sun/tools/javac/main/Main$Result;
astore 3
2: aload 0
invokevirtual com.sun.tools.sjavac.server.IdleResetSjavac.endCall:()V
3: aload 3
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
5: aload 0
invokevirtual com.sun.tools.sjavac.server.IdleResetSjavac.endCall:()V
6: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
0 7 1 args [Ljava/lang/String;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
args
private synchronized void startCall();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.tools.sjavac.server.IdleResetSjavac.outstandingCalls:I
iconst_1
iadd
dup_x1
putfield com.sun.tools.sjavac.server.IdleResetSjavac.outstandingCalls:I
iconst_1
if_icmpne 5
1: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Idle timeout already cancelled"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
4: aload 0
aconst_null
putfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
private synchronized void endCall();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.tools.sjavac.server.IdleResetSjavac.outstandingCalls:I
iconst_1
isub
dup_x1
putfield com.sun.tools.sjavac.server.IdleResetSjavac.outstandingCalls:I
ifne 2
1: aload 0
invokevirtual com.sun.tools.sjavac.server.IdleResetSjavac.scheduleTimeout:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
private void scheduleTimeout();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Idle timeout already scheduled"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
new com.sun.tools.sjavac.server.IdleResetSjavac$1
dup
aload 0
invokespecial com.sun.tools.sjavac.server.IdleResetSjavac$1.<init>:(Lcom/sun/tools/sjavac/server/IdleResetSjavac;)V
putfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
3: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimer:Ljava/util/Timer;
aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimerTask:Ljava/util/TimerTask;
aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idleTimeout:J
invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;J)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.idlenessTimer:Ljava/util/Timer;
invokevirtual java.util.Timer.cancel:()V
1: aload 0
getfield com.sun.tools.sjavac.server.IdleResetSjavac.delegate:Lcom/sun/tools/sjavac/server/Sjavac;
invokeinterface com.sun.tools.sjavac.server.Sjavac.shutdown:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/sjavac/server/IdleResetSjavac;
}
SourceFile: "IdleResetSjavac.java"
NestMembers:
com.sun.tools.sjavac.server.IdleResetSjavac$1
InnerClasses:
public final Result = com.sun.tools.javac.main.Main$Result of com.sun.tools.javac.main.Main
com.sun.tools.sjavac.server.IdleResetSjavac$1