class IfThenElse

Declaration

class IfThenElse : public SExpr { /* full declaration omitted */ };

Description

An if-then-else expression. This is a pseduo-term; it will be lowered to a branch in a CFG.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1812

Inherits from: SExpr

Member Variables

private clang::threadSafety::til::SExpr* Condition
private clang::threadSafety::til::SExpr* ThenExpr
private clang::threadSafety::til::SExpr* ElseExpr

Inherited from SExpr:

protected Opcode
protected Reserved = 0
protected Flags = 0
protected SExprID = 0
protected Block = nullptr

Method Overview

  • public IfThenElse(clang::threadSafety::til::SExpr * C, clang::threadSafety::til::SExpr * T, clang::threadSafety::til::SExpr * E)
  • public IfThenElse(const clang::threadSafety::til::IfThenElse & I, clang::threadSafety::til::SExpr * C, clang::threadSafety::til::SExpr * T, clang::threadSafety::til::SExpr * E)
  • public static bool classof(const clang::threadSafety::til::SExpr * E)
  • public template <class C>typename C::CType compare(const clang::threadSafety::til::IfThenElse * E, C & Cmp) const
  • public clang::threadSafety::til::SExpr * condition()
  • public const clang::threadSafety::til::SExpr * condition() const
  • public clang::threadSafety::til::SExpr * elseExpr()
  • public const clang::threadSafety::til::SExpr * elseExpr() const
  • public clang::threadSafety::til::SExpr * thenExpr()
  • public const clang::threadSafety::til::SExpr * thenExpr() const
  • public template <class V>typename V::R_SExpr traverse(V & Vs, typename V::R_Ctx Ctx)

Inherited from SExpr:

Methods

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1814

Parameters

clang::threadSafety::til::SExpr* C
clang::threadSafety::til::SExpr* T
clang::threadSafety::til::SExpr* E

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1816

Parameters

const clang::threadSafety::til::IfThenElse& I
clang::threadSafety::til::SExpr* C
clang::threadSafety::til::SExpr* T
clang::threadSafety::til::SExpr* E

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1819

Parameters

const clang::threadSafety::til::SExpr* E

template <class C>
typename C::CType compare(
    const clang::threadSafety::til::IfThenElse* E,
    C& Cmp) const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1839

Templates

C

Parameters

const clang::threadSafety::til::IfThenElse* E
C& Cmp

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1821

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1822

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1827

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1828

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1824

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1825

template <class V>
typename V::R_SExpr traverse(
    V& Vs,
    typename V::R_Ctx Ctx)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1831

Templates

V

Parameters

V& Vs
typename V::R_Ctx Ctx