clang: clang::CFGCXXRecordTypedCall Class Reference (original) (raw)

Represents a function call that returns a C++ object by value. More...

#include "[clang/Analysis/CFG.h](CFG%5F8h%5Fsource.html)"

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, bool TerminateWithNewLine=true) const
void dump () const
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< const void *, 2 > Data1
llvm::PointerIntPair< const 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.

Definition at line 186 of file CFG.h.

getConstructionContext()

const ConstructionContext * clang::CFGCXXRecordTypedCall::getConstructionContext ( ) const inline

isCXXRecordTypedCall()

bool clang::CFGCXXRecordTypedCall::isCXXRecordTypedCall ( const Expr * E) inlinestatic

CFGElement


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