提交 ea867d1c 编写于 作者: C chandera

Hide events and property backing fields from the expression-level completion...

Hide events and property backing fields from the expression-level completion list (changeset 1354088)
上级 587b1c26
......@@ -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
''' </summary>
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册