clang API Documentation

Public Member Functions
clang::threadSafety::FactEntry Class Reference

This is a helper class that stores a fact that is known at a particular point in program execution. Currently, a fact is a capability, along with additional information, such as where it was acquired, whether it is exclusive or shared, etc. More...

Inheritance diagram for clang::threadSafety::FactEntry:
Inheritance graph
[legend]
Collaboration diagram for clang::threadSafety::FactEntry:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 FactEntry (const CapabilityExpr &CE, LockKind LK, SourceLocation Loc, bool Asrt)
virtual ~FactEntry ()
LockKind kind () const
SourceLocation loc () const
bool asserted () const
virtual void handleRemovalFromIntersection (const FactSet &FSet, FactManager &FactMan, SourceLocation JoinLoc, LockErrorKind LEK, ThreadSafetyHandler &Handler) const =0
virtual void handleUnlock (FactSet &FSet, FactManager &FactMan, const CapabilityExpr &Cp, SourceLocation UnlockLoc, bool FullyRemove, ThreadSafetyHandler &Handler, StringRef DiagKind) const =0
bool isAtLeast (LockKind LK)

Detailed Description

This is a helper class that stores a fact that is known at a particular point in program execution. Currently, a fact is a capability, along with additional information, such as where it was acquired, whether it is exclusive or shared, etc.

FIXME: this analysis does not currently support either re-entrant locking or lock "upgrading" and "downgrading" between exclusive and shared.

Definition at line 99 of file ThreadSafety.cpp.


Constructor & Destructor Documentation

clang::threadSafety::FactEntry::FactEntry ( const CapabilityExpr CE,
LockKind  LK,
SourceLocation  Loc,
bool  Asrt 
) [inline]

Definition at line 106 of file ThreadSafety.cpp.

virtual clang::threadSafety::FactEntry::~FactEntry ( ) [inline, virtual]

Definition at line 110 of file ThreadSafety.cpp.


Member Function Documentation

virtual void clang::threadSafety::FactEntry::handleRemovalFromIntersection ( const FactSet FSet,
FactManager FactMan,
SourceLocation  JoinLoc,
LockErrorKind  LEK,
ThreadSafetyHandler Handler 
) const [pure virtual]
virtual void clang::threadSafety::FactEntry::handleUnlock ( FactSet FSet,
FactManager FactMan,
const CapabilityExpr Cp,
SourceLocation  UnlockLoc,
bool  FullyRemove,
ThreadSafetyHandler Handler,
StringRef  DiagKind 
) const [pure virtual]

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