private static void ReplaceExistingItem( CompletionItem item, Dictionary <string, List <CompletionItem> > displayNameToItemsMap, CompletionRules completionRules) { // See if we have an item with var sameNamedItems = displayNameToItemsMap.GetOrAdd(item.DisplayText, s_createList); for (int i = 0; i < sameNamedItems.Count; i++) { var existingItem = sameNamedItems[i]; Contract.Assert(item.DisplayText == existingItem.DisplayText); if (completionRules.ItemsMatch(item, existingItem)) { sameNamedItems[i] = Disambiguate(item, existingItem); return; } } sameNamedItems.Add(item); }
private static void ReplaceExistingItem( CompletionItem item, Dictionary<string, List<CompletionItem>> displayNameToItemsMap, CompletionRules completionRules) { // See if we have an item with var sameNamedItems = displayNameToItemsMap.GetOrAdd(item.DisplayText, s_createList); for (int i = 0; i < sameNamedItems.Count; i++) { var existingItem = sameNamedItems[i]; Contract.Assert(item.DisplayText == existingItem.DisplayText); if (completionRules.ItemsMatch(item, existingItem)) { sameNamedItems[i] = Disambiguate(item, existingItem); return; } } sameNamedItems.Add(item); }