clang 8.0.0

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

A function – a.k.a. More...

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

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

## Public Member Functions
| Function (Variable *Vd, SExpr *Bd)
| Function (const Function &F, Variable *Vd, SExpr *Bd)
Variable * | variableDecl ()
const Variable * | variableDecl () const
SExpr * | body ()
const SExpr * | body () const
template<class V >
V::R_SExpr | traverse (V &Vs, typename V::R_Ctx Ctx)
template<class C >
C::CType | compare (const Function *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

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 })))

Definition at line 663 of file ThreadSafetyTIL.h.

## Constructor & Destructor Documentation

## ◆ Function() [1/2]

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

Definition at line 665 of file ThreadSafetyTIL.h.

References clang::threadSafety::til::Variable::setKind(), and clang::threadSafety::til::Variable::VK_Fun.

## ◆ Function() [2/2]

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

Definition at line 670 of file ThreadSafetyTIL.h.

References clang::threadSafety::til::Variable::setKind(), and clang::threadSafety::til::Variable::VK_Fun.

## Member Function Documentation

## ◆ body() [1/2]

SExpr* clang::threadSafety::til::Function::body | ( |  | ) |
| inline

Definition at line 680 of file ThreadSafetyTIL.h.

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

## ◆ body() [2/2]

const SExpr* clang::threadSafety::til::Function::body | ( |  | ) | const
| inline

Definition at line 681 of file ThreadSafetyTIL.h.

## ◆ classof()

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

Definition at line 675 of file ThreadSafetyTIL.h.

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

## ◆ compare()

template<class C >

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

Definition at line 695 of file ThreadSafetyTIL.h.

## ◆ traverse()

template<class V >

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

Definition at line 684 of file ThreadSafetyTIL.h.

References clang::VarDecl::Definition, and clang::threadSafety::til::Variable::traverse().

## ◆ variableDecl() [1/2]

Variable* clang::threadSafety::til::Function::variableDecl | ( |  | ) |
| inline

Definition at line 677 of file ThreadSafetyTIL.h.

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

## ◆ variableDecl() [2/2]

const Variable* clang::threadSafety::til::Function::variableDecl | ( |  | ) | const
| inline

Definition at line 678 of file ThreadSafetyTIL.h.

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

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