static Effects() { BottomVars = new DroppedDomain <VariableEffects>(VariableEffects.Bottom); TopVars = DroppedDomain <VariableEffects> .Top; Bottom = new Effects(BottomVars, ReadWriteDomain.Bottom, BooleanDomain.Bottom); WriteAll = new Effects(TopVars, ReadWriteDomain.Bottom, BooleanDomain.Bottom); ReadHeap = new Effects(BottomVars, ReadWriteDomain.Read, BooleanDomain.Bottom); WriteHeap = new Effects(BottomVars, ReadWriteDomain.Top, BooleanDomain.Bottom); Throws = new Effects(BottomVars, ReadWriteDomain.Bottom, BooleanDomain.Top); Top = new Effects(TopVars, ReadWriteDomain.Top, BooleanDomain.Top); }
public Effects(DroppedDomain <VariableEffects> vars, ReadWriteDomain heap, BooleanDomain mayThrow) { Vars = vars; Heap = heap; MayThrow = mayThrow; }