clang 8.0.0

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

An if-then-else expression. More...

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

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

## Public Member Functions
| IfThenElse (SExpr *C, SExpr *T, SExpr *E)
| IfThenElse (const IfThenElse &I, SExpr *C, SExpr *T, SExpr *E)
SExpr * | condition ()
const SExpr * | condition () const
SExpr * | thenExpr ()
const SExpr * | thenExpr () const
SExpr * | elseExpr ()
const SExpr * | elseExpr () const
template<class V >
V::R_SExpr | traverse (V &Vs, typename V::R_Ctx Ctx)
template<class C >
C::CType | compare (const IfThenElse *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

An if-then-else expression.

This is a pseduo-term; it will be lowered to a branch in a CFG.

Definition at line 1811 of file ThreadSafetyTIL.h.

## Constructor & Destructor Documentation

## ◆ IfThenElse() [1/2]

clang::threadSafety::til::IfThenElse::IfThenElse | ( | SExpr * | C,
|  | SExpr * | T,
|  | SExpr * | E
| ) |  |
| inline

Definition at line 1813 of file ThreadSafetyTIL.h.

## ◆ IfThenElse() [2/2]

clang::threadSafety::til::IfThenElse::IfThenElse | ( | const IfThenElse & | I,
|  | SExpr * | C,
|  | SExpr * | T,
|  | SExpr * | E
| ) |  |
| inline

Definition at line 1815 of file ThreadSafetyTIL.h.

## Member Function Documentation

## ◆ classof()

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

Definition at line 1818 of file ThreadSafetyTIL.h.

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

## ◆ compare()

template<class C >

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

Definition at line 1838 of file ThreadSafetyTIL.h.

## ◆ condition() [1/2]

SExpr* clang::threadSafety::til::IfThenElse::condition | ( |  | ) |
| inline

Definition at line 1820 of file ThreadSafetyTIL.h.

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

## ◆ condition() [2/2]

const SExpr* clang::threadSafety::til::IfThenElse::condition | ( |  | ) | const
| inline

Definition at line 1821 of file ThreadSafetyTIL.h.

## ◆ elseExpr() [1/2]

SExpr* clang::threadSafety::til::IfThenElse::elseExpr | ( |  | ) |
| inline

Definition at line 1826 of file ThreadSafetyTIL.h.

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

## ◆ elseExpr() [2/2]

const SExpr* clang::threadSafety::til::IfThenElse::elseExpr | ( |  | ) | const
| inline

Definition at line 1827 of file ThreadSafetyTIL.h.

## ◆ thenExpr() [1/2]

SExpr* clang::threadSafety::til::IfThenElse::thenExpr | ( |  | ) |
| inline

Definition at line 1823 of file ThreadSafetyTIL.h.

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

## ◆ thenExpr() [2/2]

const SExpr* clang::threadSafety::til::IfThenElse::thenExpr | ( |  | ) | const
| inline

Definition at line 1824 of file ThreadSafetyTIL.h.

## ◆ traverse()

template<class V >

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

Definition at line 1830 of file ThreadSafetyTIL.h.

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

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