From ea867d1c35057a2b0ed005f16d506b78557a0e84 Mon Sep 17 00:00:00 2001 From: chandera Date: Tue, 14 Oct 2014 14:31:44 -0700 Subject: [PATCH] Hide events and property backing fields from the expression-level completion list (changeset 1354088) --- .../VisualBasicRecommendationService.vb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Src/Workspaces/VisualBasic/Portable/Recommendations/VisualBasicRecommendationService.vb b/Src/Workspaces/VisualBasic/Portable/Recommendations/VisualBasicRecommendationService.vb index 1abe3bda92e..36dec72f5cd 100644 --- a/Src/Workspaces/VisualBasic/Portable/Recommendations/VisualBasicRecommendationService.vb +++ b/Src/Workspaces/VisualBasic/Portable/Recommendations/VisualBasicRecommendationService.vb @@ -123,16 +123,18 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Recommendations lookupPosition = context.Position End If - Dim symbols = If( + Dim symbols As IEnumerable(Of ISymbol) = If( context.TargetToken.Parent.IsInStaticContext(), context.SemanticModel.LookupStaticMembers(lookupPosition), context.SemanticModel.LookupSymbols(lookupPosition)) If filterOutOfScopeLocals Then - Return symbols.Where(Function(symbol) Not symbol.IsInaccessibleLocal(context.Position)) + symbols = symbols.Where(Function(symbol) Not symbol.IsInaccessibleLocal(context.Position)) End If - Return symbols + ' Hide backing fields and events + + Return symbols.Where(Function(s) FilterEventsAndGeneratedSymbols(Nothing, s)) End Function Private Function GetSymbolsForQualifiedNameSyntax( @@ -322,7 +324,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Recommendations ''' Private Shared Function FilterEventsAndGeneratedSymbols(node As MemberAccessExpressionSyntax, s As ISymbol) As Boolean If s.Kind = SymbolKind.Event Then - Return node.GetAncestor(Of AddRemoveHandlerStatementSyntax) IsNot Nothing + Return node IsNot Nothing AndAlso node.GetAncestor(Of AddRemoveHandlerStatementSyntax) IsNot Nothing ElseIf s.Kind = SymbolKind.Field AndAlso s.IsImplicitlyDeclared Then Dim associatedSymbol = DirectCast(s, IFieldSymbol).AssociatedSymbol If associatedSymbol IsNot Nothing Then -- GitLab