clang 23.0.0git
clang::lifetimes::internal::FactManager Class Reference

#include "clang/Analysis/Analyses/LifetimeSafety/Facts.h"

Public Member Functions

 FactManager (const AnalysisDeclContext &AC, const CFG &Cfg)
llvm::ArrayRef< const Fact * > getFacts (const CFGBlock *B) const
void addBlockFacts (const CFGBlock *B, llvm::ArrayRef< Fact * > NewFacts)
template<typename FactType, typename... Args>
FactType * createFact (Args &&...args)
void dump (const CFG &Cfg, AnalysisDeclContext &AC) const
llvm::StringMap< ProgramPointgetTestPoints () const
 Retrieves program points that were specially marked in the source code for testing.
llvm::ArrayRef< const Fact * > getBlockContaining (ProgramPoint P) const
 Retrieves all the facts in the block containing Program Point P.
unsigned getNumFacts () const
LoanManagergetLoanMgr ()
const LoanManagergetLoanMgr () const
OriginManagergetOriginMgr ()
const OriginManagergetOriginMgr () const

Detailed Description

Definition at line 239 of file Facts.h.

Constructor & Destructor Documentation

◆ FactManager()

clang::lifetimes::internal::FactManager::FactManager ( const AnalysisDeclContext & AC,
const CFG & Cfg )
inline

Definition at line 241 of file Facts.h.

References clang::CFG::getNumBlockIDs().

Member Function Documentation

◆ addBlockFacts()

void clang::lifetimes::internal::FactManager::addBlockFacts ( const CFGBlock * B,
llvm::ArrayRef< Fact * > NewFacts )
inline

Definition at line 250 of file Facts.h.

References clang::CFGBlock::getBlockID().

◆ createFact()

template<typename FactType, typename... Args>
FactType * clang::lifetimes::internal::FactManager::createFact ( Args &&... args)
inline

Definition at line 256 of file Facts.h.

◆ dump()

void clang::lifetimes::internal::FactManager::dump ( const CFG & Cfg,
AnalysisDeclContext & AC ) const

◆ getBlockContaining()

llvm::ArrayRef< const Fact * > clang::lifetimes::internal::FactManager::getBlockContaining ( ProgramPoint P) const

Retrieves all the facts in the block containing Program Point P.

Note
This is intended for testing only.

Definition at line 115 of file Facts.cpp.

◆ getFacts()

llvm::ArrayRef< const Fact * > clang::lifetimes::internal::FactManager::getFacts ( const CFGBlock * B) const
inline

Definition at line 246 of file Facts.h.

References clang::CFGBlock::getBlockID().

Referenced by clang::lifetimes::internal::computePersistentOrigins(), and dump().

◆ getLoanMgr() [1/2]

LoanManager & clang::lifetimes::internal::FactManager::getLoanMgr ( )
inline

◆ getLoanMgr() [2/2]

const LoanManager & clang::lifetimes::internal::FactManager::getLoanMgr ( ) const
inline

Definition at line 282 of file Facts.h.

◆ getNumFacts()

unsigned clang::lifetimes::internal::FactManager::getNumFacts ( ) const
inline

Definition at line 279 of file Facts.h.

◆ getOriginMgr() [1/2]

OriginManager & clang::lifetimes::internal::FactManager::getOriginMgr ( )
inline

◆ getOriginMgr() [2/2]

const OriginManager & clang::lifetimes::internal::FactManager::getOriginMgr ( ) const
inline

Definition at line 284 of file Facts.h.

◆ getTestPoints()

llvm::StringMap< ProgramPoint > clang::lifetimes::internal::FactManager::getTestPoints ( ) const

Retrieves program points that were specially marked in the source code for testing.

The analysis recognizes special function calls of the form void("__lifetime_test_point_<name>") as test points. This method returns a map from the annotation string (<name>) to the corresponding ProgramPoint. This allows test harnesses to query the analysis state at user-defined locations in the code.

Note
This is intended for testing only.

Definition at line 81 of file Facts.cpp.


The documentation for this class was generated from the following files: