clang 24.0.0git
LifetimeAnnotations.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::lifetimes

Functions

const FunctionDeclclang::lifetimes::getDeclWithMergedLifetimeBoundAttrs (const FunctionDecl *FD)
const CXXMethodDeclclang::lifetimes::getDeclWithMergedLifetimeBoundAttrs (const CXXMethodDecl *CMD)
bool clang::lifetimes::isNormalAssignmentOperator (const FunctionDecl *FD)
bool clang::lifetimes::isAssignmentOperatorLifetimeBound (const CXXMethodDecl *CMD)
static const LifetimeBoundAttr * clang::lifetimes::getLifetimeBoundAttrFromFunctionType (const TypeSourceInfo &TSI)
 Check if a function has a lifetimebound attribute on its function type (which represents the implicit 'this' parameter for methods).
const LifetimeBoundAttr * clang::lifetimes::getDirectImplicitObjectLifetimeBoundAttr (const FunctionDecl *FD)
const LifetimeBoundAttr * clang::lifetimes::getImplicitObjectParamLifetimeBoundAttr (const FunctionDecl *FD)
bool clang::lifetimes::implicitObjectParamIsLifetimeBound (const FunctionDecl *FD)
FunctionCallInfo clang::lifetimes::getFunctionCallInfo (const Expr *Call)
std::optional< LifetimeBoundParamInfo > clang::lifetimes::getTrackedArgInfo (const FunctionDecl *FD, llvm::ArrayRef< const Expr * > Args, unsigned I)
std::optional< LifetimeBoundParamInfo > clang::lifetimes::getTrackingInfoForCallArg (const Expr *Call, const Expr *Source)
bool clang::lifetimes::isInStlNamespace (const Decl *D)
bool clang::lifetimes::isPointerLikeType (QualType QT)
static bool clang::lifetimes::isReferenceOrPointerLikeType (QualType QT)
bool clang::lifetimes::shouldTrackImplicitObjectArg (const Expr &ImplicitObjectArgument, const CXXMethodDecl *Callee, bool RunningUnderLifetimeSafety)
bool clang::lifetimes::shouldTrackFirstArgument (const FunctionDecl *FD)
bool clang::lifetimes::shouldTrackSecondArgument (const FunctionDecl *FD)
template<typename T>
static bool clang::lifetimes::isRecordWithAttr (const CXXRecordDecl *RD)
template<typename T>
static bool clang::lifetimes::isRecordWithAttr (QualType Type)
bool clang::lifetimes::isGslPointerType (QualType QT)
bool clang::lifetimes::isGslOwnerType (QualType QT)
bool clang::lifetimes::isGslOwnerType (const CXXRecordDecl *RD)
static StringRef clang::lifetimes::getName (const CXXRecordDecl &RD)
static StringRef clang::lifetimes::getName (const FunctionDecl &FD)
static bool clang::lifetimes::isStdUniquePtr (const CXXRecordDecl &RD)
bool clang::lifetimes::isUniquePtrRelease (const CXXMethodDecl &MD)
bool clang::lifetimes::isInvalidationMethod (const CXXMethodDecl &MD)
bool clang::lifetimes::destructsFirstArg (const FunctionDecl &FD)
bool clang::lifetimes::isStdCallableWrapperType (const CXXRecordDecl *RD)
bool clang::lifetimes::isStdReferenceCast (const FunctionDecl *FD)