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

Represents C++ object destructor implicitly generated by compiler on various occasions. More...

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

Inheritance diagram for clang::CFGImplicitDtor:

Public Member Functions
const CXXDestructorDecl * getDestructorDecl (ASTContext &astContext) const
bool isNoReturn (ASTContext &astContext) 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
Protected Member Functions
- Protected Member Functions inherited from clang::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 Attributes inherited from clang::CFGElement
llvm::PointerIntPair< void *, 2 > Data1
llvm::PointerIntPair< void *, 2 > Data2

Detailed Description

Represents C++ object destructor implicitly generated by compiler on various occasions.

Definition at line 366 of file CFG.h.

Constructor & Destructor Documentation

clang::CFGImplicitDtor::CFGImplicitDtor ( ) protecteddefault

CFGImplicitDtor() [2/2]

clang::CFGImplicitDtor::CFGImplicitDtor ( Kind kind, const void * data1, const void * data2 = nullptr ) inlineprotected

Member Function Documentation

getDestructorDecl()

Definition at line 5295 of file CFG.cpp.

References clang::ast_matchers::arrayType, clang::CFGElement::AutomaticObjectDtor, clang::CFGElement::BaseDtor, clang::CFGElement::CleanupFunction, clang::CFGElement::Constructor, clang::CFGElement::CXXRecordTypedCall, clang::CFGElement::DeleteDtor, clang::ASTContext::getAsArrayType(), clang::Type::getAsCXXRecordDecl(), clang::ASTContext::getBaseElementType(), clang::CXXDeleteExpr::getDestroyedType(), clang::CXXRecordDecl::getDestructor(), clang::CXXTemporary::getDestructor(), clang::CFGElement::getKind(), clang::QualType::getNonReferenceType(), getReferenceInitTemporaryType(), clang::CXXBindTemporaryExpr::getTemporary(), clang::ValueDecl::getType(), clang::Init, clang::CFGElement::Initializer, clang::Type::isReferenceType(), clang::CFGElement::LifetimeEnds, clang::CFGElement::LoopExit, clang::CFGElement::MemberDtor, clang::CFGElement::NewAllocator, clang::CFGElement::ScopeBegin, clang::CFGElement::ScopeEnd, clang::CFGElement::Statement, and clang::CFGElement::TemporaryDtor.

Referenced by clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::consumed::ConsumedAnalyzer::run(), and clang::threadSafety::CFGWalker::walk().

isNoReturn()

bool clang::CFGImplicitDtor::isNoReturn ( ASTContext & astContext ) const

CFGElement


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