class com.sun.tools.example.debug.bdi.JDIEventSource$1 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.example.debug.bdi.JDIEventSource$1
super_class: java.lang.Object
{
final com.sun.tools.example.debug.bdi.JDIEventSource this$0;
descriptor: Lcom/sun/tools/example/debug/bdi/JDIEventSource;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.sun.tools.example.debug.event.AbstractEventSet val$es;
descriptor: Lcom/sun/tools/example/debug/event/AbstractEventSet;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.example.debug.bdi.JDIEventSource, com.sun.tools.example.debug.event.AbstractEventSet);
descriptor: (Lcom/sun/tools/example/debug/bdi/JDIEventSource;Lcom/sun/tools/example/debug/event/AbstractEventSet;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.sun.tools.example.debug.bdi.JDIEventSource$1 this
0: .line 88
aload 0 /* this */
aload 1
putfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
aload 0 /* this */
aload 2
putfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.tools.example.debug.bdi.JDIEventSource$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/example/debug/bdi/JDIEventSource$1;
MethodParameters:
Name Flags
this$0 final
val$es final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 // com.sun.tools.example.debug.bdi.JDIEventSource$1 this
0: .line 91
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
invokevirtual com.sun.tools.example.debug.event.AbstractEventSet.suspendedAll:()Z
istore 1 /* interrupted */
start local 1 // boolean interrupted
1: .line 92
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.firstListener:Lcom/sun/tools/example/debug/event/JDIListener;
invokevirtual com.sun.tools.example.debug.event.AbstractEventSet.notify:(Lcom/sun/tools/example/debug/event/JDIListener;)V
2: .line 93
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.wantInterrupt:Z
istore 2 /* wantInterrupt */
start local 2 // boolean wantInterrupt
3: .line 94
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.session:Lcom/sun/tools/example/debug/bdi/Session;
getfield com.sun.tools.example.debug.bdi.Session.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
getfield com.sun.tools.example.debug.bdi.ExecutionManager.jdiListeners:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.sun.tools.example.debug.bdi.JDIEventSource$1 int int top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.example.debug.event.JDIListener
astore 3 /* jl */
start local 3 // com.sun.tools.example.debug.event.JDIListener jl
5: .line 95
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
aload 3 /* jl */
invokevirtual com.sun.tools.example.debug.event.AbstractEventSet.notify:(Lcom/sun/tools/example/debug/event/JDIListener;)V
end local 3 // com.sun.tools.example.debug.event.JDIListener jl
6: .line 94
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: .line 97
iload 1 /* interrupted */
ifeq 12
iload 2 /* wantInterrupt */
ifne 12
8: .line 98
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.session:Lcom/sun/tools/example/debug/bdi/Session;
iconst_0
putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
9: .line 101
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.session:Lcom/sun/tools/example/debug/bdi/Session;
getfield com.sun.tools.example.debug.bdi.Session.vm:Lcom/sun/jdi/VirtualMachine;
invokeinterface com.sun.jdi.VirtualMachine.resume:()V
10: .line 102
goto 12
StackMap locals: com.sun.tools.example.debug.bdi.JDIEventSource$1 int int
StackMap stack: com.sun.jdi.VMDisconnectedException
11: pop
12: .line 104
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
instanceof com.sun.tools.example.debug.event.ThreadDeathEventSet
ifeq 15
13: .line 105
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.val$es:Lcom/sun/tools/example/debug/event/AbstractEventSet;
checkcast com.sun.tools.example.debug.event.ThreadDeathEventSet
invokevirtual com.sun.tools.example.debug.event.ThreadDeathEventSet.getThread:()Lcom/sun/jdi/ThreadReference;
astore 3 /* t */
start local 3 // com.sun.jdi.ThreadReference t
14: .line 106
aload 0 /* this */
getfield com.sun.tools.example.debug.bdi.JDIEventSource$1.this$0:Lcom/sun/tools/example/debug/bdi/JDIEventSource;
getfield com.sun.tools.example.debug.bdi.JDIEventSource.session:Lcom/sun/tools/example/debug/bdi/Session;
getfield com.sun.tools.example.debug.bdi.Session.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
aload 3 /* t */
invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.removeThreadInfo:(Lcom/sun/jdi/ThreadReference;)V
end local 3 // com.sun.jdi.ThreadReference t
15: .line 108
StackMap locals:
StackMap stack:
return
end local 2 // boolean wantInterrupt
end local 1 // boolean interrupted
end local 0 // com.sun.tools.example.debug.bdi.JDIEventSource$1 this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/example/debug/bdi/JDIEventSource$1;
1 16 1 interrupted Z
3 16 2 wantInterrupt Z
5 6 3 jl Lcom/sun/tools/example/debug/event/JDIListener;
14 15 3 t Lcom/sun/jdi/ThreadReference;
Exception table:
from to target type
9 10 11 Class com.sun.jdi.VMDisconnectedException
}
SourceFile: "JDIEventSource.java"
EnclosingMethod: com.sun.tools.example.debug.bdi.JDIEventSource.dispatchEventSet:(Lcom/sun/tools/example/debug/event/AbstractEventSet;)V
NestHost: com.sun.tools.example.debug.bdi.JDIEventSource
InnerClasses:
com.sun.tools.example.debug.bdi.JDIEventSource$1