private void AnalyzeAssignmentExpression(SyntaxNodeAnalysisContext context)
        {
            if (GeneratedCodeAnalyzer?.IsGeneratedCode(context) == true)
            {
                return;
            }

            var assignment = (AssignmentExpressionSyntax)context.Node;

            ExpressionSyntax left  = assignment.Left;
            ExpressionSyntax right = assignment.Right;

            if (left?.IsMissing == false &&
                right?.IsNumericLiteralExpression(1) == true)
            {
                ITypeSymbol typeSymbol = context.SemanticModel.GetTypeInfo(left, context.CancellationToken).Type;

                if (typeSymbol?.SupportsPrefixOrPostfixUnaryOperator() == true &&
                    !assignment.SpanContainsDirectives())
                {
                    context.ReportDiagnostic(
                        DiagnosticDescriptors.UsePostfixUnaryOperatorInsteadOfAssignment,
                        assignment.GetLocation(),
                        UsePostfixUnaryOperatorInsteadOfAssignmentRefactoring.GetOperatorText(assignment));
                }
            }

            RemoveRedundantDelegateCreationRefactoring.Analyze(context, assignment);
        }
        private void AnalyzeAssignmentExpression(SyntaxNodeAnalysisContext context)
        {
            var assignment = (AssignmentExpressionSyntax)context.Node;

            UsePostfixUnaryOperatorInsteadOfAssignmentRefactoring.Analyze(context, assignment);

            RemoveRedundantDelegateCreationRefactoring.Analyze(context, assignment);
        }
        private void AnalyzeAssignmentExpression(SyntaxNodeAnalysisContext context)
        {
            var assignment = (AssignmentExpressionSyntax)context.Node;

            RemoveRedundantDelegateCreationRefactoring.Analyze(context, assignment);
        }