private void AnalyzeReturnStatement([NotNull] IReturnStatement returnStatement, OperationBlockAnalysisContext context,
                                     [NotNull] IDictionary <ILocalSymbol, EvaluationResult> variableEvaluationCache)
 {
     if (!ReturnsConstant(returnStatement) && !IsYieldBreak(returnStatement))
     {
         var analyzer = new ReturnValueAnalyzer(context, variableEvaluationCache);
         analyzer.Analyze(returnStatement);
     }
 }
        private static void AnalyzeReturnStatements([NotNull][ItemNotNull] IList <IReturnOperation> returnStatements,
                                                    OperationBlockAnalysisContext context)
        {
            if (returnStatements.Any())
            {
                foreach (IReturnOperation returnStatement in returnStatements)
                {
                    context.CancellationToken.ThrowIfCancellationRequested();

                    var analyzer = new ReturnValueAnalyzer(context);
                    analyzer.Analyze(returnStatement);
                }
            }
        }