have a debug flag
[IRC.git] / Robust / src / IR / State.java
index 5fa82146ddd2b138c88b0cb0d4c579b5d3fda39d..00679763478437d06bb1a3046c88586ea6c061d6 100644 (file)
@@ -3,6 +3,7 @@ import IR.Tree.*;
 import IR.Flat.*;
 import IR.*;
 import Util.Lattice;
+import Util.Pair;
 
 import java.util.*;
 import Analysis.TaskStateAnalysis.*;
@@ -39,8 +40,6 @@ public class State {
     this.selfloops=new HashSet();
     this.excprefetch=new HashSet();
     this.classpath=new Vector();
-    this.cd2locationOrderMap=new Hashtable();
-    this.cd2locationPropertyMap=new Hashtable();
     this.fn2labelMap=new Hashtable();
     this.lines=0;
   }
@@ -70,6 +69,7 @@ public class State {
   /** Boolean flag which indicates whether compiler is compiling a task-based
    * program. */
   public boolean JNI=false;
+  public boolean CAPTURE_NULL_DEREFERENCES=false;
   public boolean POINTER=false;
   public boolean COREPROF=false;
   public boolean WEBINTERFACE=false;
@@ -123,8 +123,20 @@ public class State {
   public int DISJOINTSNAPVISITTOSTART=0;
   public int DISJOINTSNAPNUMVISITS=0;
   public boolean DISJOINTSNAPSTOPAFTER=false;
-
   public boolean DISJOINTDEBUGSCHEDULING=false;
+  public boolean DISJOINT_WRITE_ALL_NODE_FINAL_GRAPHS=false;
+  public boolean DISJOINT_COUNT_VISITS=false;
+  public boolean DISJOINT_COUNT_GRAPH_ELEMENTS=false;
+  public String DISJOINT_COUNT_GRAPH_ELEMENTS_FILE=null;
+
+  public boolean POINTSTO_CHECK_V_RUNTIME=false;
+
+  public boolean DO_DEFINITE_REACH_ANALYSIS=false;
+  public boolean DISJOINT_USE_GLOBAL_SWEEP=true;
+  public boolean DISJOINT_USE_STRONG_UPDATE=true;
+  public boolean DISJOINT_USE_PREDICATES=true;
+  public boolean DISJOINT_SUMMARIZE_PER_CLASS=false;
+
 
   public boolean OOOJAVA=false;
   public boolean OOODEBUG=false;
@@ -135,7 +147,14 @@ public class State {
 
   //SSJava
   public boolean SSJAVA=false;
-
+  public boolean SSJAVADEBUG=false;
+  public boolean SSJAVAINFER=false;
+  public boolean SSJAVA_GENCODE_PREVENT_CRASHES=false;
+  public boolean SSJAVA_INJECT_ERROR=false;
+  public boolean SSJAVA_INFER_NAIVE_WRITEDOTS=false;
+  public int     SSJAVA_INV_ERROR_PROB=0;
+  public int     SSJAVA_ERROR_SEED=0;
+  public Set<MethodDescriptor> annotationRequireSet;
 
   public boolean OPTIONAL=false;
   public boolean NOLOOP=false;
@@ -170,6 +189,7 @@ public class State {
   // Bamboo options
   public boolean MULTICORE=false;
   public boolean MULTICOREGC=false;
+  public boolean PMC=false;
   public boolean BAMBOOCOMPILETIME = false;
   public boolean ARRAYBOUNDARYCHECK=true;
   public boolean RAW=false;
@@ -208,8 +228,6 @@ public class State {
   private int numtasks=0;
   private int numstaticblocks=0;
   private int arraycount=0;
-  public Hashtable cd2locationOrderMap;
-  public Hashtable cd2locationPropertyMap;
   public Hashtable fn2labelMap;
   public boolean OPTIMIZE=false;
   public boolean LINENUM=false;
@@ -358,21 +376,13 @@ public class State {
     tasks.add(td);
     numtasks++;
   }
-
-  public void addLocationOrder(ClassDescriptor cd, Lattice order) {
-    cd2locationOrderMap.put(cd,order);
+  
+  public void setAnnotationRequireSet(Set<MethodDescriptor> set){
+    annotationRequireSet=set;
   }
-
-  public Hashtable getCd2LocationOrder() {
-    return cd2locationOrderMap;
-  }
-
-  public void addLocationPropertySet(ClassDescriptor cd, Set<String> set) {
-    cd2locationPropertyMap.put(cd,set);
-  }
-
-  public Hashtable getCd2LocationPropertyMap() {
-    return cd2locationPropertyMap;
+  
+  public Set<MethodDescriptor> getAnnotationRequireSet(){
+    return annotationRequireSet;
   }
 
 }