Пример #1
0
        public static DataFlowAnalysisResult <NullBlockAnalysisResult, NullAbstractValue> GetOrComputeResult(ControlFlowGraph cfg)
        {
            var analysisDomain   = new NullAnalysisDomain(NullAbstractValueDomain.Default);
            var operationVisitor = new NullDataFlowOperationVisitor(NullAbstractValueDomain.Default);
            var nullAnalysis     = new NullAnalysis(analysisDomain, operationVisitor);

            return(nullAnalysis.GetOrComputeResultCore(cfg));
        }
Пример #2
0
        public static DataFlowAnalysisResult <NullBlockAnalysisResult, NullAbstractValue> GetOrComputeResult(
            ControlFlowGraph cfg,
            INamedTypeSymbol containingTypeSymbol,
            DataFlowAnalysisResult <PointsToAnalysis.PointsToBlockAnalysisResult, PointsToAnalysis.PointsToAbstractValue> pointsToAnalysisResultOpt = null)
        {
            var operationVisitor = new NullDataFlowOperationVisitor(NullAbstractValueDomain.Default, containingTypeSymbol, pointsToAnalysisResultOpt);
            var nullAnalysis     = new NullAnalysis(NullAnalysisDomainInstance, operationVisitor);

            return(nullAnalysis.GetOrComputeResultCore(cfg));
        }
Пример #3
0
        public static DataFlowAnalysisResult <NullBlockAnalysisResult, NullAbstractValue> GetOrComputeResult(
            ControlFlowGraph cfg,
            ISymbol owningSymbol,
            WellKnownTypeProvider wellKnownTypeProvider,
            DataFlowAnalysisResult <CopyAnalysis.CopyBlockAnalysisResult, CopyAnalysis.CopyAbstractValue> copyAnalysisResultOpt = null,
            bool pessimisticAnalysis = true,
            DataFlowAnalysisResult <PointsToAnalysis.PointsToBlockAnalysisResult, PointsToAnalysis.PointsToAbstractValue> pointsToAnalysisResultOpt = null)
        {
            var operationVisitor = new NullDataFlowOperationVisitor(NullAbstractValueDomain.Default, owningSymbol,
                                                                    wellKnownTypeProvider, pessimisticAnalysis, copyAnalysisResultOpt, pointsToAnalysisResultOpt);
            var nullAnalysis = new NullAnalysis(NullAnalysisDomainInstance, operationVisitor);

            return(nullAnalysis.GetOrComputeResultCore(cfg, cacheResult: true));
        }