public static DataFlowAnalysisResult <PointsToBlockAnalysisResult, PointsToAbstractValue> GetOrComputeResult( ControlFlowGraph cfg, INamedTypeSymbol containingTypeSymbol, DataFlowAnalysisResult <NullAnalysis.NullBlockAnalysisResult, NullAnalysis.NullAbstractValue> nullAnalysisResultOpt = null) { var operationVisitor = new PointsToDataFlowOperationVisitor(PointsToAbstractValueDomain.Default, containingTypeSymbol, nullAnalysisResultOpt); var pointsToAnalysis = new PointsToAnalysis(PointsToAnalysisDomainInstance, operationVisitor); return(pointsToAnalysis.GetOrComputeResultCore(cfg)); }
public static DataFlowAnalysisResult <PointsToBlockAnalysisResult, PointsToAbstractValue> GetOrComputeResult( ControlFlowGraph cfg, ISymbol owningSymbol, DataFlowAnalysisResult <NullAnalysis.NullBlockAnalysisResult, NullAnalysis.NullAbstractValue> nullAnalysisResultOpt = null, bool pessimisticAnalysis = true) { var operationVisitor = new PointsToDataFlowOperationVisitor(PointsToAbstractValueDomain.Default, owningSymbol, pessimisticAnalysis, nullAnalysisResultOpt); var pointsToAnalysis = new PointsToAnalysis(PointsToAnalysisDomainInstance, operationVisitor); return(pointsToAnalysis.GetOrComputeResultCore(cfg)); }
public static DataFlowAnalysisResult <PointsToBlockAnalysisResult, PointsToAbstractValue> GetOrComputeResult( ControlFlowGraph cfg, ISymbol owningSymbol, WellKnownTypeProvider wellKnownTypeProvider, DataFlowAnalysisResult <NullAnalysis.NullBlockAnalysisResult, NullAnalysis.NullAbstractValue> nullAnalysisResultOpt = null, bool pessimisticAnalysis = true) { var defaultPointsToValueGenerator = new DefaultPointsToValueGenerator(); var analysisDomain = new PointsToAnalysisDomain(defaultPointsToValueGenerator, PointsToAbstractValueDomainInstance); var operationVisitor = new PointsToDataFlowOperationVisitor(analysisDomain.DefaultPointsToValueGenerator, analysisDomain, PointsToAbstractValueDomain.Default, owningSymbol, wellKnownTypeProvider, pessimisticAnalysis, nullAnalysisResultOpt); var pointsToAnalysis = new PointsToAnalysis(analysisDomain, operationVisitor); return(pointsToAnalysis.GetOrComputeResultCore(cfg, cacheResult: true)); }