clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::threadSafety::til::SApply Class Reference

Apply a self-argument to a self-applicable function. More...

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

Inheritance diagram for clang::threadSafety::til::SApply:
Inheritance graph
[legend]

Public Member Functions

 SApply (SExpr *Sf, SExpr *A=nullptr)
 
 SApply (SApply &A, SExpr *Sf, SExpr *Ar=nullptr)
 
SExprsfun ()
 
const SExprsfun () const
 
SExprarg ()
 
const SExprarg () const
 
bool isDelegation () const
 
template<class V >
V::R_SExpr traverse (V &Vs, typename V::R_Ctx Ctx)
 
template<class C >
C::CType compare (const SApply *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

Apply a self-argument to a self-applicable function.

Definition at line 883 of file ThreadSafetyTIL.h.

Constructor & Destructor Documentation

◆ SApply() [1/2]

clang::threadSafety::til::SApply::SApply ( SExpr Sf,
SExpr A = nullptr 
)
inline

Definition at line 885 of file ThreadSafetyTIL.h.

◆ SApply() [2/2]

clang::threadSafety::til::SApply::SApply ( SApply A,
SExpr Sf,
SExpr Ar = nullptr 
)
inline

Definition at line 886 of file ThreadSafetyTIL.h.

Member Function Documentation

◆ arg() [1/2]

SExpr * clang::threadSafety::til::SApply::arg ( )
inline

Definition at line 894 of file ThreadSafetyTIL.h.

Referenced by compare().

◆ arg() [2/2]

const SExpr * clang::threadSafety::til::SApply::arg ( ) const
inline

Definition at line 895 of file ThreadSafetyTIL.h.

◆ classof()

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

Definition at line 889 of file ThreadSafetyTIL.h.

References E.

◆ compare()

template<class C >
C::CType clang::threadSafety::til::SApply::compare ( const SApply E,
C Cmp 
) const
inline

Definition at line 908 of file ThreadSafetyTIL.h.

References arg(), E, and sfun().

◆ isDelegation()

bool clang::threadSafety::til::SApply::isDelegation ( ) const
inline

Definition at line 897 of file ThreadSafetyTIL.h.

◆ sfun() [1/2]

SExpr * clang::threadSafety::til::SApply::sfun ( )
inline

Definition at line 891 of file ThreadSafetyTIL.h.

Referenced by compare().

◆ sfun() [2/2]

const SExpr * clang::threadSafety::til::SApply::sfun ( ) const
inline

Definition at line 892 of file ThreadSafetyTIL.h.

◆ traverse()

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

Definition at line 900 of file ThreadSafetyTIL.h.


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