diff --git a/src/EditorFeatures/CSharp/NavigationBar/CSharpNavigationBarItemService.cs b/src/EditorFeatures/CSharp/NavigationBar/CSharpNavigationBarItemService.cs index b2e056e6bef81bb37871a906932a5d43074f833a..886e7fb3c0337e33250c70dab53dbc8202e289ae 100644 --- a/src/EditorFeatures/CSharp/NavigationBar/CSharpNavigationBarItemService.cs +++ b/src/EditorFeatures/CSharp/NavigationBar/CSharpNavigationBarItemService.cs @@ -323,8 +323,8 @@ private static void AddEnumMemberSpan(ISymbol symbol, SyntaxTree tree, List l.SourceTree.Equals(document.GetSyntaxTreeSynchronously(cancellationToken))); + var syntaxTree = document.GetSyntaxTreeSynchronously(cancellationToken); + var location = symbol.Locations.FirstOrDefault(l => l.SourceTree.Equals(syntaxTree)); if (location == null) { diff --git a/src/EditorFeatures/VisualBasic/NavigationBar/VisualBasicNavigationBarItemService.vb b/src/EditorFeatures/VisualBasic/NavigationBar/VisualBasicNavigationBarItemService.vb index c3e2dcb8ab13f604920c2b85f09751096cdb8802..81797d5226b54e126c2ee7fb87851426461482ae 100644 --- a/src/EditorFeatures/VisualBasic/NavigationBar/VisualBasicNavigationBarItemService.vb +++ b/src/EditorFeatures/VisualBasic/NavigationBar/VisualBasicNavigationBarItemService.vb @@ -494,10 +494,8 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.NavigationBar Dim sourceLocations = symbol.Locations.Where(Function(l) l.IsInSource) ' First figure out the location that we want to grab considering partial types - Dim location = sourceLocations.FirstOrDefault( - Function(l) - Return l.SourceTree.Equals(document.GetSyntaxTreeSynchronously(cancellationToken)) - End Function) + Dim syntaxTree = document.GetSyntaxTreeSynchronously(cancellationToken) + Dim location = sourceLocations.FirstOrDefault(Function(l) l.SourceTree.Equals(syntaxTree)) If location Is Nothing Then location = sourceLocations.FirstOrDefault