void AddCompletionData(List <ICompletionData> resultList, IEnumerable <Dom.ICompletionEntry> completionData) { // used to store the method names for grouping overloads Dictionary <string, CodeCompletionData> nameDictionary = new Dictionary <string, CodeCompletionData>(); // Add the completion data as returned by SharpDevelop.Dom to the // list for the text editor foreach (object obj in completionData) { if (obj is string) { // namespace names are returned as string resultList.Add(new DefaultCompletionData((string)obj, "namespace " + obj, 5)); } else if (obj is Dom.IClass) { Dom.IClass c = (Dom.IClass)obj; resultList.Add(new CodeCompletionData(c)); } else if (obj is Dom.IMember) { Dom.IMember m = (Dom.IMember)obj; if (m is Dom.IMethod && ((m as Dom.IMethod).IsConstructor)) { // Skip constructors continue; } // Group results by name and add "(x Overloads)" to the // description if there are multiple results with the same name. CodeCompletionData data; if (nameDictionary.TryGetValue(m.Name, out data)) { data.AddOverload(); } else { nameDictionary[m.Name] = data = new CodeCompletionData(m); resultList.Add(data); } } else { // Current ICSharpCode.SharpDevelop.Dom should never return anything else //throw new NotSupportedException(); } } }
private static void AddCompletionData(List <ICompletionData> resultList, IEnumerable <Dom.ICompletionEntry> completionData) { // used to store the method names for grouping overloads var nameDictionary = new Dictionary <string, CodeCompletionData>(); // Add the completion data as returned by SharpDevelop.Dom to the // list for the text editor foreach (var entry in completionData) { var @class = entry as Dom.IClass; if (@class != null) { resultList.Add(new CodeCompletionData(@class)); } else { var member = entry as Dom.IMember; if (member == null) { continue; } if (member is Dom.IMethod && ((member as Dom.IMethod).IsConstructor)) { // Skip constructors continue; } // Group results by name and add "(x Overloads)" to the // description if there are multiple results with the same name. CodeCompletionData data; if (nameDictionary.TryGetValue(member.Name, out data)) { data.AddOverload(); } else { nameDictionary[member.Name] = data = new CodeCompletionData(member); resultList.Add(data); } } } }
internal static string GetMemberText(IAmbience ambience, IEntity member) { var text = new StringBuilder(); // ReSharper disable once CanBeReplacedWithTryCastAndCheckForNull if (member is IField) { text.Append(ambience.Convert((IField)member)); } else if (member is IProperty) { text.Append(ambience.Convert((IProperty)member)); } else if (member is IEvent) { text.Append(ambience.Convert((IEvent)member)); } else if (member is IMethod) { text.Append(ambience.Convert((IMethod)member)); } else if (member is IClass) { text.Append(ambience.Convert((IClass)member)); } else { text.Append("unknown member "); text.Append(member); } var documentation = member.Documentation; if (string.IsNullOrEmpty(documentation)) { return(text.ToString()); } text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); return(text.ToString()); }
internal static string GetMemberText(IAmbience ambience, IEntity member) { var text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member); } var documentation = member.Documentation; if (string.IsNullOrEmpty(documentation)) { return(text.ToString()); } text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); return(text.ToString()); }
internal static string GetMemberText(IAmbience ambience, IEntity member) { StringBuilder text = new StringBuilder(); if (member is IField) { text.Append(ambience.Convert(member as IField)); } else if (member is IProperty) { text.Append(ambience.Convert(member as IProperty)); } else if (member is IEvent) { text.Append(ambience.Convert(member as IEvent)); } else if (member is IMethod) { text.Append(ambience.Convert(member as IMethod)); } else if (member is IClass) { text.Append(ambience.Convert(member as IClass)); } else { text.Append("unknown member "); text.Append(member.ToString()); } string documentation = member.Documentation; if (documentation != null && documentation.Length > 0) { text.Append('\n'); text.Append(CodeCompletionData.XmlDocumentationToText(documentation)); } return(text.ToString()); }
private static void AddCompletionData(List<ICompletionData> resultList, IEnumerable<Dom.ICompletionEntry> completionData) { // used to store the method names for grouping overloads var nameDictionary = new Dictionary<string, CodeCompletionData>(); // Add the completion data as returned by SharpDevelop.Dom to the // list for the text editor foreach (var entry in completionData) { var @class = entry as Dom.IClass; if (@class != null) { resultList.Add(new CodeCompletionData(@class)); } else { var member = entry as Dom.IMember; if (member == null) continue; if (member is Dom.IMethod && ((member as Dom.IMethod).IsConstructor)) { // Skip constructors continue; } // Group results by name and add "(x Overloads)" to the // description if there are multiple results with the same name. CodeCompletionData data; if (nameDictionary.TryGetValue(member.Name, out data)) { data.AddOverload(); } else { nameDictionary[member.Name] = data = new CodeCompletionData(member); resultList.Add(data); } } } }
void AddCompletionData(List<ICompletionData> resultList, IEnumerable<Dom.ICompletionEntry> completionData) { // used to store the method names for grouping overloads Dictionary<string, CodeCompletionData> nameDictionary = new Dictionary<string, CodeCompletionData>(); // Add the completion data as returned by SharpDevelop.Dom to the // list for the text editor foreach (object obj in completionData) { if (obj is string) { // namespace names are returned as string resultList.Add(new DefaultCompletionData((string)obj, "namespace " + obj, 5)); } else if (obj is Dom.IClass) { Dom.IClass c = (Dom.IClass)obj; resultList.Add(new CodeCompletionData(c)); } else if (obj is Dom.IMember) { Dom.IMember m = (Dom.IMember)obj; if (m is Dom.IMethod && ((m as Dom.IMethod).IsConstructor)) { // Skip constructors continue; } // Group results by name and add "(x Overloads)" to the // description if there are multiple results with the same name. CodeCompletionData data; if (nameDictionary.TryGetValue(m.Name, out data)) { data.AddOverload(); } else { nameDictionary[m.Name] = data = new CodeCompletionData(m); resultList.Add(data); } } else { // Current ICSharpCode.SharpDevelop.Dom should never return anything else //throw new NotSupportedException(); } } }