public static DataFlowAnalysisResult <StringContentBlockAnalysisResult, StringContentAbstractValue> GetOrComputeResult(ControlFlowGraph cfg, DataFlowAnalysisResult <NullAnalysis.NullBlockAnalysisResult, NullAnalysis.NullAbstractValue> nullAnalysisResultOpt = null) { var analysisDomain = new StringContentAnalysisDomain(StringContentAbstractValueDomain.Default); var operationVisitor = new StringContentDataFlowOperationVisitor(StringContentAbstractValueDomain.Default, nullAnalysisResultOpt); var nullAnalysis = new StringContentAnalysis(analysisDomain, operationVisitor); return(nullAnalysis.GetOrComputeResultCore(cfg)); }
public static DataFlowAnalysisResult <StringContentBlockAnalysisResult, StringContentAbstractValue> GetOrComputeResult( ControlFlowGraph cfg, INamedTypeSymbol containingTypeSymbol, DataFlowAnalysisResult <NullAnalysis.NullBlockAnalysisResult, NullAnalysis.NullAbstractValue> nullAnalysisResultOpt = null, DataFlowAnalysisResult <PointsToAnalysis.PointsToBlockAnalysisResult, PointsToAnalysis.PointsToAbstractValue> pointsToAnalysisResultOpt = null) { var operationVisitor = new StringContentDataFlowOperationVisitor(StringContentAbstractValueDomain.Default, containingTypeSymbol, nullAnalysisResultOpt, pointsToAnalysisResultOpt); var nullAnalysis = new StringContentAnalysis(StringContentAnalysisDomainInstance, operationVisitor); return(nullAnalysis.GetOrComputeResultCore(cfg)); }
public static DataFlowAnalysisResult <StringContentBlockAnalysisResult, StringContentAbstractValue> GetOrComputeResult( ControlFlowGraph cfg, ISymbol owningSymbol, WellKnownTypeProvider wellKnownTypeProvider, DataFlowAnalysisResult <CopyAnalysis.CopyBlockAnalysisResult, CopyAnalysis.CopyAbstractValue> copyAnalysisResultOpt, DataFlowAnalysisResult <PointsToAnalysis.PointsToBlockAnalysisResult, PointsToAnalysis.PointsToAbstractValue> pointsToAnalysisResultOpt = null, bool pessimisticAnalsysis = true) { var operationVisitor = new StringContentDataFlowOperationVisitor(StringContentAbstractValueDomain.Default, owningSymbol, wellKnownTypeProvider, pessimisticAnalsysis, copyAnalysisResultOpt, pointsToAnalysisResultOpt); var nullAnalysis = new StringContentAnalysis(StringContentAnalysisDomain.Instance, operationVisitor); return(nullAnalysis.GetOrComputeResultCore(cfg, cacheResult: false)); }
private StringContentAnalysis(StringContentAnalysisDomain analysisDomain, StringContentDataFlowOperationVisitor operationVisitor) : base(analysisDomain, operationVisitor) { }