class org.eclipse.core.internal.jobs.JobListeners
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.core.internal.jobs.JobListeners
  super_class: java.lang.Object
{
  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit aboutToRun;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit awake;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit done;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit running;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit scheduled;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.core.internal.jobs.JobListeners$IListenerDoit sleeping;
    descriptor: Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.eclipse.core.runtime.ListenerList<org.eclipse.core.runtime.jobs.IJobChangeListener> global;
    descriptor: Lorg/eclipse/core/runtime/ListenerList;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/eclipse/core/runtime/ListenerList<Lorg/eclipse/core/runtime/jobs/IJobChangeListener;>;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.aboutToRun(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.aboutToRun:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         2: .line 31
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.awake(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.awake:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         3: .line 32
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.done(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.done:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         4: .line 33
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.running(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.running:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         5: .line 34
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.scheduled(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.scheduled:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         6: .line 35
            aload 0 /* this */
            invokedynamic notify()Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
                  org/eclipse/core/runtime/jobs/IJobChangeListener.sleeping(Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V (9 itf)
                  (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
            putfield org.eclipse.core.internal.jobs.JobListeners.sleeping:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
         7: .line 40
            aload 0 /* this */
            new org.eclipse.core.runtime.ListenerList
            dup
            iconst_1
            invokespecial org.eclipse.core.runtime.ListenerList.<init>:(I)V
            putfield org.eclipse.core.internal.jobs.JobListeners.global:Lorg/eclipse/core/runtime/ListenerList;
         8: .line 25
            return
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;

  static org.eclipse.core.internal.jobs.JobChangeEvent newEvent(org.eclipse.core.runtime.jobs.Job);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.runtime.jobs.Job job
         0: .line 46
            new org.eclipse.core.internal.jobs.JobChangeEvent
            dup
            invokespecial org.eclipse.core.internal.jobs.JobChangeEvent.<init>:()V
            astore 1 /* instance */
        start local 1 // org.eclipse.core.internal.jobs.JobChangeEvent instance
         1: .line 47
            aload 1 /* instance */
            aload 0 /* job */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.job:Lorg/eclipse/core/runtime/jobs/Job;
         2: .line 48
            aload 1 /* instance */
            areturn
        end local 1 // org.eclipse.core.internal.jobs.JobChangeEvent instance
        end local 0 // org.eclipse.core.runtime.jobs.Job job
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       job  Lorg/eclipse/core/runtime/jobs/Job;
            1    3     1  instance  Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    MethodParameters:
      Name  Flags
      job   

  static org.eclipse.core.internal.jobs.JobChangeEvent newEvent(org.eclipse.core.runtime.jobs.Job, org.eclipse.core.runtime.IStatus);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;Lorg/eclipse/core/runtime/IStatus;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.runtime.jobs.Job job
        start local 1 // org.eclipse.core.runtime.IStatus result
         0: .line 52
            new org.eclipse.core.internal.jobs.JobChangeEvent
            dup
            invokespecial org.eclipse.core.internal.jobs.JobChangeEvent.<init>:()V
            astore 2 /* instance */
        start local 2 // org.eclipse.core.internal.jobs.JobChangeEvent instance
         1: .line 53
            aload 2 /* instance */
            aload 0 /* job */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.job:Lorg/eclipse/core/runtime/jobs/Job;
         2: .line 54
            aload 2 /* instance */
            aload 1 /* result */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.result:Lorg/eclipse/core/runtime/IStatus;
         3: .line 55
            aload 2 /* instance */
            areturn
        end local 2 // org.eclipse.core.internal.jobs.JobChangeEvent instance
        end local 1 // org.eclipse.core.runtime.IStatus result
        end local 0 // org.eclipse.core.runtime.jobs.Job job
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       job  Lorg/eclipse/core/runtime/jobs/Job;
            0    4     1    result  Lorg/eclipse/core/runtime/IStatus;
            1    4     2  instance  Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    MethodParameters:
        Name  Flags
      job     
      result  

  static org.eclipse.core.internal.jobs.JobChangeEvent newEvent(org.eclipse.core.runtime.jobs.Job, long);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;J)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.core.runtime.jobs.Job job
        start local 1 // long delay
         0: .line 59
            new org.eclipse.core.internal.jobs.JobChangeEvent
            dup
            invokespecial org.eclipse.core.internal.jobs.JobChangeEvent.<init>:()V
            astore 3 /* instance */
        start local 3 // org.eclipse.core.internal.jobs.JobChangeEvent instance
         1: .line 60
            aload 3 /* instance */
            aload 0 /* job */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.job:Lorg/eclipse/core/runtime/jobs/Job;
         2: .line 61
            aload 3 /* instance */
            lload 1 /* delay */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.delay:J
         3: .line 62
            aload 3 /* instance */
            areturn
        end local 3 // org.eclipse.core.internal.jobs.JobChangeEvent instance
        end local 1 // long delay
        end local 0 // org.eclipse.core.runtime.jobs.Job job
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       job  Lorg/eclipse/core/runtime/jobs/Job;
            0    4     1     delay  J
            1    4     3  instance  Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    MethodParameters:
       Name  Flags
      job    
      delay  

  private void doNotify(org.eclipse.core.internal.jobs.JobListeners$IListenerDoit, org.eclipse.core.runtime.jobs.IJobChangeEvent);
    descriptor: (Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.internal.jobs.JobListeners$IListenerDoit doit
        start local 2 // org.eclipse.core.runtime.jobs.IJobChangeEvent event
         0: .line 71
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.global:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.eclipse.core.internal.jobs.JobListeners org.eclipse.core.internal.jobs.JobListeners$IListenerDoit org.eclipse.core.runtime.jobs.IJobChangeEvent top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.jobs.IJobChangeListener
            astore 3 /* listener */
        start local 3 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
         2: .line 73
            aload 1 /* doit */
            aload 3 /* listener */
            aload 2 /* event */
            invokeinterface org.eclipse.core.internal.jobs.JobListeners$IListenerDoit.notify:(Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         3: .line 74
            goto 6
      StackMap locals: org.eclipse.core.internal.jobs.JobListeners org.eclipse.core.internal.jobs.JobListeners$IListenerDoit org.eclipse.core.runtime.jobs.IJobChangeEvent org.eclipse.core.runtime.jobs.IJobChangeListener java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 5 /* e */
        start local 5 // java.lang.Throwable e
         5: .line 75
            aload 0 /* this */
            aload 3 /* listener */
            aload 5 /* e */
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.handleException:(Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable e
        end local 3 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
         6: .line 71
      StackMap locals: org.eclipse.core.internal.jobs.JobListeners org.eclipse.core.internal.jobs.JobListeners$IListenerDoit org.eclipse.core.runtime.jobs.IJobChangeEvent top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 78
            aload 2 /* event */
            invokeinterface org.eclipse.core.runtime.jobs.IJobChangeEvent.getJob:()Lorg/eclipse/core/runtime/jobs/Job;
            invokevirtual org.eclipse.core.internal.jobs.InternalJob.getListeners:()Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals:
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.jobs.IJobChangeListener
            astore 3 /* listener */
        start local 3 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
         9: .line 80
            aload 1 /* doit */
            aload 3 /* listener */
            aload 2 /* event */
            invokeinterface org.eclipse.core.internal.jobs.JobListeners$IListenerDoit.notify:(Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
        10: .line 81
            goto 13
      StackMap locals: org.eclipse.core.internal.jobs.JobListeners org.eclipse.core.internal.jobs.JobListeners$IListenerDoit org.eclipse.core.runtime.jobs.IJobChangeEvent org.eclipse.core.runtime.jobs.IJobChangeListener java.util.Iterator
      StackMap stack: java.lang.Throwable
        11: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        12: .line 82
            aload 0 /* this */
            aload 3 /* listener */
            aload 5 /* e */
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.handleException:(Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable e
        end local 3 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
        13: .line 78
      StackMap locals: org.eclipse.core.internal.jobs.JobListeners org.eclipse.core.internal.jobs.JobListeners$IListenerDoit org.eclipse.core.runtime.jobs.IJobChangeEvent top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 85
            return
        end local 2 // org.eclipse.core.runtime.jobs.IJobChangeEvent event
        end local 1 // org.eclipse.core.internal.jobs.JobListeners$IListenerDoit doit
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0   15     1      doit  Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            0   15     2     event  Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;
            2    6     3  listener  Lorg/eclipse/core/runtime/jobs/IJobChangeListener;
            5    6     5         e  Ljava/lang/Throwable;
            9   13     3  listener  Lorg/eclipse/core/runtime/jobs/IJobChangeListener;
           12   13     5         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
           9    10      11  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      doit   final
      event  final

  private void handleException(org.eclipse.core.runtime.jobs.IJobChangeListener, java.lang.Throwable);
    descriptor: (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
         0: .line 95
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;
    MethodParameters:
          Name  Flags
      listener  
      e         

  public void add(org.eclipse.core.runtime.jobs.IJobChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
         0: .line 100
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.global:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.add:(Ljava/lang/Object;)V
         1: .line 101
            return
        end local 1 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1  listener  Lorg/eclipse/core/runtime/jobs/IJobChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void remove(org.eclipse.core.runtime.jobs.IJobChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/jobs/IJobChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
         0: .line 104
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.global:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.remove:(Ljava/lang/Object;)V
         1: .line 105
            return
        end local 1 // org.eclipse.core.runtime.jobs.IJobChangeListener listener
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1  listener  Lorg/eclipse/core/runtime/jobs/IJobChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void aboutToRun(org.eclipse.core.runtime.jobs.Job);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
         0: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.aboutToRun:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 1 /* job */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         1: .line 109
            return
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1   job  Lorg/eclipse/core/runtime/jobs/Job;
    MethodParameters:
      Name  Flags
      job   

  public void awake(org.eclipse.core.runtime.jobs.Job);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
         0: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.awake:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 1 /* job */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         1: .line 113
            return
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1   job  Lorg/eclipse/core/runtime/jobs/Job;
    MethodParameters:
      Name  Flags
      job   

  public void done(org.eclipse.core.runtime.jobs.Job, org.eclipse.core.runtime.IStatus, boolean);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;Lorg/eclipse/core/runtime/IStatus;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
        start local 2 // org.eclipse.core.runtime.IStatus result
        start local 3 // boolean reschedule
         0: .line 116
            aload 1 /* job */
            aload 2 /* result */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;Lorg/eclipse/core/runtime/IStatus;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            astore 4 /* event */
        start local 4 // org.eclipse.core.internal.jobs.JobChangeEvent event
         1: .line 117
            aload 4 /* event */
            iload 3 /* reschedule */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.reschedule:Z
         2: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.done:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 4 /* event */
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         3: .line 119
            return
        end local 4 // org.eclipse.core.internal.jobs.JobChangeEvent event
        end local 3 // boolean reschedule
        end local 2 // org.eclipse.core.runtime.IStatus result
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    4     1         job  Lorg/eclipse/core/runtime/jobs/Job;
            0    4     2      result  Lorg/eclipse/core/runtime/IStatus;
            0    4     3  reschedule  Z
            1    4     4       event  Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    MethodParameters:
            Name  Flags
      job         
      result      
      reschedule  

  public void running(org.eclipse.core.runtime.jobs.Job);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
         0: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.running:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 1 /* job */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         1: .line 123
            return
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1   job  Lorg/eclipse/core/runtime/jobs/Job;
    MethodParameters:
      Name  Flags
      job   

  public void scheduled(org.eclipse.core.runtime.jobs.Job, long, boolean);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
        start local 2 // long delay
        start local 4 // boolean reschedule
         0: .line 126
            aload 1 /* job */
            lload 2 /* delay */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;J)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            astore 5 /* event */
        start local 5 // org.eclipse.core.internal.jobs.JobChangeEvent event
         1: .line 127
            aload 5 /* event */
            iload 4 /* reschedule */
            putfield org.eclipse.core.internal.jobs.JobChangeEvent.reschedule:Z
         2: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.scheduled:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 5 /* event */
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         3: .line 129
            return
        end local 5 // org.eclipse.core.internal.jobs.JobChangeEvent event
        end local 4 // boolean reschedule
        end local 2 // long delay
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    4     1         job  Lorg/eclipse/core/runtime/jobs/Job;
            0    4     2       delay  J
            0    4     4  reschedule  Z
            1    4     5       event  Lorg/eclipse/core/internal/jobs/JobChangeEvent;
    MethodParameters:
            Name  Flags
      job         
      delay       
      reschedule  

  public void sleeping(org.eclipse.core.runtime.jobs.Job);
    descriptor: (Lorg/eclipse/core/runtime/jobs/Job;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.jobs.JobListeners this
        start local 1 // org.eclipse.core.runtime.jobs.Job job
         0: .line 132
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.jobs.JobListeners.sleeping:Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;
            aload 1 /* job */
            invokestatic org.eclipse.core.internal.jobs.JobListeners.newEvent:(Lorg/eclipse/core/runtime/jobs/Job;)Lorg/eclipse/core/internal/jobs/JobChangeEvent;
            invokevirtual org.eclipse.core.internal.jobs.JobListeners.doNotify:(Lorg/eclipse/core/internal/jobs/JobListeners$IListenerDoit;Lorg/eclipse/core/runtime/jobs/IJobChangeEvent;)V
         1: .line 133
            return
        end local 1 // org.eclipse.core.runtime.jobs.Job job
        end local 0 // org.eclipse.core.internal.jobs.JobListeners this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/jobs/JobListeners;
            0    2     1   job  Lorg/eclipse/core/runtime/jobs/Job;
    MethodParameters:
      Name  Flags
      job   
}
SourceFile: "JobListeners.java"
NestMembers:
  org.eclipse.core.internal.jobs.JobListeners$IListenerDoit
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  abstract IListenerDoit = org.eclipse.core.internal.jobs.JobListeners$IListenerDoit of org.eclipse.core.internal.jobs.JobListeners