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 339 of file Facts.h.

Constructor & Destructor Documentation

◆ FactManager()

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

Definition at line 341 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 349 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 355 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 147 of file Facts.cpp.

◆ getFacts()

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

Definition at line 345 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 381 of file Facts.h.

◆ getNumFacts()

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

Definition at line 378 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 383 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 113 of file Facts.cpp.


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