clang 19.0.0git
Classes | Public Member Functions | List of all members
clang::threadSafety::BeforeSet Class Reference

Public Member Functions

 BeforeSet ()=default
 
BeforeInfo * insertAttrExprs (const ValueDecl *Vd, ThreadSafetyAnalyzer &Analyzer)
 Process acquired_before and acquired_after attributes on Vd.
 
BeforeInfo * getBeforeInfoForDecl (const ValueDecl *Vd, ThreadSafetyAnalyzer &Analyzer)
 
void checkBeforeAfter (const ValueDecl *Vd, const FactSet &FSet, ThreadSafetyAnalyzer &Analyzer, SourceLocation Loc, StringRef CapKind)
 Return true if any mutexes in FSet are in the acquired_before set of Vd.
 

Detailed Description

Definition at line 277 of file ThreadSafety.cpp.

Constructor & Destructor Documentation

◆ BeforeSet()

clang::threadSafety::BeforeSet::BeforeSet ( )
default

Member Function Documentation

◆ checkBeforeAfter()

void BeforeSet::checkBeforeAfter ( const ValueDecl Vd,
const FactSet &  FSet,
ThreadSafetyAnalyzer &  Analyzer,
SourceLocation  Loc,
StringRef  CapKind 
)

Return true if any mutexes in FSet are in the acquired_before set of Vd.

Definition at line 1146 of file ThreadSafety.cpp.

References bool, getBeforeInfoForDecl(), clang::Decl::getLocation(), clang::NamedDecl::getName(), and clang::ast_matchers::traverse().

◆ getBeforeInfoForDecl()

BeforeSet::BeforeInfo * BeforeSet::getBeforeInfoForDecl ( const ValueDecl Vd,
ThreadSafetyAnalyzer &  Analyzer 
)

Definition at line 1133 of file ThreadSafety.cpp.

References insertAttrExprs().

Referenced by checkBeforeAfter(), and insertAttrExprs().

◆ insertAttrExprs()

BeforeSet::BeforeInfo * BeforeSet::insertAttrExprs ( const ValueDecl Vd,
ThreadSafetyAnalyzer &  Analyzer 
)

Process acquired_before and acquired_after attributes on Vd.

Definition at line 1078 of file ThreadSafety.cpp.

References clang::Decl::attrs(), getBeforeInfoForDecl(), insertAttrExprs(), and clang::threadSafety::CapabilityExpr::valueDecl().

Referenced by getBeforeInfoForDecl(), and insertAttrExprs().


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