From cc3c715ac45041451506a332e441a50d349c4b2d Mon Sep 17 00:00:00 2001 From: Kevin Pilch-Bisson Date: Thu, 12 May 2016 20:21:57 -0700 Subject: [PATCH] Rename and simplify method --- .../Core/Extensibility/VersionSelector.cs | 13 ++----------- .../Completion/Presentation/CompletionPresenter.cs | 2 +- .../Completion/Presentation/CompletionPresenter.cs | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/EditorFeatures/Core/Extensibility/VersionSelector.cs b/src/EditorFeatures/Core/Extensibility/VersionSelector.cs index 48e41cae5e8..0dc2c700000 100644 --- a/src/EditorFeatures/Core/Extensibility/VersionSelector.cs +++ b/src/EditorFeatures/Core/Extensibility/VersionSelector.cs @@ -9,18 +9,9 @@ namespace Microsoft.CodeAnalysis.Editor { internal sealed class VersionSelector { - public static T Select(IEnumerable> items) + public static T SelectHighest(IEnumerable> items) { - var best = items.FirstOrDefault(); - foreach (var item in items.Skip(1)) - { - if ((int)item.Metadata.Version > (int)best.Metadata.Version) - { - best = item; - } - } - - return best.Value; + return items.OrderByDescending(i => i.Metadata.Version).First().Value; } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CompletionPresenter.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CompletionPresenter.cs index 97d465535af..38156510624 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CompletionPresenter.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/Completion/Presentation/CompletionPresenter.cs @@ -30,7 +30,7 @@ internal sealed class CompletionPresenter : ForegroundThreadAffinitizedObject, I { _completionBroker = completionBroker; _glyphService = glyphService; - _completionSetFactory = VersionSelector.Select(completionSetFactories); + _completionSetFactory = VersionSelector.SelectHighest(completionSetFactories); } ICompletionPresenterSession IIntelliSensePresenter.CreateSession(ITextView textView, ITextBuffer subjectBuffer, ICompletionSession session) diff --git a/src/Interactive/EditorFeatures/Core/Implementation/Completion/Presentation/CompletionPresenter.cs b/src/Interactive/EditorFeatures/Core/Implementation/Completion/Presentation/CompletionPresenter.cs index bce84f27ac6..eccbabf03de 100644 --- a/src/Interactive/EditorFeatures/Core/Implementation/Completion/Presentation/CompletionPresenter.cs +++ b/src/Interactive/EditorFeatures/Core/Implementation/Completion/Presentation/CompletionPresenter.cs @@ -32,7 +32,7 @@ internal partial class CompletionPresenter : ForegroundThreadAffinitizedObject, { _completionBroker = completionBroker; _glyphService = glyphService; - _completionSetFactory = VersionSelector.Select(completionSetFactories); + _completionSetFactory = VersionSelector.SelectHighest(completionSetFactories); } ICompletionPresenterSession IIntelliSensePresenter.CreateSession(ITextView textView, ITextBuffer subjectBuffer, ICompletionSession sessionOpt) -- GitLab