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

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

Classes

class  Impl

Public Member Functions

 LoanPropagationAnalysis (const CFG &C, AnalysisDeclContext &AC, FactManager &F, OriginLoanMap::Factory &OriginLoanMapFactory, LoanSet::Factory &LoanSetFactory)
 ~LoanPropagationAnalysis ()
LoanSet getLoans (OriginID OID, ProgramPoint P) const
llvm::SmallVector< OriginIDbuildOriginFlowChain (ProgramPoint StartPoint, const OriginID StartOID, const LoanID TargetLoan) const
 Builds the chain of origins through which a loan has propagated.

Detailed Description

Definition at line 32 of file LoanPropagation.h.

Constructor & Destructor Documentation

◆ LoanPropagationAnalysis()

clang::lifetimes::internal::LoanPropagationAnalysis::LoanPropagationAnalysis ( const CFG & C,
AnalysisDeclContext & AC,
FactManager & F,
OriginLoanMap::Factory & OriginLoanMapFactory,
LoanSet::Factory & LoanSetFactory )

Definition at line 277 of file LoanPropagation.cpp.

References clang::C.

◆ ~LoanPropagationAnalysis()

clang::lifetimes::internal::LoanPropagationAnalysis::~LoanPropagationAnalysis ( )
default

Member Function Documentation

◆ buildOriginFlowChain()

llvm::SmallVector< OriginID > clang::lifetimes::internal::LoanPropagationAnalysis::buildOriginFlowChain ( ProgramPoint StartPoint,
const OriginID StartOID,
const LoanID TargetLoan ) const

Builds the chain of origins through which a loan has propagated.

Starting from StartPoint where StartOID currently holds TargetLoan, this function traces backwards through OriginFlowFacts to identify the sequence of origins through which the loan flowed, ending at the origin where the loan was originally issued.

Definition at line 293 of file LoanPropagation.cpp.

◆ getLoans()

LoanSet clang::lifetimes::internal::LoanPropagationAnalysis::getLoans ( OriginID OID,
ProgramPoint P ) const

Definition at line 288 of file LoanPropagation.cpp.


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