class org.eclipse.jgit.lib.BatchingProgressMonitor$Task implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.jgit.lib.BatchingProgressMonitor$Task
super_class: java.lang.Object
{
private final java.lang.String taskName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int totalWork;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean display;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.concurrent.Future<?> timerFuture;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/Future<*>;
private boolean output;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int lastWork;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastPercent;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
2: aload 0
iload 2
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
3: aload 0
iconst_1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
0 5 1 taskName Ljava/lang/String;
0 5 2 totalWork I
MethodParameters:
Name Flags
taskName
totalWork
void delay(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
iconst_0
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
1: aload 0
invokestatic org.eclipse.jgit.lib.internal.WorkQueue.getExecutor:()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
aload 0
lload 1
aload 3
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.timerFuture:Ljava/util/concurrent/Future;
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
0 3 1 time J
0 3 3 unit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
time
unit
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
void update(org.eclipse.jgit.lib.BatchingProgressMonitor, int);
descriptor: (Lorg/eclipse/jgit/lib/BatchingProgressMonitor;I)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
iload 2
iadd
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
1: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
ifne 7
2: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
ifeq 18
3: aload 1
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.onUpdate:(Ljava/lang/String;I)V
4: aload 0
iconst_1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.output:Z
5: aload 0
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor$Task.restartTimer:()V
6: goto 18
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
bipush 100
imul
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
idiv
istore 3
start local 3 8: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
ifeq 14
9: aload 1
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
iload 3
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.onUpdate:(Ljava/lang/String;III)V
10: aload 0
iconst_1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.output:Z
11: aload 0
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor$Task.restartTimer:()V
12: aload 0
iload 3
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastPercent:I
13: goto 18
StackMap locals: int
StackMap stack:
14: iload 3
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastPercent:I
if_icmpeq 18
15: aload 1
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
iload 3
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.onUpdate:(Ljava/lang/String;III)V
16: aload 0
iconst_1
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.output:Z
17: aload 0
iload 3
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastPercent:I
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
0 19 1 pm Lorg/eclipse/jgit/lib/BatchingProgressMonitor;
0 19 2 completed I
8 18 3 currPercent I
MethodParameters:
Name Flags
pm
completed
private void restartTimer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.display:Z
1: aload 0
invokestatic org.eclipse.jgit.lib.internal.WorkQueue.getExecutor:()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
aload 0
lconst_1
2: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
3: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.timerFuture:Ljava/util/concurrent/Future;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
void end(org.eclipse.jgit.lib.BatchingProgressMonitor);
descriptor: (Lorg/eclipse/jgit/lib/BatchingProgressMonitor;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.output:Z
ifeq 6
1: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
ifne 4
2: aload 1
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.onEndTask:(Ljava/lang/String;I)V
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
bipush 100
imul
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
idiv
istore 2
start local 2 5: aload 1
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.taskName:Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.lastWork:I
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.totalWork:I
iload 2
invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.onEndTask:(Ljava/lang/String;III)V
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.timerFuture:Ljava/util/concurrent/Future;
ifnull 8
7: aload 0
getfield org.eclipse.jgit.lib.BatchingProgressMonitor$Task.timerFuture:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/lib/BatchingProgressMonitor$Task;
0 9 1 pm Lorg/eclipse/jgit/lib/BatchingProgressMonitor;
5 6 2 pDone I
MethodParameters:
Name Flags
pm
}
SourceFile: "BatchingProgressMonitor.java"
NestHost: org.eclipse.jgit.lib.BatchingProgressMonitor
InnerClasses:
private Task = org.eclipse.jgit.lib.BatchingProgressMonitor$Task of org.eclipse.jgit.lib.BatchingProgressMonitor