/// <summary> /// Provides the list of references for a given filter /// </summary> /// <param name="filter"></param> /// <returns></returns> public List<Usage> FindReferences(BaseFilter filter) { // Find references ReferenceVisitor visitor = new ReferenceVisitor(filter); ModelElement.DontRaiseError(() => { foreach (Dictionary dictionary in Dictionaries) { visitor.visit(dictionary, true); } visitor.Usages.Sort(); }); return visitor.Usages; }
/// <summary> /// Provides the list of references of a given model element /// </summary> /// <param name="model"></param> /// <returns></returns> public List<Usage> FindReferences(ModelElement model) { List<Usage> retVal; if (model != null) { // Find references ReferenceVisitor visitor = new ReferenceVisitor(model); ModelElement.DontRaiseError(() => { foreach (Dictionary dictionary in Dictionaries) { visitor.visit(dictionary, true); } visitor.Usages.Sort(); }); retVal = visitor.Usages; foreach (Usage usage in retVal) { // It has not been proven that it is something else than Read // Let's consider it is read if (usage.Mode == null) { usage.Mode = Usage.ModeEnum.Read; } } } else { retVal = new List<Usage>(); } return retVal; }