public override DataFlowAnalysis AnalyzeDataFlow(StatementSyntax firstStatement, StatementSyntax lastStatement)
 {
     ValidateStatementRange(firstStatement, lastStatement);
     var context = RegionAnalysisContext(firstStatement, lastStatement);
     var result = new CSharpDataFlowAnalysis(context);
     return result;
 }
 public override DataFlowAnalysis AnalyzeDataFlow(StatementSyntax firstStatement, StatementSyntax lastStatement)
 {
     using (Logger.LogBlock(FunctionId.CSharp_SemanticModel_AnalyzeDataFlow, message: this.SyntaxTree.FilePath))
     {
         ValidateStatementRange(firstStatement, lastStatement);
         var context = RegionAnalysisContext(firstStatement, lastStatement);
         var result = new CSharpDataFlowAnalysis(context);
         return result;
     }
 }
        public override DataFlowAnalysis AnalyzeDataFlow(ExpressionSyntax expression)
        {
            if (expression == null)
            {
                throw new ArgumentNullException(nameof(expression));
            }

            if (!IsInTree(expression))
            {
                throw new ArgumentException("expression not within tree");
            }

            var context = RegionAnalysisContext(expression);
            var result = new CSharpDataFlowAnalysis(context);
            return result;
        }
        public override DataFlowAnalysis AnalyzeDataFlow(ExpressionSyntax expression)
        {
            using (Logger.LogBlock(FunctionId.CSharp_SemanticModel_AnalyzeDataFlow, message: this.SyntaxTree.FilePath))
            {
                if (expression == null)
                {
                    throw new ArgumentNullException("expression");
                }

                if (!IsInTree(expression))
                {
                    throw new ArgumentException("expression not within tree");
                }

                var context = RegionAnalysisContext(expression);
                var result = new CSharpDataFlowAnalysis(context);
                return result;
            }
        }