public ReachingSet AddOutVarRange(System.Collections.Immutable.IImmutableDictionary <string, Variable> reachSet, bool mergeSets = false) { if (!mergeSets) { return(new ReachingSet() { DefinedOutVars = this.DefinedOutVars.SetItems(reachSet), DefinedInVars = this.DefinedInVars }); } else { return(new ReachingSet { DefinedInVars = this.DefinedInVars, DefinedOutVars = DefinedOutVars.Merge(reachSet) }); } }
public bool Equals(ReachingSet other) { return(other != null && (DefinedOutVars.SequenceEqual(other.DefinedOutVars) && DefinedInVars.SequenceEqual(other.DefinedInVars))); }