class org.eclipse.debug.core.DebugPlugin$EventNotifier implements org.eclipse.core.runtime.ISafeRunnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.debug.core.DebugPlugin$EventNotifier
super_class: java.lang.Object
{
private org.eclipse.debug.core.DebugEvent[] fEvents;
descriptor: [Lorg/eclipse/debug/core/DebugEvent;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.debug.core.IDebugEventSetListener fListener;
descriptor: Lorg/eclipse/debug/core/IDebugEventSetListener;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.debug.core.IDebugEventFilter fFilter;
descriptor: Lorg/eclipse/debug/core/IDebugEventFilter;
flags: (0x0002) ACC_PRIVATE
private int fMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final org.eclipse.debug.core.DebugPlugin this$0;
descriptor: Lorg/eclipse/debug/core/DebugPlugin;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.eclipse.debug.core.DebugPlugin);
descriptor: (Lorg/eclipse/debug/core/DebugPlugin;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
0: .line 1164
aload 0 /* this */
aload 1
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.this$0:Lorg/eclipse/debug/core/DebugPlugin;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/debug/core/DebugPlugin$EventNotifier;
MethodParameters:
Name Flags
this$0 final
public void handleException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
start local 1 // java.lang.Throwable exception
0: .line 1173
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fMode:I
tableswitch { // 0 - 1
0: 1
1: 4
default: 7
}
1: .line 1175
StackMap locals:
StackMap stack:
new org.eclipse.core.runtime.Status
dup
iconst_4
invokestatic org.eclipse.debug.core.DebugPlugin.getUniqueIdentifier:()Ljava/lang/String;
bipush 125
getstatic org.eclipse.debug.internal.core.DebugCoreMessages.DebugPlugin_7:Ljava/lang/String;
aload 1 /* exception */
invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
astore 2 /* status */
start local 2 // org.eclipse.core.runtime.IStatus status
2: .line 1176
aload 2 /* status */
invokestatic org.eclipse.debug.core.DebugPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
3: .line 1177
goto 7
end local 2 // org.eclipse.core.runtime.IStatus status
4: .line 1179
StackMap locals:
StackMap stack:
new org.eclipse.core.runtime.Status
dup
iconst_4
invokestatic org.eclipse.debug.core.DebugPlugin.getUniqueIdentifier:()Ljava/lang/String;
bipush 125
getstatic org.eclipse.debug.internal.core.DebugCoreMessages.DebugPlugin_8:Ljava/lang/String;
aload 1 /* exception */
invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
astore 2 /* status */
start local 2 // org.eclipse.core.runtime.IStatus status
5: .line 1180
aload 2 /* status */
invokestatic org.eclipse.debug.core.DebugPlugin.log:(Lorg/eclipse/core/runtime/IStatus;)V
6: .line 1181
goto 7
end local 2 // org.eclipse.core.runtime.IStatus status
7: .line 1185
StackMap locals:
StackMap stack:
return
end local 1 // java.lang.Throwable exception
end local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/debug/core/DebugPlugin$EventNotifier;
0 8 1 exception Ljava/lang/Throwable;
2 4 2 status Lorg/eclipse/core/runtime/IStatus;
5 7 2 status Lorg/eclipse/core/runtime/IStatus;
MethodParameters:
Name Flags
exception
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
0: .line 1189
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fMode:I
tableswitch { // 0 - 1
0: 1
1: 3
default: 5
}
1: .line 1191
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fFilter:Lorg/eclipse/debug/core/IDebugEventFilter;
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
invokeinterface org.eclipse.debug.core.IDebugEventFilter.filterDebugEvents:([Lorg/eclipse/debug/core/DebugEvent;)[Lorg/eclipse/debug/core/DebugEvent;
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
2: .line 1192
goto 5
3: .line 1194
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fListener:Lorg/eclipse/debug/core/IDebugEventSetListener;
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
invokeinterface org.eclipse.debug.core.IDebugEventSetListener.handleDebugEvents:([Lorg/eclipse/debug/core/DebugEvent;)V
4: .line 1195
goto 5
5: .line 1199
StackMap locals:
StackMap stack:
return
end local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/debug/core/DebugPlugin$EventNotifier;
Exceptions:
throws java.lang.Exception
void dispatch(org.eclipse.debug.core.DebugEvent[]);
descriptor: ([Lorg/eclipse/debug/core/DebugEvent;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
start local 1 // org.eclipse.debug.core.DebugEvent[] events
0: .line 1208
aload 0 /* this */
aload 1 /* events */
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
1: .line 1209
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.this$0:Lorg/eclipse/debug/core/DebugPlugin;
getfield org.eclipse.debug.core.DebugPlugin.fEventFilters:Lorg/eclipse/core/runtime/ListenerList;
invokevirtual org.eclipse.core.runtime.ListenerList.isEmpty:()Z
ifne 10
2: .line 1210
aload 0 /* this */
iconst_0
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fMode:I
3: .line 1211
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.this$0:Lorg/eclipse/debug/core/DebugPlugin;
getfield org.eclipse.debug.core.DebugPlugin.fEventFilters:Lorg/eclipse/core/runtime/ListenerList;
invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[] top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.debug.core.IDebugEventFilter
astore 2 /* iDebugEventFilter */
start local 2 // org.eclipse.debug.core.IDebugEventFilter iDebugEventFilter
5: .line 1212
aload 0 /* this */
aload 2 /* iDebugEventFilter */
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fFilter:Lorg/eclipse/debug/core/IDebugEventFilter;
6: .line 1213
aload 0 /* this */
invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
7: .line 1214
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
ifnull 8
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
arraylength
ifne 9
8: .line 1215
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[] org.eclipse.debug.core.IDebugEventFilter java.util.Iterator
StackMap stack:
return
end local 2 // org.eclipse.debug.core.IDebugEventFilter iDebugEventFilter
9: .line 1211
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[] top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: .line 1220
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[]
StackMap stack:
aload 0 /* this */
iconst_1
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fMode:I
11: .line 1221
getstatic org.eclipse.debug.internal.core.DebugOptions.DEBUG_EVENTS:Z
ifeq 17
12: .line 1222
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[] top int int org.eclipse.debug.core.DebugEvent[]
StackMap stack:
13: aload 5
iload 3
aaload
astore 2 /* event */
start local 2 // org.eclipse.debug.core.DebugEvent event
14: .line 1223
aload 2 /* event */
invokevirtual org.eclipse.debug.core.DebugEvent.toString:()Ljava/lang/String;
invokestatic org.eclipse.debug.internal.core.DebugOptions.trace:(Ljava/lang/String;)V
end local 2 // org.eclipse.debug.core.DebugEvent event
15: .line 1222
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
iload 4
if_icmplt 13
17: .line 1226
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[]
StackMap stack:
aload 0 /* this */
getfield org.eclipse.debug.core.DebugPlugin$EventNotifier.this$0:Lorg/eclipse/debug/core/DebugPlugin;
getfield org.eclipse.debug.core.DebugPlugin.fEventListeners:Lorg/eclipse/core/runtime/ListenerList;
invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
astore 3
goto 21
StackMap locals: org.eclipse.debug.core.DebugPlugin$EventNotifier org.eclipse.debug.core.DebugEvent[] top java.util.Iterator
StackMap stack:
18: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.debug.core.IDebugEventSetListener
astore 2 /* iDebugEventSetListener */
start local 2 // org.eclipse.debug.core.IDebugEventSetListener iDebugEventSetListener
19: .line 1227
aload 0 /* this */
aload 2 /* iDebugEventSetListener */
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fListener:Lorg/eclipse/debug/core/IDebugEventSetListener;
20: .line 1228
aload 0 /* this */
invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
end local 2 // org.eclipse.debug.core.IDebugEventSetListener iDebugEventSetListener
21: .line 1226
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
22: .line 1230
aload 0 /* this */
aconst_null
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fEvents:[Lorg/eclipse/debug/core/DebugEvent;
23: .line 1231
aload 0 /* this */
aconst_null
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fFilter:Lorg/eclipse/debug/core/IDebugEventFilter;
24: .line 1232
aload 0 /* this */
aconst_null
putfield org.eclipse.debug.core.DebugPlugin$EventNotifier.fListener:Lorg/eclipse/debug/core/IDebugEventSetListener;
25: .line 1233
return
end local 1 // org.eclipse.debug.core.DebugEvent[] events
end local 0 // org.eclipse.debug.core.DebugPlugin$EventNotifier this
LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/eclipse/debug/core/DebugPlugin$EventNotifier;
0 26 1 events [Lorg/eclipse/debug/core/DebugEvent;
5 9 2 iDebugEventFilter Lorg/eclipse/debug/core/IDebugEventFilter;
14 15 2 event Lorg/eclipse/debug/core/DebugEvent;
19 21 2 iDebugEventSetListener Lorg/eclipse/debug/core/IDebugEventSetListener;
MethodParameters:
Name Flags
events
}
SourceFile: "DebugPlugin.java"
NestHost: org.eclipse.debug.core.DebugPlugin
InnerClasses:
EventNotifier = org.eclipse.debug.core.DebugPlugin$EventNotifier of org.eclipse.debug.core.DebugPlugin