/// <summary> /// Visits the array string value location. /// </summary> /// <param name="location">The location.</param> public void VisitArrayStringValueLocation(ArrayStringValueLocation location) { MemoryEntry oldEntry = snapshot.Structure.GetMemoryEntry(location.ContainingIndex); HashSet <Value> newValues = new HashSet <Value>(); HashSetTools.AddAll(newValues, oldEntry.PossibleValues); if (isMust) { newValues.Remove(location.Value); } IEnumerable <Value> values = location.WriteValues(snapshot.MemoryAssistant, entry); HashSetTools.AddAll(newValues, values); snapshot.Structure.SetMemoryEntry(location.ContainingIndex, new MemoryEntry(newValues)); }
/// <summary> /// Visits the array string value location. /// </summary> /// <param name="location">The location.</param> public void VisitArrayStringValueLocation(ArrayStringValueLocation location) { IEnumerable <Value> values = location.ReadValues(assistant); ProcessValues(null, values, IsMust); }
/// <summary> /// Visits the array string value location. /// </summary> /// <param name="location">The location.</param> public void VisitArrayStringValueLocation(ArrayStringValueLocation location) { read(location.ContainingIndex); }