start of new file
[IRC.git] / Robust / src / Analysis / TaskStateAnalysis / TagWrapper.java
index 5ce05f27999ef44d73d2e1090deee11a99a5cf76..2a6b96f8282735ced997afa1cc48f95bffbca853 100644 (file)
@@ -4,20 +4,28 @@ import IR.Tree.*;
 import IR.Flat.*;
 import java.util.*;
 
-public class TagWrapper {
+public class TagWrapper implements Wrapper {
     TagState initts;
-    Vector<TagState> ts;
+    HashSet<TagState> ts;
 
     public TagWrapper(TagState ts) {
        this.initts=ts;
-       this.ts=new Vector<TagState>();
-       this.ts.addAll(ts);
+       this.ts=new HashSet<TagState>();
+       this.ts.add(ts);
+    }
+
+    private TagWrapper() {
+    }
+
+    public TagState getState() {
+       assert(ts.size()==1);
+       return ts.iterator().next();
     }
 
     public TagWrapper clone() {
        TagWrapper tw=new TagWrapper();
        tw.initts=initts;
-       tw.ts=ts.clone();
+       tw.ts=(HashSet<TagState>)ts.clone();
        return tw;
     }
 }