clang 22.0.0git
Public Types | Public Member Functions | Protected Member Functions | List of all members
clang::lifetimes::internal::Fact Class Reference

An abstract base class for a single, atomic lifetime-relevant event. More...

Inheritance diagram for clang::lifetimes::internal::Fact:
[legend]

Public Types

enum class  Kind : uint8_t {
  Issue , Expire , AssignOrigin , ReturnOfOrigin ,
  Use , TestPoint
}
 

Public Member Functions

virtual ~Fact ()=default
 
Kind getKind () const
 
template<typename T >
const TgetAs () const
 
virtual void dump (llvm::raw_ostream &OS, const OriginManager &) const
 

Protected Member Functions

 Fact (Kind K)
 

Detailed Description

An abstract base class for a single, atomic lifetime-relevant event.

Definition at line 202 of file LifetimeSafety.cpp.

Member Enumeration Documentation

◆ Kind

enum class clang::lifetimes::internal::Fact::Kind : uint8_t
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).

AssignOrigin 

An origin is propagated from a source to a destination (e.g., p = q).

ReturnOfOrigin 

An origin escapes the function by flowing into the return value.

Use 

An origin is used (eg. dereferencing a pointer).

TestPoint 

A marker for a specific point in the code, for testing.

Definition at line 205 of file LifetimeSafety.cpp.

Constructor & Destructor Documentation

◆ Fact()

clang::lifetimes::internal::Fact::Fact ( Kind  K)
inlineprotected

Definition at line 225 of file LifetimeSafety.cpp.

◆ ~Fact()

virtual clang::lifetimes::internal::Fact::~Fact ( )
virtualdefault

Member Function Documentation

◆ dump()

virtual void clang::lifetimes::internal::Fact::dump ( llvm::raw_ostream &  OS,
const OriginManager  
) const
inlinevirtual

◆ getAs()

template<typename T >
const T * clang::lifetimes::internal::Fact::getAs ( ) const
inline

Definition at line 231 of file LifetimeSafety.cpp.

References clang::T.

◆ getKind()

Kind clang::lifetimes::internal::Fact::getKind ( ) const
inline

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