clang 19.0.0git
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:
Inheritance graph

Public Member Functions

 IfThenElse (SExpr *C, SExpr *T, SExpr *E)
 IfThenElse (const IfThenElse &I, SExpr *C, SExpr *T, SExpr *E)
SExprcondition ()
const SExprcondition () const
SExprthenExpr ()
const SExprthenExpr () const
SExprelseExpr ()
const SExprelseExpr () 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.
void operator delete (void *)=delete
 SExpr objects cannot be deleted.
unsigned id () const
 Returns the instruction ID for this expression.
BasicBlockblock () const
 Returns the block, if this is an instruction in a basic block, otherwise returns null.
void setID (BasicBlock *B, unsigned id)
 Set the basic block and instruction ID for this expression.

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)
SExproperator= (const SExpr &)=delete
- Protected Attributes inherited from clang::threadSafety::til::SExpr
const TIL_Opcode Opcode
unsigned char Reserved = 0
unsigned short Flags = 0
unsigned SExprID = 0
BasicBlockBlock = 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 1819 of file ThreadSafetyTIL.h.

Constructor & Destructor Documentation

◆ IfThenElse() [1/2]

clang::threadSafety::til::IfThenElse::IfThenElse ( SExpr C,
SExpr T,
SExpr E 

Definition at line 1821 of file ThreadSafetyTIL.h.

◆ IfThenElse() [2/2]

clang::threadSafety::til::IfThenElse::IfThenElse ( const IfThenElse I,
SExpr C,
SExpr T,
SExpr E 

Definition at line 1823 of file ThreadSafetyTIL.h.

Member Function Documentation

◆ classof()

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

Definition at line 1826 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

Definition at line 1846 of file ThreadSafetyTIL.h.

References condition(), elseExpr(), and thenExpr().

◆ condition() [1/2]

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

◆ condition() [2/2]

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

Definition at line 1829 of file ThreadSafetyTIL.h.

◆ elseExpr() [1/2]

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

◆ elseExpr() [2/2]

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

Definition at line 1835 of file ThreadSafetyTIL.h.

◆ thenExpr() [1/2]

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

◆ thenExpr() [2/2]

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

Definition at line 1832 of file ThreadSafetyTIL.h.

◆ traverse()

template<class V >
V::R_SExpr clang::threadSafety::til::IfThenElse::traverse ( V Vs,
typename V::R_Ctx  Ctx 

Definition at line 1838 of file ThreadSafetyTIL.h.

References clang::ast_matchers::Ne.

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