diff src/main/gov/nasa/jpf/util/event/EventChoiceGenerator.java @ 9:8de43b2b023f

added choice getters for EventChoiceGenerator added some minor Event functions
author Peter Mehlitz <Peter.C.Mehlitz@nasa.gov>
date Fri, 13 Feb 2015 20:20:15 -0800
parents fdc263e5806b
children b1790909ebb1
line wrap: on
line diff
--- a/src/main/gov/nasa/jpf/util/event/EventChoiceGenerator.java	Wed Feb 11 19:16:10 2015 -0800
+++ b/src/main/gov/nasa/jpf/util/event/EventChoiceGenerator.java	Fri Feb 13 20:20:15 2015 -0800
@@ -207,4 +207,44 @@
   public Class<Event> getChoiceType() {
     return Event.class;
   }
+  
+  protected Event[] getFirstNChoices(int n){
+    Event[] a = new Event[n];
+    
+    Event e = base;
+    for (int i=0; i<n; i++){
+      a[i] = e;
+      e = e.getAlt();
+    }
+    
+    return a;
+  }
+
+  @Override
+  public Event[] getAllChoices(){
+    return getFirstNChoices( getTotalNumberOfChoices());
+  }
+
+  @Override
+  public Event[] getProcessedChoices(){
+    return getFirstNChoices( getProcessedNumberOfChoices());
+  }
+  
+  @Override
+  public Event[] getUnprocessedChoices(){
+    int n=0;
+    for (Event e=cur; e != null; e = e.getAlt()){
+      n++;
+    }
+    
+    Event[] a = new Event[n];
+    
+    Event e = cur;
+    for (int i=0; i<n; i++){
+      a[i] = e;
+      e = e.getAlt();
+    }
+    
+    return a;    
+  }
 }