clang 20.0.0git
|
#include "clang/Analysis/Analyses/ThreadSafetyCommon.h"
Classes | |
struct | CallingContext |
Encapsulates the lexical context of a function call. More... | |
Public Member Functions | |
SExprBuilder (til::MemRegionRef A) | |
CapabilityExpr | translateAttrExpr (const Expr *AttrExp, const NamedDecl *D, const Expr *DeclExp, til::SExpr *Self=nullptr) |
Translate a clang expression in an attribute to a til::SExpr. | |
CapabilityExpr | translateAttrExpr (const Expr *AttrExp, CallingContext *Ctx) |
Translate a clang expression in an attribute to a til::SExpr. | |
til::LiteralPtr * | createVariable (const VarDecl *VD) |
std::pair< til::LiteralPtr *, StringRef > | createThisPlaceholder (const Expr *Exp) |
til::SExpr * | translate (const Stmt *S, CallingContext *Ctx) |
til::SCFG * | buildCFG (CFGWalker &Walker) |
til::SExpr * | lookupStmt (const Stmt *S) |
til::BasicBlock * | lookupBlock (const CFGBlock *B) |
const til::SCFG * | getCFG () const |
til::SCFG * | getCFG () |
Friends | |
class | CFGWalker |
Definition at line 339 of file ThreadSafetyCommon.h.
|
inline |
Definition at line 373 of file ThreadSafetyCommon.h.
References clang::threadSafety::til::Variable::setKind(), and clang::threadSafety::til::Variable::VK_SFun.
Definition at line 74 of file ThreadSafetyCommon.cpp.
References clang::threadSafety::CFGWalker::walk().
Referenced by clang::threadSafety::printSCFG().
std::pair< til::LiteralPtr *, StringRef > SExprBuilder::createThisPlaceholder | ( | const Expr * | Exp | ) |
Definition at line 242 of file ThreadSafetyCommon.cpp.
References ClassifyDiagnostic(), and clang::Expr::getType().
til::LiteralPtr * SExprBuilder::createVariable | ( | const VarDecl * | VD | ) |
Definition at line 237 of file ThreadSafetyCommon.cpp.
|
inline |
Definition at line 407 of file ThreadSafetyCommon.h.
|
inline |
Definition at line 406 of file ThreadSafetyCommon.h.
|
inline |
Definition at line 402 of file ThreadSafetyCommon.h.
References clang::CFGBlock::getBlockID().
til::SExpr * SExprBuilder::lookupStmt | ( | const Stmt * | S | ) |
Definition at line 72 of file ThreadSafetyCommon.cpp.
Referenced by translate().
til::SExpr * SExprBuilder::translate | ( | const Stmt * | S, |
CallingContext * | Ctx | ||
) |
Definition at line 250 of file ThreadSafetyCommon.cpp.
References E, lookupStmt(), and translate().
Referenced by translate(), and translateAttrExpr().
CapabilityExpr SExprBuilder::translateAttrExpr | ( | const Expr * | AttrExp, |
CallingContext * | Ctx | ||
) |
Translate a clang expression in an attribute to a til::SExpr.
Definition at line 190 of file ThreadSafetyCommon.cpp.
References clang::threadSafety::til::CAST_objToPtr, ClassifyDiagnostic(), E, clang::Expr::getType(), clang::Expr::IgnoreImplicit(), and translate().
CapabilityExpr SExprBuilder::translateAttrExpr | ( | const Expr * | AttrExp, |
const NamedDecl * | D, | ||
const Expr * | DeclExp, | ||
til::SExpr * | Self = nullptr |
||
) |
Translate a clang expression in an attribute to a til::SExpr.
Constructs the context from D, DeclExp, and SelfDecl.
AttrExp | The expression to translate. |
D | The declaration to which the attribute is attached. |
DeclExp | An expression involving the Decl to which the attribute is attached. E.g. the call to a function. |
Self | S-expression to substitute for a CXXThisExpr in a call, or argument to a cleanup function. |
Definition at line 115 of file ThreadSafetyCommon.cpp.
References ClassifyDiagnostic(), D, clang::threadSafety::SExprBuilder::CallingContext::FunArgs, isCalleeArrow(), clang::threadSafety::SExprBuilder::CallingContext::NumArgs, clang::Self, clang::threadSafety::SExprBuilder::CallingContext::SelfArg, clang::threadSafety::SExprBuilder::CallingContext::SelfArrow, and translateAttrExpr().
Referenced by translateAttrExpr().
|
friend |
Definition at line 411 of file ThreadSafetyCommon.h.