both reach states and taints were not propagating to caller contexts with the correct...
[IRC.git] / Robust / src / Analysis / Disjoint / EffectSet.java
1 package Analysis.Disjoint;
2
3 import java.util.HashSet;
4 import java.util.Hashtable;
5 import java.util.Set;
6 import java.util.Iterator;
7 import IR.Flat.TempDescriptor;
8
9 public class EffectSet {
10
11   private Hashtable<Taint, HashSet<Effect>> taint2effects;
12
13   public EffectSet() {
14     taint2effects = new Hashtable<Taint, HashSet<Effect>>();
15   }
16
17   public void addEffect(Taint t, Effect e) {
18     HashSet<Effect> effectSet = taint2effects.get(t);
19     if (effectSet == null) {
20       effectSet = new HashSet<Effect>();
21     }
22     effectSet.add(e);
23     taint2effects.put(t, effectSet);
24   }
25
26   public Set<Effect> getEffects(Taint t) {
27     return taint2effects.get(t);
28   }
29
30   public Iterator getAllEffectPairs() {
31     return taint2effects.entrySet().iterator();
32   }
33
34   public String toString() {
35     return taint2effects.toString();    
36   }
37 }