clang 20.0.0git
Public Member Functions | Public Attributes | List of all members
clang::threadSafety::SExprBuilder::CallingContext Struct Reference

Encapsulates the lexical context of a function call. More...

#include "clang/Analysis/Analyses/ThreadSafetyCommon.h"

Public Member Functions

 CallingContext (CallingContext *P, const NamedDecl *D=nullptr)
 

Public Attributes

CallingContextPrev
 
const NamedDeclAttrDecl
 
llvm::PointerUnion< const Expr *, til::SExpr * > SelfArg = nullptr
 
unsigned NumArgs = 0
 
llvm::PointerUnion< const Expr *const *, til::SExpr * > FunArgs = nullptr
 
bool SelfArrow = false
 

Detailed Description

Encapsulates the lexical context of a function call.

The lexical context includes the arguments to the call, including the implicit object argument. When an attribute containing a mutex expression is attached to a method, the expression may refer to formal parameters of the method. Actual arguments must be substituted for formal parameters to derive the appropriate mutex expression in the lexical context where the function is called. PrevCtx holds the context in which the arguments themselves should be evaluated; multiple calling contexts can be chained together by the lock_returned attribute.

Definition at line 350 of file ThreadSafetyCommon.h.

Constructor & Destructor Documentation

◆ CallingContext()

clang::threadSafety::SExprBuilder::CallingContext::CallingContext ( CallingContext P,
const NamedDecl D = nullptr 
)
inline

Definition at line 369 of file ThreadSafetyCommon.h.

Member Data Documentation

◆ AttrDecl

const NamedDecl* clang::threadSafety::SExprBuilder::CallingContext::AttrDecl

Definition at line 355 of file ThreadSafetyCommon.h.

◆ FunArgs

llvm::PointerUnion<const Expr *const *, til::SExpr *> clang::threadSafety::SExprBuilder::CallingContext::FunArgs = nullptr

Definition at line 364 of file ThreadSafetyCommon.h.

◆ NumArgs

unsigned clang::threadSafety::SExprBuilder::CallingContext::NumArgs = 0

Definition at line 361 of file ThreadSafetyCommon.h.

◆ Prev

CallingContext* clang::threadSafety::SExprBuilder::CallingContext::Prev

Definition at line 352 of file ThreadSafetyCommon.h.

◆ SelfArg

llvm::PointerUnion<const Expr *, til::SExpr *> clang::threadSafety::SExprBuilder::CallingContext::SelfArg = nullptr

Definition at line 358 of file ThreadSafetyCommon.h.

◆ SelfArrow

bool clang::threadSafety::SExprBuilder::CallingContext::SelfArrow = false

Definition at line 367 of file ThreadSafetyCommon.h.


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