|
clang 22.0.0git
|
An Origin is a symbolic identifier that represents the set of possible loans a pointer-like object could hold at any given time. More...
#include "clang/Analysis/Analyses/LifetimeSafety/Origins.h"
Public Member Functions | |
| Origin (OriginID ID, const clang::ValueDecl *D, const Type *QT) | |
| Origin (OriginID ID, const clang::Expr *E, const Type *QT) | |
| const clang::ValueDecl * | getDecl () const |
| const clang::Expr * | getExpr () const |
Public Attributes | |
| OriginID | ID |
| llvm::PointerUnion< const clang::ValueDecl *, const clang::Expr * > | Ptr |
| A pointer to the AST node that this origin represents. | |
| const Type * | Ty |
| The type at this indirection level. | |
An Origin is a symbolic identifier that represents the set of possible loans a pointer-like object could hold at any given time.
Each Origin corresponds to a single level of indirection. For complex types with multiple levels of indirection (e.g., int**), multiple Origins are organized into an OriginList structure (see below).
|
inline |
|
inline |
|
inline |
Definition at line 59 of file Origins.h.
References Ptr.
Referenced by clang::lifetimes::internal::OriginManager::dump().
|
inline |
Definition at line 62 of file Origins.h.
References Ptr.
Referenced by clang::lifetimes::internal::OriginManager::dump().
| OriginID clang::lifetimes::internal::Origin::ID |
| llvm::PointerUnion<const clang::ValueDecl *, const clang::Expr *> clang::lifetimes::internal::Origin::Ptr |
| const Type* clang::lifetimes::internal::Origin::Ty |
The type at this indirection level.
For int** pp: Root origin: QT = int** (what pp points to) Pointee origin: QT = int* (what *pp points to)
Null for synthetic lvalue origins (e.g., outer origin of DeclRefExpr).
Definition at line 52 of file Origins.h.
Referenced by clang::lifetimes::internal::OriginManager::dump(), Origin(), and Origin().