class SFunction

Declaration

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

Description

A self-applicable function. A self-applicable function can be applied to itself. It's useful for implementing objects and late binding.

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

Inherits from: SExpr

Member Variables

private clang::threadSafety::til::Variable* VarDecl
private clang::threadSafety::til::SExpr* Body

Inherited from SExpr:

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

Method Overview

  • public SFunction(clang::threadSafety::til::Variable * Vd, clang::threadSafety::til::SExpr * B)
  • public SFunction(const clang::threadSafety::til::SFunction & F, clang::threadSafety::til::Variable * Vd, clang::threadSafety::til::SExpr * B)
  • public clang::threadSafety::til::SExpr * body()
  • public const clang::threadSafety::til::SExpr * body() const
  • public static bool classof(const clang::threadSafety::til::SExpr * E)
  • public template <class C>typename C::CType compare(const clang::threadSafety::til::SFunction * E, C & Cmp) const
  • public template <class V>typename V::R_SExpr traverse(V & Vs, typename V::R_Ctx Ctx)
  • public clang::threadSafety::til::Variable * variableDecl()
  • public const clang::threadSafety::til::Variable * variableDecl() const

Inherited from SExpr:

Methods

SFunction(clang::threadSafety::til::Variable* Vd,
          clang::threadSafety::til::SExpr* B)

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

Parameters

clang::threadSafety::til::Variable* Vd
clang::threadSafety::til::SExpr* B

SFunction(
    const clang::threadSafety::til::SFunction& F,
    clang::threadSafety::til::Variable* Vd,
    clang::threadSafety::til::SExpr* B)

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

Parameters

const clang::threadSafety::til::SFunction& F
clang::threadSafety::til::Variable* Vd
clang::threadSafety::til::SExpr* B

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

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

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

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

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

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

Parameters

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

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

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

Templates

C

Parameters

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

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

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

Templates

V

Parameters

V& Vs
typename V::R_Ctx Ctx

clang::threadSafety::til::Variable* variableDecl()

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

const clang::threadSafety::til::Variable*
variableDecl() const

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