|
clang 24.0.0git
|
Classes | |
| struct | FunctionCallInfo |
Typedefs | |
| using | LifetimeBoundParamInfo |
Functions | |
| bool | isInStlNamespace (const Decl *D) |
| bool | isPointerLikeType (QualType QT) |
| const FunctionDecl * | getDeclWithMergedLifetimeBoundAttrs (const FunctionDecl *FD) |
| Returns the most recent declaration of the method to ensure all lifetime-bound attributes from redeclarations are considered. | |
| const CXXMethodDecl * | getDeclWithMergedLifetimeBoundAttrs (const CXXMethodDecl *CMD) |
| Returns the most recent declaration of the method to ensure all lifetime-bound attributes from redeclarations are considered. | |
| bool | isNormalAssignmentOperator (const FunctionDecl *FD) |
| bool | isAssignmentOperatorLifetimeBound (const CXXMethodDecl *CMD) |
| Returns true if this is an assignment operator where the parameter has the lifetimebound attribute. | |
| const LifetimeBoundAttr * | getDirectImplicitObjectLifetimeBoundAttr (const FunctionDecl *FD) |
| Returns the lifetimebound attribute for the implicit this parameter, if it exists on the current type. | |
| const LifetimeBoundAttr * | getImplicitObjectParamLifetimeBoundAttr (const FunctionDecl *FD) |
| Returns the lifetimebound attribute for the implicit this parameter, if it exists on any redeclaration. | |
| bool | implicitObjectParamIsLifetimeBound (const FunctionDecl *FD) |
| Returns true if the implicit object parameter (this) should be considered lifetimebound, either due to an explicit lifetimebound attribute on the method or because it's a normal assignment operator. | |
| FunctionCallInfo | getFunctionCallInfo (const Expr *Call) |
| Returns the callee and arguments corresponding to Call. | |
| std::optional< LifetimeBoundParamInfo > | getTrackedArgInfo (const FunctionDecl *FD, llvm::ArrayRef< const Expr * > Args, unsigned I) |
| Returns the parameter corresponding to argument I when the argument should be tracked for lifetime safety. | |
| std::optional< LifetimeBoundParamInfo > | getTrackingInfoForCallArg (const Expr *Call, const Expr *Source) |
| Returns lifetime safety tracking info for the call argument containing Source. | |
| bool | shouldTrackImplicitObjectArg (const Expr &ImplicitObjectArgument, const CXXMethodDecl *Callee, bool RunningUnderLifetimeSafety) |
| bool | shouldTrackFirstArgument (const FunctionDecl *FD) |
| bool | shouldTrackSecondArgument (const FunctionDecl *FD) |
| bool | isGslPointerType (QualType QT) |
| bool | isGslOwnerType (QualType QT) |
| bool | isGslOwnerType (const CXXRecordDecl *RD) |
| bool | isUniquePtrRelease (const CXXMethodDecl &MD) |
| bool | isInvalidationMethod (const CXXMethodDecl &MD) |
| bool | destructsFirstArg (const FunctionDecl &FD) |
| bool | isStdCallableWrapperType (const CXXRecordDecl *RD) |
| Returns true for standard library callable wrappers (e.g., std::function) that can propagate the stored lambda's origins. | |
| bool | isStdReferenceCast (const FunctionDecl *FD) |
| Returns true for std reference-cast builtins (e.g., std::move). | |
| using clang ::lifetimes::LifetimeBoundParamInfo |
Definition at line 63 of file LifetimeAnnotations.h.
| bool clang ::lifetimes::destructsFirstArg | ( | const FunctionDecl & | FD | ) |
References destructsFirstArg().
Referenced by destructsFirstArg().
| const CXXMethodDecl * clang ::lifetimes::getDeclWithMergedLifetimeBoundAttrs | ( | const CXXMethodDecl * | CMD | ) |
Returns the most recent declaration of the method to ensure all lifetime-bound attributes from redeclarations are considered.
References getDeclWithMergedLifetimeBoundAttrs().
| const FunctionDecl * clang ::lifetimes::getDeclWithMergedLifetimeBoundAttrs | ( | const FunctionDecl * | FD | ) |
Returns the most recent declaration of the method to ensure all lifetime-bound attributes from redeclarations are considered.
References getDeclWithMergedLifetimeBoundAttrs().
Referenced by getDeclWithMergedLifetimeBoundAttrs(), and getDeclWithMergedLifetimeBoundAttrs().
| const LifetimeBoundAttr * clang ::lifetimes::getDirectImplicitObjectLifetimeBoundAttr | ( | const FunctionDecl * | FD | ) |
Returns the lifetimebound attribute for the implicit this parameter, if it exists on the current type.
References getDirectImplicitObjectLifetimeBoundAttr().
Referenced by getDirectImplicitObjectLifetimeBoundAttr().
| FunctionCallInfo clang ::lifetimes::getFunctionCallInfo | ( | const Expr * | Call | ) |
Returns the callee and arguments corresponding to Call.
For instance member calls, Args includes the implicit object argument as argument 0.
References Call, and getFunctionCallInfo().
Referenced by getFunctionCallInfo().
| const LifetimeBoundAttr * clang ::lifetimes::getImplicitObjectParamLifetimeBoundAttr | ( | const FunctionDecl * | FD | ) |
Returns the lifetimebound attribute for the implicit this parameter, if it exists on any redeclaration.
References getImplicitObjectParamLifetimeBoundAttr().
Referenced by getImplicitObjectParamLifetimeBoundAttr().
| std::optional< LifetimeBoundParamInfo > clang ::lifetimes::getTrackedArgInfo | ( | const FunctionDecl * | FD, |
| llvm::ArrayRef< const Expr * > | Args, | ||
| unsigned | I ) |
Returns the parameter corresponding to argument I when the argument should be tracked for lifetime safety.
References getTrackedArgInfo().
Referenced by getTrackedArgInfo().
| std::optional< LifetimeBoundParamInfo > clang ::lifetimes::getTrackingInfoForCallArg | ( | const Expr * | Call, |
| const Expr * | Source ) |
Returns lifetime safety tracking info for the call argument containing Source.
References Call, and getTrackingInfoForCallArg().
Referenced by getTrackingInfoForCallArg().
| bool clang ::lifetimes::implicitObjectParamIsLifetimeBound | ( | const FunctionDecl * | FD | ) |
Returns true if the implicit object parameter (this) should be considered lifetimebound, either due to an explicit lifetimebound attribute on the method or because it's a normal assignment operator.
References implicitObjectParamIsLifetimeBound().
Referenced by implicitObjectParamIsLifetimeBound().
| bool clang ::lifetimes::isAssignmentOperatorLifetimeBound | ( | const CXXMethodDecl * | CMD | ) |
Returns true if this is an assignment operator where the parameter has the lifetimebound attribute.
References isAssignmentOperatorLifetimeBound().
Referenced by isAssignmentOperatorLifetimeBound().
| bool clang ::lifetimes::isGslOwnerType | ( | const CXXRecordDecl * | RD | ) |
| bool clang ::lifetimes::isGslOwnerType | ( | QualType | QT | ) |
| bool clang ::lifetimes::isGslPointerType | ( | QualType | QT | ) |
| bool clang ::lifetimes::isInStlNamespace | ( | const Decl * | D | ) |
References isInStlNamespace().
Referenced by isInStlNamespace().
| bool clang ::lifetimes::isInvalidationMethod | ( | const CXXMethodDecl & | MD | ) |
References isInvalidationMethod().
Referenced by isInvalidationMethod().
| bool clang ::lifetimes::isNormalAssignmentOperator | ( | const FunctionDecl * | FD | ) |
References isNormalAssignmentOperator().
Referenced by isNormalAssignmentOperator().
| bool clang ::lifetimes::isPointerLikeType | ( | QualType | QT | ) |
References isPointerLikeType().
Referenced by isPointerLikeType().
| bool clang ::lifetimes::isStdCallableWrapperType | ( | const CXXRecordDecl * | RD | ) |
Returns true for standard library callable wrappers (e.g., std::function) that can propagate the stored lambda's origins.
References isStdCallableWrapperType().
Referenced by isStdCallableWrapperType().
| bool clang ::lifetimes::isStdReferenceCast | ( | const FunctionDecl * | FD | ) |
Returns true for std reference-cast builtins (e.g., std::move).
Their result refers to the same object as the argument, so all origins propagate from argument to result.
References isStdReferenceCast().
Referenced by isStdReferenceCast().
| bool clang ::lifetimes::isUniquePtrRelease | ( | const CXXMethodDecl & | MD | ) |
References isUniquePtrRelease().
Referenced by isUniquePtrRelease().
| bool clang ::lifetimes::shouldTrackFirstArgument | ( | const FunctionDecl * | FD | ) |
References shouldTrackFirstArgument().
Referenced by shouldTrackFirstArgument().
| bool clang ::lifetimes::shouldTrackImplicitObjectArg | ( | const Expr & | ImplicitObjectArgument, |
| const CXXMethodDecl * | Callee, | ||
| bool | RunningUnderLifetimeSafety ) |
References shouldTrackImplicitObjectArg().
Referenced by shouldTrackImplicitObjectArg().
| bool clang ::lifetimes::shouldTrackSecondArgument | ( | const FunctionDecl * | FD | ) |
References shouldTrackSecondArgument().
Referenced by shouldTrackSecondArgument().