public VariableAssignmentWalker([NotNull] ILocalSymbol local, [NotNull] ReturnValueAnalyzer owner)
                {
                    Guard.NotNull(local, nameof(local));
                    Guard.NotNull(owner, nameof(owner));

                    currentLocal = local;
                    this.owner   = owner;
                }
 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);
                }
            }
        }
 public ExpressionVisitor([NotNull] ReturnValueAnalyzer owner)
 {
     Guard.NotNull(owner, nameof(owner));
     this.owner = owner;
 }