CheckForCondition() private static méthode

private static CheckForCondition ( SyntaxNodeAnalysisContext context, InvocationExpressionSyntax invocationNode, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax expressionStatementParent, Microsoft.CodeAnalysis.DiagnosticDescriptor descriptor ) : void
context SyntaxNodeAnalysisContext
invocationNode InvocationExpressionSyntax
expressionStatementParent Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax
descriptor Microsoft.CodeAnalysis.DiagnosticDescriptor
Résultat void
        private static void AnalyzeInvocation(SyntaxNodeAnalysisContext context)
        {
            // http://stackoverflow.com/questions/29614112/how-to-get-invoked-method-name-in-roslyn
            var invocationNode   = (InvocationExpressionSyntax)context.Node;
            var invocationSymbol = context.SemanticModel.GetSymbolInfo(invocationNode.Expression).Symbol;

            if ((invocationSymbol?.ContainingType?.IsBusinessBase() ?? false))
            {
                if (context.CancellationToken.IsCancellationRequested)
                {
                    return;
                }

                if (invocationSymbol?.Name == "Save")
                {
                    FindSaveAssignmentIssueAnalyzer.CheckForCondition(context, invocationNode,
                                                                      invocationNode.Parent, FindSaveAssignmentIssueAnalyzer.saveResultIsNotAssignedRule);
                }
                else if (invocationSymbol?.Name == "SaveAsync")
                {
                    FindSaveAssignmentIssueAnalyzer.CheckForCondition(context, invocationNode,
                                                                      invocationNode.Parent?.Parent, FindSaveAssignmentIssueAnalyzer.saveAsyncResultIsNotAssignedRule);
                }
            }
        }
        private static void AnalyzeInvocation(SyntaxNodeAnalysisContext context)
        {
            // http://stackoverflow.com/questions/29614112/how-to-get-invoked-method-name-in-roslyn
            var invocationNode = (InvocationExpressionSyntax)context.Node;

            if (!invocationNode.ContainsDiagnostics)
            {
                var invocationSymbol = context.SemanticModel.GetSymbolInfo(invocationNode.Expression).Symbol;

                if ((invocationSymbol?.ContainingType?.IsBusinessBase() ?? false))
                {
                    context.CancellationToken.ThrowIfCancellationRequested();
                    var expressionStatementNode = invocationNode.FindParent <ExpressionStatementSyntax>();

                    if (invocationSymbol?.Name == Constants.SaveMethodNames.Save)
                    {
                        FindSaveAssignmentIssueAnalyzer.CheckForCondition(context, invocationNode,
                                                                          expressionStatementNode, FindSaveAssignmentIssueAnalyzer.saveResultIsNotAssignedRule);
                    }
                    else if (invocationSymbol?.Name == Constants.SaveMethodNames.SaveAsync)
                    {
                        FindSaveAssignmentIssueAnalyzer.CheckForCondition(context, invocationNode,
                                                                          expressionStatementNode, FindSaveAssignmentIssueAnalyzer.saveAsyncResultIsNotAssignedRule);
                    }
                }
            }
        }