clang 22.0.0git
|
An abstract base class for a single, atomic lifetime-relevant event. More...
Public Types | |
enum class | Kind : uint8_t { Issue , Expire , OriginFlow , ReturnOfOrigin , Use , TestPoint } |
Public Member Functions | |
virtual | ~Fact ()=default |
Kind | getKind () const |
template<typename T> | |
const T * | getAs () const |
virtual void | dump (llvm::raw_ostream &OS, const LoanManager &, const OriginManager &) const |
Protected Member Functions | |
Fact (Kind K) |
An abstract base class for a single, atomic lifetime-relevant event.
Definition at line 207 of file LifetimeSafety.cpp.
|
strong |
Enumerator | |
---|---|
Issue | A new loan is issued from a borrow expression (e.g., &x). |
Expire | A loan expires as its underlying storage is freed (e.g., variable goes out of scope). |
OriginFlow | An origin is propagated from a source to a destination (e.g., p = q). This can also optionally kill the destination origin before flowing into it. Otherwise, the source's loan set is merged into the destination's loan set. |
ReturnOfOrigin | An origin escapes the function by flowing into the return value. |
Use | An origin is used (eg. appears as l-value expression like DeclRefExpr). |
TestPoint | A marker for a specific point in the code, for testing. |
Definition at line 210 of file LifetimeSafety.cpp.
|
inlineprotected |
Definition at line 233 of file LifetimeSafety.cpp.
Referenced by clang::lifetimes::internal::ExpireFact::classof(), clang::lifetimes::internal::IssueFact::classof(), clang::lifetimes::internal::OriginFlowFact::classof(), clang::lifetimes::internal::ReturnOfOriginFact::classof(), clang::lifetimes::internal::TestPointFact::classof(), clang::lifetimes::internal::UseFact::classof(), clang::lifetimes::internal::ExpireFact::ExpireFact(), clang::lifetimes::internal::IssueFact::IssueFact(), clang::lifetimes::internal::OriginFlowFact::OriginFlowFact(), clang::lifetimes::internal::ReturnOfOriginFact::ReturnOfOriginFact(), clang::lifetimes::internal::TestPointFact::TestPointFact(), and clang::lifetimes::internal::UseFact::UseFact().
|
virtualdefault |
|
inlinevirtual |
Reimplemented in clang::lifetimes::internal::ExpireFact, clang::lifetimes::internal::IssueFact, clang::lifetimes::internal::OriginFlowFact, clang::lifetimes::internal::ReturnOfOriginFact, clang::lifetimes::internal::TestPointFact, and clang::lifetimes::internal::UseFact.
Definition at line 245 of file LifetimeSafety.cpp.
Referenced by clang::lifetimes::internal::FactManager::dump().
Definition at line 239 of file LifetimeSafety.cpp.
References clang::T.
|
inline |
Definition at line 237 of file LifetimeSafety.cpp.
Referenced by clang::lifetimes::internal::ExpireFact::classof(), clang::lifetimes::internal::IssueFact::classof(), clang::lifetimes::internal::OriginFlowFact::classof(), clang::lifetimes::internal::ReturnOfOriginFact::classof(), clang::lifetimes::internal::TestPointFact::classof(), and clang::lifetimes::internal::UseFact::classof().