private static CodeAction CreateCodeAction(CodeFixContext context, BinaryExpressionSyntax binaryExpression, StringComparison stringComparison) { return(CodeAction.Create( GetTitle(stringComparison), cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, binaryExpression, stringComparison, cancellationToken), GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, stringComparison.ToString()))); }
private static CodeAction CreateCodeAction(CodeFixContext context, InvocationExpressionSyntax invocation, StringComparison stringComparison) { return(CodeAction.Create( GetTitle(stringComparison), cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, invocation, stringComparison, cancellationToken), DiagnosticIdentifiers.UseStringComparison + stringComparison + EquivalenceKeySuffix)); }
private bool RegisterCodeFix( CodeFixContext context, Diagnostic diagnostic, SimpleMemberInvocationExpressionInfo invocationInfo, INamedTypeSymbol comparisonSymbol, string comparisonName) { if (!comparisonSymbol.ContainsMember <IFieldSymbol>(comparisonName)) { return(false); } CodeAction codeAction = CodeAction.Create( GetTitle(comparisonName), cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, invocationInfo, comparisonName, cancellationToken), GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, comparisonName)); context.RegisterCodeFix(codeAction, diagnostic); return(true); }
private static bool RegisterCodeFix( CodeFixContext context, Diagnostic diagnostic, BinaryExpressionSyntax binaryExpression, INamedTypeSymbol comparisonSymbol, string comparisonName) { if (!comparisonSymbol.ExistsField(comparisonName)) { return(false); } CodeAction codeAction = CodeAction.Create( GetTitle(comparisonName), cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, binaryExpression, comparisonName, cancellationToken), GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, comparisonName)); context.RegisterCodeFix(codeAction, diagnostic); return(true); }