|
clang 24.0.0git
|
Represents the storage location being borrowed, e.g., a specific stack variable or a field within it: var.field. More...
#include "clang/Analysis/Analyses/LifetimeSafety/Loans.h"
Public Member Functions | |
| AccessPath (const clang::ValueDecl *D) | |
| AccessPath (const clang::MaterializeTemporaryExpr *MTE) | |
| AccessPath (const PlaceholderBase *PB) | |
| AccessPath (const clang::CXXNewExpr *New) | |
| AccessPath (const AccessPath &Other, PathElement E) | |
| Creates an extended access path by appending a path element. | |
| const clang::ValueDecl * | getAsValueDecl () const |
| const clang::MaterializeTemporaryExpr * | getAsMaterializeTemporaryExpr () const |
| const PlaceholderBase * | getAsPlaceholderBase () const |
| const clang::CXXNewExpr * | getAsNewAllocation () const |
| bool | operator== (const AccessPath &RHS) const |
| bool | operator!= (const AccessPath &RHS) const |
| bool | isPrefixOf (const AccessPath &Other) const |
| Returns true if this path is a prefix of Other (or same as Other). | |
| bool | isStrictPrefixOf (const AccessPath &Other) const |
| Returns true if this path is a strict prefix of Other. | |
| llvm::ArrayRef< PathElement > | getElements () const |
| void | dump (llvm::raw_ostream &OS) const |
Represents the storage location being borrowed, e.g., a specific stack variable or a field within it: var.field.
Examples:
TODO: Model access paths of other types, e.g. heap and globals.
|
inline |
Definition at line 124 of file Loans.h.
Referenced by AccessPath(), isPrefixOf(), isStrictPrefixOf(), operator!=(), and operator==().
|
inline |
|
inline |
|
inline |
|
inline |
Creates an extended access path by appending a path element.
Example: AccessPath(x_path, field) creates path to x.field.
Definition at line 131 of file Loans.h.
References AccessPath(), and clang::Other.
| void clang::lifetimes::internal::AccessPath::dump | ( | llvm::raw_ostream & | OS | ) | const |
Definition at line 13 of file Loans.cpp.
References getAsMaterializeTemporaryExpr(), getAsNewAllocation(), getAsPlaceholderBase(), and getAsValueDecl().
Referenced by clang::lifetimes::internal::ExpireFact::dump(), and clang::lifetimes::internal::OriginFlowFact::dump().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns true if this path is a prefix of Other (or same as Other).
Examples:
Definition at line 162 of file Loans.h.
References AccessPath(), and clang::Other.
Referenced by isStrictPrefixOf().
|
inline |
Returns true if this path is a strict prefix of Other.
Example:
Definition at line 171 of file Loans.h.
References AccessPath(), isPrefixOf(), and clang::Other.
|
inline |
Definition at line 155 of file Loans.h.
References AccessPath().
|
inline |
Definition at line 152 of file Loans.h.
References AccessPath().