From dedba13d92b1f78257615b541d42cd403318b950 Mon Sep 17 00:00:00 2001 From: Dustin Campbell Date: Mon, 14 Sep 2015 07:59:54 -0700 Subject: [PATCH] Code review feedback for C# and VB cref completion clean up --- .../CompletionProviders/CrefCompletionProvider.cs | 9 ++------- .../CompletionProviders/CrefCompletionProvider.vb | 8 ++------ .../Portable/Shared/Extensions/ISymbolExtensions.cs | 13 ++++--------- .../Extensions/ContextQuery/SyntaxTreeExtensions.vb | 1 - 4 files changed, 8 insertions(+), 23 deletions(-) diff --git a/src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs b/src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs index cec0d05bb51..07fea4a0f04 100644 --- a/src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs +++ b/src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs @@ -59,11 +59,6 @@ public override async Task ProduceCompletionListAsync(CompletionListContext cont var token = tree.FindTokenOnLeftOfPosition(position, cancellationToken) .GetPreviousTokenIfTouchingWord(position); - if (token.Kind() == SyntaxKind.None) - { - return; - } - // To get a Speculative SemanticModel (which is much faster), we need to // walk up to the node the DocumentationTrivia is attached to. var parentNode = token.Parent.FirstAncestorOrSelf()?.ParentTrivia.Token.Parent; @@ -218,8 +213,8 @@ private static TextSpan GetTextChangeSpan(SourceText text, int position) return CommonCompletionUtilities.GetTextChangeSpan( text, position, - (ch) => CompletionUtilities.IsTextChangeSpanStartCharacter(ch) || ch == '{', - (ch) => CompletionUtilities.IsWordCharacter(ch) || ch == '{' || ch == '}'); + ch => CompletionUtilities.IsTextChangeSpanStartCharacter(ch) || ch == '{', + ch => CompletionUtilities.IsWordCharacter(ch) || ch == '{' || ch == '}'); } private IEnumerable CreateCompletionItems( diff --git a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb index 86af2596303..d3007041e59 100644 --- a/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb +++ b/src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb @@ -7,6 +7,7 @@ Imports Microsoft.CodeAnalysis.Completion Imports Microsoft.CodeAnalysis.Completion.Providers Imports Microsoft.CodeAnalysis.Options Imports Microsoft.CodeAnalysis.Text +Imports Microsoft.CodeAnalysis.VisualBasic.Extensions.ContextQuery Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers @@ -31,12 +32,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers Dim cancellationToken = context.CancellationToken Dim tree = Await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(False) - Dim token = tree.FindTokenOnLeftOfPosition(position, cancellationToken) _ - .GetPreviousTokenIfTouchingWord(position) - - If token.Kind = SyntaxKind.None Then - Return - End If + Dim token = tree.GetTargetToken(position, cancellationToken) If IsCrefTypeParameterContext(token) Then Return diff --git a/src/Workspaces/Core/Portable/Shared/Extensions/ISymbolExtensions.cs b/src/Workspaces/Core/Portable/Shared/Extensions/ISymbolExtensions.cs index 3b85984f59b..a125ecc70a5 100644 --- a/src/Workspaces/Core/Portable/Shared/Extensions/ISymbolExtensions.cs +++ b/src/Workspaces/Core/Portable/Shared/Extensions/ISymbolExtensions.cs @@ -394,7 +394,7 @@ public static ImmutableArray GetParameters(this ISymbol symbol { return symbol.TypeSwitch( (IMethodSymbol m) => m.Parameters, - (IPropertySymbol p) => p.Parameters, + (IPropertySymbol nt) => nt.Parameters, _ => ImmutableArray.Create()); } @@ -416,7 +416,8 @@ public static ImmutableArray GetTypeArguments(this ISymbol symbol) public static ImmutableArray GetAllTypeArguments(this ISymbol symbol) { - var results = new List(symbol.GetTypeArguments()); + var results = ImmutableArray.CreateBuilder(); + results.AddRange(symbol.GetTypeArguments()); var containingType = symbol.ContainingType; while (containingType != null) @@ -425,7 +426,7 @@ public static ImmutableArray GetAllTypeArguments(this ISymbol symbo containingType = containingType.ContainingType; } - return ImmutableArray.CreateRange(results); + return results.AsImmutable(); } public static bool IsAttribute(this ISymbol symbol) @@ -517,12 +518,6 @@ public static bool IsUnsafe(this ISymbol member) return compilation.ObjectType; } - public static bool IsDeprecated(this ISymbol symbol) - { - // TODO(cyrusn): Implement this - return false; - } - public static bool IsStaticType(this ISymbol symbol) { return symbol != null && symbol.Kind == SymbolKind.NamedType && symbol.IsStatic; diff --git a/src/Workspaces/VisualBasic/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.vb b/src/Workspaces/VisualBasic/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.vb index 07fe59fa90f..aad7750092b 100644 --- a/src/Workspaces/VisualBasic/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.vb +++ b/src/Workspaces/VisualBasic/Portable/Extensions/ContextQuery/SyntaxTreeExtensions.vb @@ -27,7 +27,6 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Extensions.ContextQuery End If token = token.GetPreviousToken() - Loop Return token -- GitLab