class Function

Declaration

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

Description

A function -- a.k.a. lambda abstraction. Functions with multiple arguments are created by currying, e.g. (Function (x: Int) (Function (y: Int) (Code { return x + y })))

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

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 Function(clang::threadSafety::til::Variable * Vd, clang::threadSafety::til::SExpr * Bd)
  • public Function(const clang::threadSafety::til::Function & F, clang::threadSafety::til::Variable * Vd, clang::threadSafety::til::SExpr * Bd)
  • 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::Function * 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

Function(clang::threadSafety::til::Variable* Vd,
         clang::threadSafety::til::SExpr* Bd)

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

Parameters

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

Function(
    const clang::threadSafety::til::Function& F,
    clang::threadSafety::til::Variable* Vd,
    clang::threadSafety::til::SExpr* Bd)

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

Parameters

const clang::threadSafety::til::Function& F
clang::threadSafety::til::Variable* Vd
clang::threadSafety::til::SExpr* Bd

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

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

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

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

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

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

Parameters

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

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

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

Templates

C

Parameters

const clang::threadSafety::til::Function* 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:685

Templates

V

Parameters

V& Vs
typename V::R_Ctx Ctx

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

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

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

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