ΒΆllvm::Expected<std::vector<llvm::Optional<
    TypeErasedDataflowAnalysisState>>>
runTypeErasedDataflowAnalysis(
    const clang::dataflow::ControlFlowContext&
        CFCtx,
    clang::dataflow::TypeErasedDataflowAnalysis&
        Analysis,
    const clang::dataflow::Environment& InitEnv,
    std::function<void(
        const Stmt*,
        const TypeErasedDataflowAnalysisState&)>
        PostVisitStmt = nullptr)

Description

Performs dataflow analysis and returns a mapping from basic block IDs to dataflow analysis states that model the respective basic blocks. Indices of the returned vector correspond to basic block IDs. Returns an error if the dataflow analysis cannot be performed successfully. Otherwise, calls `PostVisitStmt` on each statement with the final analysis results at that program point.

Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:142

Parameters

const clang::dataflow::ControlFlowContext& CFCtx
clang::dataflow::TypeErasedDataflowAnalysis& Analysis
const clang::dataflow::Environment& InitEnv
std::function<void( const Stmt*, const TypeErasedDataflowAnalysisState&)> PostVisitStmt = nullptr