clang  15.0.0git
Classes | Public Member Functions | Friends | List of all members
clang::threadSafety::SExprBuilder Class Reference

#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, VarDecl *SelfD=nullptr)
 Translate a clang expression in an attribute to a til::SExpr. More...
 
CapabilityExpr translateAttrExpr (const Expr *AttrExp, CallingContext *Ctx)
 Translate a clang expression in an attribute to a til::SExpr. More...
 
til::SExprtranslate (const Stmt *S, CallingContext *Ctx)
 
til::SCFGbuildCFG (CFGWalker &Walker)
 
til::SExprlookupStmt (const Stmt *S)
 
til::BasicBlocklookupBlock (const CFGBlock *B)
 
const til::SCFGgetCFG () const
 
til::SCFGgetCFG ()
 

Friends

class CFGWalker
 

Detailed Description

Definition at line 338 of file ThreadSafetyCommon.h.

Constructor & Destructor Documentation

◆ SExprBuilder()

clang::threadSafety::SExprBuilder::SExprBuilder ( til::MemRegionRef  A)
inline

Member Function Documentation

◆ buildCFG()

til::SCFG * SExprBuilder::buildCFG ( CFGWalker Walker)

Definition at line 79 of file ThreadSafetyCommon.cpp.

References clang::threadSafety::CFGWalker::walk().

◆ getCFG() [1/2]

til::SCFG* clang::threadSafety::SExprBuilder::getCFG ( )
inline

Definition at line 398 of file ThreadSafetyCommon.h.

◆ getCFG() [2/2]

const til::SCFG* clang::threadSafety::SExprBuilder::getCFG ( ) const
inline

Definition at line 397 of file ThreadSafetyCommon.h.

◆ lookupBlock()

til::BasicBlock* clang::threadSafety::SExprBuilder::lookupBlock ( const CFGBlock B)
inline

Definition at line 393 of file ThreadSafetyCommon.h.

References clang::CFGBlock::getBlockID().

◆ lookupStmt()

til::SExpr * SExprBuilder::lookupStmt ( const Stmt S)

Definition at line 72 of file ThreadSafetyCommon.cpp.

◆ translate()

til::SExpr * SExprBuilder::translate ( const Stmt S,
CallingContext Ctx 
)

Definition at line 224 of file ThreadSafetyCommon.cpp.

◆ translateAttrExpr() [1/2]

CapabilityExpr SExprBuilder::translateAttrExpr ( const Expr AttrExp,
CallingContext Ctx 
)

Translate a clang expression in an attribute to a til::SExpr.

Definition at line 174 of file ThreadSafetyCommon.cpp.

◆ translateAttrExpr() [2/2]

CapabilityExpr SExprBuilder::translateAttrExpr ( const Expr AttrExp,
const NamedDecl D,
const Expr DeclExp,
VarDecl SelfDecl = nullptr 
)

Translate a clang expression in an attribute to a til::SExpr.

Constructs the context from D, DeclExp, and SelfDecl.

Parameters
AttrExpThe expression to translate.
DThe declaration to which the attribute is attached.
DeclExpAn expression involving the Decl to which the attribute is attached. E.g. the call to a function.

Definition at line 118 of file ThreadSafetyCommon.cpp.

References clang::threadSafety::SExprBuilder::CallingContext::FunArgs, clang::Decl::getASTContext(), clang::Decl::getLocation(), clang::ValueDecl::getType(), isCalleeArrow(), clang::threadSafety::SExprBuilder::CallingContext::NumArgs, clang::threadSafety::SExprBuilder::CallingContext::SelfArg, clang::threadSafety::SExprBuilder::CallingContext::SelfArrow, and clang::VK_LValue.

Friends And Related Function Documentation

◆ CFGWalker

friend class CFGWalker
friend

Definition at line 402 of file ThreadSafetyCommon.h.


The documentation for this class was generated from the following files: