public DependencyPTGDomain(DependencyDomain dependencies, SimplePointsToGraph ptg, RangeDomain itState, RangeDomain blockState) { Dependencies = dependencies; PTG = ptg; IteratorState = itState; BlockState = blockState; }
public DependencyPTGDomain(DependencyDomain dependencies, SimplePointsToGraph ptg) { Dependencies = dependencies; PTG = ptg; IteratorState = RangeDomain.BOTTOM; // new RangeDomain(-1); BlockState = RangeDomain.BOTTOM; }
public DependencyPTGDomain() { Dependencies = new DependencyDomain(); PTG = new SimplePointsToGraph(); IteratorState = RangeDomain.BOTTOM; // new RangeDomain(-1); BlockState = RangeDomain.BOTTOM; }
public bool GreaterThan(DependencyDomain right) { if (this.IsTop && !right.IsTop) { return(true); } var result = !this.LessEqual(right); return(result); // this.Less(right); }
public DependencyDomain Clone() { var result = new DependencyDomain(); result.IsTop = this.IsTop; result.A2_References = new MapSet <PTGNode, Traceable>(this.A2_References); result.A1_Escaping = new HashSet <Traceable>(this.A1_Escaping); result.A2_Variables = new MapSet <IVariable, Traceable>(this.A2_Variables); result.A3_Fields = new MapSet <Location, Traceable>(this.A3_Fields); result.A4_Ouput = new MapSet <IVariable, Traceable>(this.A4_Ouput); result.A4_Ouput_Control = new MapSet <IVariable, Traceable>(this.A4_Ouput_Control); result.ControlVariables = new HashSet <IVariable>(this.ControlVariables); return(result); }
public DependencyDomain Join(DependencyDomain right) { var result = new DependencyDomain(); if (this.IsTop || right.IsTop) { result.IsTop = true; } else if (right.LessEqual(this)) { result = this.Clone(); } else if (this.LessEqual(right)) { result = right.Clone(); } else { result.IsTop = this.IsTop; result.A2_References = new MapSet <SimplePTGNode, Traceable>(this.A2_References); result.A1_Escaping = new HashSet <Traceable>(this.A1_Escaping); result.A2_Variables = new MapSet <IVariable, Traceable>(this.A2_Variables); result.A3_Fields = new MapSet <Location, Traceable>(this.A3_Fields); result.A4_Ouput = new MapSet <IVariable, Traceable>(this.A4_Ouput); result.A4_Ouput_Control = new MapSet <IVariable, Traceable>(this.A4_Ouput_Control); result.ControlVariables = new HashSet <IVariable>(this.ControlVariables); //result.ControlTraceables = new HashSet<Traceable>(this.ControlTraceables); result.isTop = result.isTop || right.isTop; result.A2_References.UnionWith(right.A2_References); result.A1_Escaping.UnionWith(right.A1_Escaping); result.A2_Variables.UnionWith(right.A2_Variables); result.A3_Fields.UnionWith(right.A3_Fields); result.A4_Ouput.UnionWith(right.A4_Ouput); result.A4_Ouput_Control.UnionWith(right.A4_Ouput_Control); result.ControlVariables.UnionWith(right.ControlVariables); //result.ControlTraceables.UnionWith(right.ControlTraceables); } return(result); }
public DependencyPTGDomain(DependencyDomain dependencies, SimplePointsToGraph ptg) { Dependencies = dependencies; PTG = ptg; }
public DependencyPTGDomain() { Dependencies = new DependencyDomain(); PTG = new SimplePointsToGraph(); }