diff --git a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs index 7406d96480af4..3f0c11bdaacc0 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForBuilderDiagnosticAnalyzer.cs @@ -27,7 +27,7 @@ internal sealed partial class CSharpUseCollectionExpressionForBuilderDiagnosticA EnforceOnBuildValues.UseCollectionExpressionForBuilder) { private const string CreateBuilderName = nameof(ImmutableArray.CreateBuilder); - private const string GetInstanceName = nameof(ArrayBuilder.GetInstance); + private const string GetInstanceName = nameof(ArrayBuilder<>.GetInstance); protected override void InitializeWorker(CodeBlockStartAnalysisContext context, INamedTypeSymbol? expressionType) => context.RegisterSyntaxNodeAction(context => AnalyzeInvocationExpression(context, expressionType), SyntaxKind.InvocationExpression); @@ -117,7 +117,7 @@ void FadeOutCode(SyntaxNodeAnalysisContext context, AnalysisResult analysisResul return null; if (memberAccessExpression.Name.Identifier.ValueText == GetInstanceName && - memberAccessExpression.Expression is not GenericNameSyntax { Identifier.ValueText: nameof(ArrayBuilder) }) + memberAccessExpression.Expression is not GenericNameSyntax { Identifier.ValueText: nameof(ArrayBuilder<>) }) { return null; } @@ -217,12 +217,12 @@ identifierName.Parent is MemberAccessExpressionSyntax(SyntaxKind.SimpleMemberAcc memberAccess.Expression == identifierName && memberAccess.Parent is InvocationExpressionSyntax { ArgumentList.Arguments.Count: 0 } invocationExpression && memberAccess.Name.Identifier.ValueText - is nameof(ImmutableArray.Builder.ToImmutable) - or nameof(ImmutableArray.Builder.MoveToImmutable) - or nameof(ImmutableArray.Builder.ToArray) - or nameof(ArrayBuilder.ToImmutableAndClear) - or nameof(ArrayBuilder.ToImmutableAndFree) - or nameof(ArrayBuilder.ToArrayAndFree) + is nameof(ImmutableArray<>.Builder.ToImmutable) + or nameof(ImmutableArray<>.Builder.MoveToImmutable) + or nameof(ImmutableArray<>.Builder.ToArray) + or nameof(ArrayBuilder<>.ToImmutableAndClear) + or nameof(ArrayBuilder<>.ToImmutableAndFree) + or nameof(ArrayBuilder<>.ToArrayAndFree) or nameof(Enumerable.ToList)) { return invocationExpression; diff --git a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs index db35d9137dbb4..6a4510707005b 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs @@ -42,24 +42,24 @@ internal sealed partial class CSharpUseCollectionExpressionForFluentDiagnosticAn private static readonly ImmutableArray s_suffixes = [ nameof(Array), - nameof(Span), - nameof(ReadOnlySpan), - nameof(System.Collections.Generic.List), - nameof(HashSet), - nameof(LinkedList), - nameof(Queue), - nameof(SortedSet), - nameof(Stack), - nameof(ICollection), - nameof(IReadOnlyCollection), - nameof(IList), - nameof(IReadOnlyList), - nameof(ImmutableArray), - nameof(ImmutableHashSet), - nameof(ImmutableList), - nameof(ImmutableQueue), - nameof(ImmutableSortedSet), - nameof(ImmutableStack), + nameof(Span<>), + nameof(ReadOnlySpan<>), + nameof(System.Collections.Generic.List<>), + nameof(HashSet<>), + nameof(LinkedList<>), + nameof(Queue<>), + nameof(SortedSet<>), + nameof(Stack<>), + nameof(ICollection<>), + nameof(IReadOnlyCollection<>), + nameof(IList<>), + nameof(IReadOnlyList<>), + nameof(ImmutableArray<>), + nameof(ImmutableHashSet<>), + nameof(ImmutableList<>), + nameof(ImmutableQueue<>), + nameof(ImmutableSortedSet<>), + nameof(ImmutableStack<>), nameof(System.Collections.Immutable), ]; diff --git a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs index 24db63134a0ba..cd9f1f005d860 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/CSharpUseCollectionExpressionForNewDiagnosticAnalyzer.cs @@ -53,7 +53,7 @@ private void AnalyzeBaseObjectCreationExpression( var symbol = semanticModel.GetSymbolInfo(objectCreationExpression, cancellationToken).Symbol; if (symbol is not IMethodSymbol { MethodKind: MethodKind.Constructor, Parameters: [var constructorParameter] } || - constructorParameter.Type.Name != nameof(IEnumerable)) + constructorParameter.Type.Name != nameof(IEnumerable<>)) { return; } diff --git a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/UseCollectionExpressionHelpers.cs b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/UseCollectionExpressionHelpers.cs index 3ad3e5986aad9..4a6ff87c46508 100644 --- a/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/UseCollectionExpressionHelpers.cs +++ b/src/Analyzers/CSharp/Analyzers/UseCollectionExpression/UseCollectionExpressionHelpers.cs @@ -193,11 +193,11 @@ bool IsSafeConversionWhenTypesDoNotMatch(out bool changesSemantics) var convertedType = originalTypeInfo.ConvertedType; var convertedToReadOnlySpan = - convertedType.Name == nameof(ReadOnlySpan) && + convertedType.Name == nameof(ReadOnlySpan<>) && convertedType.OriginalDefinition.Equals(compilation.ReadOnlySpanOfTType()); var convertedToSpan = - convertedType.Name == nameof(Span) && + convertedType.Name == nameof(Span<>) && convertedType.OriginalDefinition.Equals(compilation.SpanOfTType()); // ReadOnlySpan x = stackalloc[] ... @@ -206,7 +206,7 @@ bool IsSafeConversionWhenTypesDoNotMatch(out bool changesSemantics) // restrictive than Span var isSpanToReadOnlySpan = convertedToReadOnlySpan && - type.Name == nameof(Span) && + type.Name == nameof(Span<>) && type.OriginalDefinition.Equals(compilation.SpanOfTType()) && convertedType.GetTypeArguments()[0].Equals(type.GetTypeArguments()[0]); if (isSpanToReadOnlySpan) @@ -264,7 +264,7 @@ bool IsSafeConversionWhenTypesDoNotMatch(out bool changesSemantics) // disallow converting those types to ensure semantics are preserved. We do this even though // allowSemanticsChange is true because this will basically be certain to break semantics, as opposed to // the more common case where semantics may change slightly, but likely not in a way that breaks code. - if (type.Name is nameof(ObservableCollection) or nameof(ReadOnlyObservableCollection)) + if (type.Name is nameof(ObservableCollection<>) or nameof(ReadOnlyObservableCollection<>)) return false; // If the original expression was creating a set, but is being assigned to one of the well known @@ -933,7 +933,7 @@ bool IsCompatibleSignatureAndArguments( { Type: INamedTypeSymbol { - Name: nameof(IEnumerable), + Name: nameof(IEnumerable<>), TypeArguments: [ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method }] } enumerableType }] && @@ -980,7 +980,7 @@ originalCreateMethod.Parameters is [ { Type: INamedTypeSymbol { - Name: nameof(Span) or nameof(ReadOnlySpan), + Name: nameof(Span<>) or nameof(ReadOnlySpan<>), TypeArguments: [ITypeParameterSymbol { TypeParameterKind: TypeParameterKind.Method }] } spanType }]) diff --git a/src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs b/src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs index 26ea15936fa4a..dee9c249b8a93 100644 --- a/src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs +++ b/src/Analyzers/CSharp/Analyzers/UseIndexOrRangeOperator/CSharpUseRangeOperatorDiagnosticAnalyzer.InfoCache.cs @@ -158,7 +158,7 @@ private MemberInfo ComputeMemberInfo(IMethodSymbol sliceLikeMethod, bool require // Also, look to see if the type has a `.Slice(int start, int length)` method. // This is also a method the compiler knows to look for when a user writes `x[a..b]` var actualSliceMethod = - sliceLikeMethod.ContainingType.GetMembers(nameof(Span.Slice)) + sliceLikeMethod.ContainingType.GetMembers(nameof(Span<>.Slice)) .OfType() .FirstOrDefault(s => IsTwoArgumentSliceLikeMethod(s)); if (actualSliceMethod != null) diff --git a/src/Analyzers/CSharp/CodeFixes/MakeMethodAsynchronous/CSharpMakeMethodAsynchronousCodeFixProvider.cs b/src/Analyzers/CSharp/CodeFixes/MakeMethodAsynchronous/CSharpMakeMethodAsynchronousCodeFixProvider.cs index ebdf9616f9161..1450fca34c80f 100644 --- a/src/Analyzers/CSharp/CodeFixes/MakeMethodAsynchronous/CSharpMakeMethodAsynchronousCodeFixProvider.cs +++ b/src/Analyzers/CSharp/CodeFixes/MakeMethodAsynchronous/CSharpMakeMethodAsynchronousCodeFixProvider.cs @@ -131,13 +131,13 @@ private static TypeSyntax FixMethodReturnType( if (IsIEnumerable(returnType, knownTypes) && IsIterator(methodSymbol, cancellationToken)) { newReturnType = knownTypes.IAsyncEnumerableOfTType is null - ? MakeGenericType(nameof(IAsyncEnumerable), methodSymbol.ReturnType) + ? MakeGenericType(nameof(IAsyncEnumerable<>), methodSymbol.ReturnType) : knownTypes.IAsyncEnumerableOfTType.Construct(methodSymbol.ReturnType.GetTypeArguments()[0]).GenerateTypeSyntax(); } else if (IsIEnumerator(returnType, knownTypes) && IsIterator(methodSymbol, cancellationToken)) { newReturnType = knownTypes.IAsyncEnumeratorOfTType is null - ? MakeGenericType(nameof(IAsyncEnumerator), methodSymbol.ReturnType) + ? MakeGenericType(nameof(IAsyncEnumerator<>), methodSymbol.ReturnType) : knownTypes.IAsyncEnumeratorOfTType.Construct(methodSymbol.ReturnType.GetTypeArguments()[0]).GenerateTypeSyntax(); } else if (IsIAsyncEnumerableOrEnumerator(returnType, knownTypes)) diff --git a/src/Analyzers/CSharp/CodeFixes/UseUtf8StringLiteral/UseUtf8StringLiteralCodeFixProvider.cs b/src/Analyzers/CSharp/CodeFixes/UseUtf8StringLiteral/UseUtf8StringLiteralCodeFixProvider.cs index f82a29f839e6e..067362b58ca4f 100644 --- a/src/Analyzers/CSharp/CodeFixes/UseUtf8StringLiteral/UseUtf8StringLiteralCodeFixProvider.cs +++ b/src/Analyzers/CSharp/CodeFixes/UseUtf8StringLiteral/UseUtf8StringLiteralCodeFixProvider.cs @@ -206,7 +206,7 @@ private static ExpressionSyntax CreateUtf8String(SyntaxTriviaList leadingTrivia, MemberAccessExpression( SyntaxKind.SimpleMemberAccessExpression, stringLiteral, - IdentifierName(nameof(ReadOnlySpan.ToArray)))) + IdentifierName(nameof(ReadOnlySpan<>.ToArray)))) .WithTrailingTrivia(trailingTrivia); } } diff --git a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs index 515eb7d8a2efa..92251b50c672f 100644 --- a/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseCoalesceExpression/AbstractUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs @@ -80,7 +80,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context) syntaxFacts.GetPartsOfMemberAccessExpression(conditionMemberAccess, out var conditionExpression, out var conditionSimpleName); syntaxFacts.GetNameAndArityOfSimpleName(conditionSimpleName, out var conditionName, out _); - if (conditionName != nameof(Nullable.HasValue)) + if (conditionName != nameof(Nullable<>.HasValue)) return; var whenPartToCheck = notHasValueExpression ? whenFalseNodeLow : whenTrueNodeLow; @@ -90,7 +90,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context) syntaxFacts.GetPartsOfMemberAccessExpression(whenPartMemberAccess, out var whenPartExpression, out var whenPartSimpleName); syntaxFacts.GetNameAndArityOfSimpleName(whenPartSimpleName, out var whenPartName, out _); - if (whenPartName != nameof(Nullable.Value)) + if (whenPartName != nameof(Nullable<>.Value)) return; if (!syntaxFacts.AreEquivalent(conditionExpression, whenPartExpression)) diff --git a/src/Analyzers/Core/Analyzers/UseCollectionInitializer/UpdateExpressionState.cs b/src/Analyzers/Core/Analyzers/UseCollectionInitializer/UpdateExpressionState.cs index 73fd6a7f9a76f..274f8c9dc8f3f 100644 --- a/src/Analyzers/Core/Analyzers/UseCollectionInitializer/UpdateExpressionState.cs +++ b/src/Analyzers/Core/Analyzers/UseCollectionInitializer/UpdateExpressionState.cs @@ -26,7 +26,7 @@ internal readonly struct UpdateExpressionState< { private static readonly ImmutableArray<(string name, bool isLinq)> s_multiAddNames = [ - (nameof(List.AddRange), isLinq: false), + (nameof(List<>.AddRange), isLinq: false), (nameof(Enumerable.Concat), isLinq: true), (nameof(Enumerable.Append), isLinq: true), ]; diff --git a/src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs b/src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs index 4bec6bacab283..aa4ad20955515 100644 --- a/src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs +++ b/src/Analyzers/Core/Analyzers/UseNullPropagation/AbstractUseNullPropagationDiagnosticAnalyzer.cs @@ -22,7 +22,7 @@ internal static class UseNullPropagationHelpers public static bool IsSystemNullableValueProperty([NotNullWhen(true)] ISymbol? symbol) => symbol is { - Name: nameof(Nullable.Value), + Name: nameof(Nullable<>.Value), ContainingType.OriginalDefinition.SpecialType: SpecialType.System_Nullable_T, }; } diff --git a/src/Analyzers/Core/CodeFixes/ForEachCast/AbstractForEachCastCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/ForEachCast/AbstractForEachCastCodeFixProvider.cs index cfd86259a4a42..9e8c2917accf2 100644 --- a/src/Analyzers/Core/CodeFixes/ForEachCast/AbstractForEachCastCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/ForEachCast/AbstractForEachCastCodeFixProvider.cs @@ -29,7 +29,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context) { if (context.Diagnostics.First().Properties.ContainsKey(ForEachCastHelpers.IsFixable)) { - RegisterCodeFix(context, AnalyzersResources.Add_explicit_cast, nameof(AbstractForEachCastCodeFixProvider)); + RegisterCodeFix(context, AnalyzersResources.Add_explicit_cast, nameof(AbstractForEachCastCodeFixProvider<>)); } return Task.CompletedTask; diff --git a/src/Analyzers/Core/CodeFixes/GenerateParameterizedMember/AbstractGenerateMethodService.State.cs b/src/Analyzers/Core/CodeFixes/GenerateParameterizedMember/AbstractGenerateMethodService.State.cs index c558aa0d8f354..5e252f1496c75 100644 --- a/src/Analyzers/Core/CodeFixes/GenerateParameterizedMember/AbstractGenerateMethodService.State.cs +++ b/src/Analyzers/Core/CodeFixes/GenerateParameterizedMember/AbstractGenerateMethodService.State.cs @@ -167,7 +167,7 @@ private bool TryInitializeSimpleName( { // If we inferred Func/Action here, attempt to create better parameter names than the default // 'arg1/arg2/arg3' form that the delegate specifies. - var parameterNames = delegateInvokeMethod.ContainingType is { Name: nameof(Action) or nameof(Func), ContainingNamespace.Name: nameof(System) } + var parameterNames = delegateInvokeMethod.ContainingType is { Name: nameof(Action) or nameof(Func<>), ContainingNamespace.Name: nameof(System) } ? GenerateParameterNamesBasedOnParameterTypes(delegateInvokeMethod.Parameters) : delegateInvokeMethod.Parameters.SelectAsArray(p => p.Name); diff --git a/src/Analyzers/Core/CodeFixes/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs b/src/Analyzers/Core/CodeFixes/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs index c1e6714f1e0ac..87c4059ab1c3e 100644 --- a/src/Analyzers/Core/CodeFixes/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs +++ b/src/Analyzers/Core/CodeFixes/UseNullPropagation/AbstractUseNullPropagationCodeFixProvider.cs @@ -243,7 +243,7 @@ private void FixIfStatement( syntaxFacts.GetNameAndArityOfSimpleName(nameNode, out var name, out var arity); var comparer = syntaxFacts.StringComparer; - if (arity == 0 && comparer.Equals(name, nameof(Nullable.Value))) + if (arity == 0 && comparer.Equals(name, nameof(Nullable<>.Value))) { // They're calling ".Value" off of a nullable. Because we're moving to ?. // we want to remove the .Value as well. i.e. we should generate: diff --git a/src/EditorFeatures/Core/Lightup/ISmartRenameSessionWrapper.cs b/src/EditorFeatures/Core/Lightup/ISmartRenameSessionWrapper.cs index 45efb9baff566..e81fc283634cf 100644 --- a/src/EditorFeatures/Core/Lightup/ISmartRenameSessionWrapper.cs +++ b/src/EditorFeatures/Core/Lightup/ISmartRenameSessionWrapper.cs @@ -63,10 +63,10 @@ static ISmartRenameSessionWrapper() defaultValue: SpecializedTasks.Null()); s_renameContextImmutableListBuilderAddAccessor = LightupHelpers.CreateActionAccessor(typeof(ImmutableArray<>.Builder).MakeGenericType(s_wrappedRenameContextType), - nameof(ImmutableArray.Builder.Add), + nameof(ImmutableArray<>.Builder.Add), s_wrappedRenameContextType); s_renameContextImmutableListBuilderToArrayAccessor = LightupHelpers.CreateFunctionAccessor(typeof(ImmutableArray<>.Builder).MakeGenericType(s_wrappedRenameContextType), - nameof(ImmutableArray.Builder.ToImmutable), + nameof(ImmutableArray<>.Builder.ToImmutable), typeof(ImmutableArray<>).MakeGenericType(s_wrappedRenameContextType)); var immutableArrayOfRenameContextType = typeof(ImmutableArray<>).MakeGenericType(s_wrappedRenameContextType); diff --git a/src/EditorFeatures/TestUtilities/Diagnostics/DiagnosticTaggerWrapper.cs b/src/EditorFeatures/TestUtilities/Diagnostics/DiagnosticTaggerWrapper.cs index 3dfd854ead0d1..9cdf858031e31 100644 --- a/src/EditorFeatures/TestUtilities/Diagnostics/DiagnosticTaggerWrapper.cs +++ b/src/EditorFeatures/TestUtilities/Diagnostics/DiagnosticTaggerWrapper.cs @@ -55,7 +55,7 @@ public AbstractDiagnosticsTaggerProvider TaggerProvider { if (_taggerProvider == null) { - WpfTestRunner.RequireWpfFact($"{nameof(DiagnosticTaggerWrapper)}.{nameof(TaggerProvider)} creates asynchronous taggers"); + WpfTestRunner.RequireWpfFact($"{nameof(DiagnosticTaggerWrapper<,>)}.{nameof(TaggerProvider)} creates asynchronous taggers"); if (typeof(TProvider) == typeof(InlineDiagnosticsTaggerProvider)) { diff --git a/src/Features/CSharp/Portable/ConvertLinq/ConvertForEachToLinqQuery/ToToListConverter.cs b/src/Features/CSharp/Portable/ConvertLinq/ConvertForEachToLinqQuery/ToToListConverter.cs index 5785807a26f2f..234c5ba672848 100644 --- a/src/Features/CSharp/Portable/ConvertLinq/ConvertForEachToLinqQuery/ToToListConverter.cs +++ b/src/Features/CSharp/Portable/ConvertLinq/ConvertForEachToLinqQuery/ToToListConverter.cs @@ -49,6 +49,6 @@ protected override StatementSyntax CreateDefaultStatement(ExpressionSyntax query SyntaxFactory.MemberAccessExpression( SyntaxKind.SimpleMemberAccessExpression, expression, - SyntaxFactory.IdentifierName(nameof(List.AddRange))), + SyntaxFactory.IdentifierName(nameof(List<>.AddRange))), SyntaxFactory.ArgumentList([SyntaxFactory.Argument(queryOrLinqInvocationExpression)]))); } diff --git a/src/Features/Core/Portable/GenerateComparisonOperators/GenerateComparisonOperatorsCodeRefactoringProvider.cs b/src/Features/Core/Portable/GenerateComparisonOperators/GenerateComparisonOperatorsCodeRefactoringProvider.cs index eedf9f85b4836..3eab31892e73a 100644 --- a/src/Features/Core/Portable/GenerateComparisonOperators/GenerateComparisonOperatorsCodeRefactoringProvider.cs +++ b/src/Features/Core/Portable/GenerateComparisonOperators/GenerateComparisonOperatorsCodeRefactoringProvider.cs @@ -119,7 +119,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte private static IMethodSymbol? TryGetCompareMethodImpl(INamedTypeSymbol containingType, ITypeSymbol comparableType) { - foreach (var member in comparableType.GetMembers(nameof(IComparable.CompareTo))) + foreach (var member in comparableType.GetMembers(nameof(IComparable<>.CompareTo))) { if (member is IMethodSymbol method) return (IMethodSymbol?)containingType.FindImplementationForInterfaceMember(method); diff --git a/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/MethodHandlerDetails.cs b/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/MethodHandlerDetails.cs index 83f087cb0eb3e..62d8c66ad2c36 100644 --- a/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/MethodHandlerDetails.cs +++ b/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/MethodHandlerDetails.cs @@ -115,9 +115,9 @@ private static (string name, IEnumerable languages) GetRequestHandlerMet static LanguageServerEndpointAttribute? GetMethodAttributeFromHandlerMethod(Type handlerType, Type? requestType, Type contextType, Type? responseType) { - const string HandleRequestName = nameof(IRequestHandler.HandleRequestAsync); + const string HandleRequestName = nameof(IRequestHandler<,,>.HandleRequestAsync); const string HandleRequestSuffix = "." + HandleRequestName; - const string HandleNotificationName = nameof(INotificationHandler.HandleNotificationAsync); + const string HandleNotificationName = nameof(INotificationHandler<,>.HandleNotificationAsync); const string HandleNotificationSuffix = "." + HandleNotificationName; foreach (var methodInfo in handlerType.GetRuntimeMethods()) diff --git a/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs b/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs index a45651f422bab..f8f0cb307fb63 100644 --- a/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs +++ b/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs @@ -55,7 +55,7 @@ namespace Microsoft.CommonLanguageServerProtocol.Framework; internal class RequestExecutionQueue : IRequestExecutionQueue { private static readonly MethodInfo s_processQueueCoreAsync = typeof(RequestExecutionQueue) - .GetMethod(nameof(RequestExecutionQueue.ProcessQueueCoreAsync), BindingFlags.NonPublic | BindingFlags.Instance)!; + .GetMethod(nameof(RequestExecutionQueue<>.ProcessQueueCoreAsync), BindingFlags.NonPublic | BindingFlags.Instance)!; protected readonly ILspLogger _logger; protected readonly AbstractHandlerProvider _handlerProvider; diff --git a/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/Core/MetaAnalyzers/Helpers/DiagnosticWellKnownNames.cs b/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/Core/MetaAnalyzers/Helpers/DiagnosticWellKnownNames.cs index 1cf75aeaeaf68..922f3132c659f 100644 --- a/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/Core/MetaAnalyzers/Helpers/DiagnosticWellKnownNames.cs +++ b/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/Core/MetaAnalyzers/Helpers/DiagnosticWellKnownNames.cs @@ -11,7 +11,7 @@ internal static class DiagnosticWellKnownNames internal const string RegisterSyntaxNodeActionName = nameof(AnalysisContext.RegisterSyntaxNodeAction); internal const string RegisterSymbolActionName = nameof(AnalysisContext.RegisterSymbolAction); internal const string RegisterCodeBlockStartActionName = nameof(AnalysisContext.RegisterCodeBlockStartAction); - internal const string RegisterCodeBlockEndActionName = nameof(CodeBlockStartAnalysisContext.RegisterCodeBlockEndAction); + internal const string RegisterCodeBlockEndActionName = nameof(CodeBlockStartAnalysisContext<>.RegisterCodeBlockEndAction); internal const string RegisterCodeBlockActionName = nameof(AnalysisContext.RegisterCodeBlockAction); internal const string RegisterOperationBlockStartActionName = nameof(AnalysisContext.RegisterOperationBlockStartAction); internal const string RegisterOperationBlockEndActionName = nameof(OperationBlockStartAnalysisContext.RegisterOperationBlockEndAction); diff --git a/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractApplyTraitToClass`1.cs b/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractApplyTraitToClass`1.cs index 7504d7d45c2ee..43e41122137b8 100644 --- a/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractApplyTraitToClass`1.cs +++ b/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractApplyTraitToClass`1.cs @@ -61,7 +61,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte CodeAction.Create( RoslynDiagnosticsAnalyzersResources.ApplyTraitToContainingType, cancellationToken => ApplyTraitToClassAsync(state, cancellationToken), - nameof(AbstractApplyTraitToClass))); + nameof(AbstractApplyTraitToClass<>))); } private async Task ApplyTraitToClassAsync(State state, CancellationToken cancellationToken) diff --git a/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractCreateTestAccessor`1.cs b/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractCreateTestAccessor`1.cs index 54dcd6456817b..4ac28004fcd50 100644 --- a/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractCreateTestAccessor`1.cs +++ b/src/RoslynAnalyzers/Roslyn.Diagnostics.Analyzers/Core/AbstractCreateTestAccessor`1.cs @@ -49,7 +49,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte CodeAction.Create( RoslynDiagnosticsAnalyzersResources.CreateTestAccessorMessage, cancellationToken => CreateTestAccessorAsync(context.Document, location.SourceSpan, cancellationToken), - nameof(AbstractCreateTestAccessor))); + nameof(AbstractCreateTestAccessor<>))); } private static bool IsClassOrStruct(ITypeSymbol typeSymbol) diff --git a/src/Tools/ExternalAccess/Extensions/Internal/ExtensionMessageHandlerWrapper.cs b/src/Tools/ExternalAccess/Extensions/Internal/ExtensionMessageHandlerWrapper.cs index 7cc16748d45d3..f93565fcb6c1d 100644 --- a/src/Tools/ExternalAccess/Extensions/Internal/ExtensionMessageHandlerWrapper.cs +++ b/src/Tools/ExternalAccess/Extensions/Internal/ExtensionMessageHandlerWrapper.cs @@ -27,7 +27,7 @@ protected ExtensionHandlerWrapper(object handler, Type customMessageHandlerInter ExtensionIdentifier = extensionIdentifier; _executeAsyncMethod = customMessageHandlerInterface.GetMethod(nameof(ExecuteAsync)); - _responseTaskResultProperty = typeof(Task<>).MakeGenericType(ResponseType).GetProperty(nameof(Task.Result)); + _responseTaskResultProperty = typeof(Task<>).MakeGenericType(ResponseType).GetProperty(nameof(Task<>.Result)); } public Type MessageType { get; } diff --git a/src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs b/src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs index 8e648c1479f99..11dcb0e058834 100644 --- a/src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs +++ b/src/VisualStudio/CSharp/Test/CodeModel/AbstractFileCodeElementTests.cs @@ -61,7 +61,7 @@ protected static (EditorTestWorkspace workspace, FileCodeModel fileCodeModel) Cr protected CodeElement GetCodeElement(params object[] path) { - WpfTestRunner.RequireWpfFact($"Tests create {nameof(CodeElement)}s which use the affinitized {nameof(CleanableWeakComHandleTable)}"); + WpfTestRunner.RequireWpfFact($"Tests create {nameof(CodeElement)}s which use the affinitized {nameof(CleanableWeakComHandleTable<,>)}"); if (path.Length == 0) { diff --git a/src/Workspaces/CoreTest/UtilityTest/AsyncLazyTests.cs b/src/Workspaces/CoreTest/UtilityTest/AsyncLazyTests.cs index c9424a771e567..e0ee92943f719 100644 --- a/src/Workspaces/CoreTest/UtilityTest/AsyncLazyTests.cs +++ b/src/Workspaces/CoreTest/UtilityTest/AsyncLazyTests.cs @@ -183,7 +183,7 @@ private static void GetValueOrGetValueAsyncThrowsCorrectExceptionDuringCancellat try { doGetValue(lazy, cancellationTokenSource.Token); - AssertEx.Fail(nameof(AsyncLazy.GetValue) + " did not throw an exception."); + AssertEx.Fail(nameof(AsyncLazy<>.GetValue) + " did not throw an exception."); } catch (OperationCanceledException oce) { @@ -211,7 +211,7 @@ public void GetValueAsyncThatIsCancelledReturnsTaskCancelledWithCorrectToken() try { task.Wait(); - AssertEx.Fail(nameof(AsyncLazy.GetValueAsync) + " did not throw an exception."); + AssertEx.Fail(nameof(AsyncLazy<>.GetValueAsync) + " did not throw an exception."); } catch (AggregateException ex) { diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Utilities/TypeStyle/CSharpUseImplicitTypeHelper.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Utilities/TypeStyle/CSharpUseImplicitTypeHelper.cs index 0ad0363d96bfd..5f38dac59b397 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Utilities/TypeStyle/CSharpUseImplicitTypeHelper.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Utilities/TypeStyle/CSharpUseImplicitTypeHelper.cs @@ -321,7 +321,7 @@ protected override bool AssignmentSupportsStylePreference( return declaredType.Equals(initializerType) && declaredType is { - Name: nameof(Func) or nameof(Action), + Name: nameof(Func<>) or nameof(Action<>), ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true } }; } diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ReferenceCountedDisposable.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ReferenceCountedDisposable.cs index e1d76bd0d909d..8dad134d0367b 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ReferenceCountedDisposable.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ReferenceCountedDisposable.cs @@ -115,7 +115,7 @@ private ReferenceCountedDisposable(T instance, BoxedReferenceCount referenceCoun /// it returns after any code invokes . /// /// The target object. - public T Target => _instance ?? throw new ObjectDisposedException(nameof(ReferenceCountedDisposable)); + public T Target => _instance ?? throw new ObjectDisposedException(nameof(ReferenceCountedDisposable<>)); /// /// Increments the reference count for the disposable object, and returns a new disposable reference to it. diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Extensions/Symbols/ITypeSymbolExtensions.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Extensions/Symbols/ITypeSymbolExtensions.cs index 66f23193e84ea..903d92bd3a723 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Extensions/Symbols/ITypeSymbolExtensions.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Extensions/Symbols/ITypeSymbolExtensions.cs @@ -749,7 +749,7 @@ public static bool IsSpanOrReadOnlySpan([NotNullWhen(true)] this ITypeSymbol? ty public static bool IsSpan([NotNullWhen(true)] this ITypeSymbol? type) => type is INamedTypeSymbol { - Name: nameof(Span), + Name: nameof(Span<>), TypeArguments.Length: 1, ContainingNamespace: { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true } }; @@ -757,7 +757,7 @@ public static bool IsSpan([NotNullWhen(true)] this ITypeSymbol? type) public static bool IsReadOnlySpan([NotNullWhen(true)] this ISymbol? symbol) => symbol is INamedTypeSymbol { - Name: nameof(ReadOnlySpan), + Name: nameof(ReadOnlySpan<>), TypeArguments.Length: 1, ContainingNamespace: { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true } }; diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs index 85325ad9d36d0..ce0579c5c755c 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs @@ -1723,13 +1723,13 @@ private IEnumerable InferTypeForExpressionOfMemberAccessExpre // then we can figure out what 'goo' should be based on teh await // context. var name = memberAccessExpression.Name.Identifier.Value; - if (name.Equals(nameof(Task.ConfigureAwait)) && + if (name.Equals(nameof(Task<>.ConfigureAwait)) && memberAccessExpression?.Parent is InvocationExpressionSyntax invocation && memberAccessExpression.Parent.IsParentKind(SyntaxKind.AwaitExpression)) { return InferTypes(invocation); } - else if (name.Equals(nameof(Task.ContinueWith))) + else if (name.Equals(nameof(Task<>.ContinueWith))) { // goo.ContinueWith(...) // We want to infer Task. For now, we'll just do Task, diff --git a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/Extensions/SyntaxGeneratorExtensions.cs b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/Extensions/SyntaxGeneratorExtensions.cs index 605627f735c8c..36f291679cddc 100644 --- a/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/Extensions/SyntaxGeneratorExtensions.cs +++ b/src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/Extensions/SyntaxGeneratorExtensions.cs @@ -77,7 +77,7 @@ public static SyntaxNode GetDefaultEqualityComparer( { var equalityComparerType = compilation.EqualityComparerOfTType(); var typeExpression = equalityComparerType == null - ? factory.GenericName(nameof(EqualityComparer), type) + ? factory.GenericName(nameof(EqualityComparer<>), type) : generatorInternal.Type(equalityComparerType.Construct(type), typeContext: false); return factory.MemberAccessExpression(typeExpression, factory.IdentifierName(DefaultName));