clang 8.0.0

Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::threadSafety::til::Future Class Reference

Placeholder for an expression that has not yet been created. More...

`#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"`

Inheritance diagram for clang::threadSafety::til::Future:
[legend]
Collaboration diagram for clang::threadSafety::til::Future:
[legend]

## Public Types
enum | FutureStatus { FS_pending, FS_evaluating, FS_done }

## Public Member Functions
| Future ()
virtual | ~Future ()=delete
virtual SExpr * | compute ()
SExpr * | maybeGetResult () const
SExpr * | result ()
template<class V >
V::R_SExpr | traverse (V &Vs, typename V::R_Ctx Ctx)
template<class C >
C::CType | compare (const Future *E, C &Cmp) const
Public Member Functions inherited from clang::threadSafety::til::SExpr
| SExpr ()=delete
TIL_Opcode | opcode () const
void * | operator new (size_t S, MemRegionRef &R)
void * | operator new (size_t)=delete
| SExpr objects must be created in an arena. More...
void | operator delete (void *)=delete
| SExpr objects cannot be deleted. More...
unsigned | id () const
| Returns the instruction ID for this expression. More...
BasicBlock * | block () const
| Returns the block, if this is an instruction in a basic block, otherwise returns null. More...
void | setID (BasicBlock *B, unsigned id)
| Set the basic block and instruction ID for this expression. More...

## Static Public Member Functions
static bool | classof (const SExpr *E)

## Additional Inherited Members
Protected Member Functions inherited from clang::threadSafety::til::SExpr
| SExpr (TIL_Opcode Op)
| SExpr (const SExpr &E)
Protected Attributes inherited from clang::threadSafety::til::SExpr
const unsigned char | Opcode
unsigned char | Reserved = 0
unsigned short | Flags = 0
unsigned | SExprID = 0
BasicBlock * | Block = nullptr

## Detailed Description

Placeholder for an expression that has not yet been created.

Used to implement lazy copy and rewriting strategies.

Definition at line 436 of file ThreadSafetyTIL.h.

## Member Enumeration Documentation

## ◆ FutureStatus

enum clang::threadSafety::til::Future::FutureStatus

Enumerator
FS_pending |
FS_evaluating |
FS_done |

Definition at line 438 of file ThreadSafetyTIL.h.

## Constructor & Destructor Documentation

## ◆ Future()

clang::threadSafety::til::Future::Future | ( |  | ) |
| inline

Definition at line 444 of file ThreadSafetyTIL.h.

## ◆ ~Future()

virtual clang::threadSafety::til::Future::~Future | ( |  | ) |
| virtual delete

## Member Function Documentation

## ◆ classof()

static bool clang::threadSafety::til::Future::classof | ( | const SExpr * | E | ) |
| inline static

Definition at line 447 of file ThreadSafetyTIL.h.

References clang::threadSafety::til::SExpr::opcode().

## ◆ compare()

template<class C >

C::CType clang::threadSafety::til::Future::compare | ( | const Future * | E,
|  | C & | Cmp
| ) |  | const
| inline

Definition at line 474 of file ThreadSafetyTIL.h.

## ◆ compute()

virtual SExpr* clang::threadSafety::til::Future::compute | ( |  | ) |
| inline virtual

Definition at line 450 of file ThreadSafetyTIL.h.

Referenced by clang::threadSafety::til::getBinaryOpcodeString().

## ◆ maybeGetResult()

SExpr* clang::threadSafety::til::Future::maybeGetResult | ( |  | ) | const
| inline

Definition at line 453 of file ThreadSafetyTIL.h.

Referenced by clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printFuture().

## ◆ result()

SExpr* clang::threadSafety::til::Future::result | ( |  | ) |
| inline

Definition at line 456 of file ThreadSafetyTIL.h.

## ◆ traverse()

template<class V >

V::R_SExpr clang::threadSafety::til::Future::traverse | ( | V & | Vs,
|  | typename V::R_Ctx | Ctx
| ) |  |
| inline

Definition at line 468 of file ThreadSafetyTIL.h.

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

- include/clang/Analysis/Analyses/ThreadSafetyTIL.h
- lib/Analysis/ThreadSafetyTIL.cpp