clang 20.0.0git
|
Represents a function call that returns a C++ object by value. More...
#include "clang/Analysis/CFG.h"
Public Member Functions | |
CFGCXXRecordTypedCall (const Expr *E, const ConstructionContext *C) | |
const ConstructionContext * | getConstructionContext () const |
Public Member Functions inherited from clang::CFGStmt | |
CFGStmt (const Stmt *S, Kind K=Statement) | |
const Stmt * | getStmt () const |
Public Member Functions inherited from clang::CFGElement | |
template<typename T > | |
T | castAs () const |
Convert to the specified CFGElement type, asserting that this CFGElement is of the desired type. | |
template<typename T > | |
std::optional< T > | getAs () const |
Convert to the specified CFGElement type, returning std::nullopt if this CFGElement is not of the desired type. | |
Kind | getKind () const |
void | dumpToStream (llvm::raw_ostream &OS) const |
void | dump () const |
Static Public Member Functions | |
static bool | isCXXRecordTypedCall (const Expr *E) |
Returns true when call expression CE needs to be represented by CFGCXXRecordTypedCall, as opposed to a regular CFGStmt. | |
Friends | |
class | CFGElement |
Additional Inherited Members | |
Public Types inherited from clang::CFGElement | |
enum | Kind { Initializer , ScopeBegin , ScopeEnd , NewAllocator , LifetimeEnds , LoopExit , Statement , Constructor , CXXRecordTypedCall , STMT_BEGIN = Statement , STMT_END = CXXRecordTypedCall , AutomaticObjectDtor , DeleteDtor , BaseDtor , MemberDtor , TemporaryDtor , DTOR_BEGIN = AutomaticObjectDtor , DTOR_END = TemporaryDtor , CleanupFunction } |
Protected Member Functions inherited from clang::CFGStmt | |
CFGStmt ()=default | |
Protected Member Functions inherited from clang::CFGElement | |
CFGElement (Kind kind, const void *Ptr1, const void *Ptr2=nullptr) | |
CFGElement ()=default | |
Protected Attributes inherited from clang::CFGElement | |
llvm::PointerIntPair< void *, 2 > | Data1 |
llvm::PointerIntPair< void *, 2 > | Data2 |
Represents a function call that returns a C++ object by value.
This, like constructor, requires a construction context in order to understand the storage of the returned object . In C such tracking is not necessary because no additional effort is required for destroying the object or modeling copy elision. Like CFGConstructor, this element is for now only used by the analyzer's CFG.
|
inlineexplicit |
Definition at line 198 of file CFG.h.
References clang::C, clang::CFGElement::Data2, E, and isCXXRecordTypedCall().
|
inline |
Definition at line 211 of file CFG.h.
References clang::CFGElement::Data2.
Returns true when call expression CE
needs to be represented by CFGCXXRecordTypedCall, as opposed to a regular CFGStmt.
Definition at line 189 of file CFG.h.
References E.
Referenced by CFGCXXRecordTypedCall().
|
friend |