| 
    clang 22.0.0git
    
   | 
 
Represents C++ object destructor implicitly generated by compiler on various occasions. More...
#include "clang/Analysis/CFG.h"
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, bool TerminateWithNewLine=true) const | 
| void | dump () const | 
Protected Member Functions | |
| CFGImplicitDtor ()=default | |
| CFGImplicitDtor (Kind kind, const void *data1, const void *data2=nullptr) | |
| Protected Member Functions inherited from clang::CFGElement | |
| CFGElement (Kind kind, const void *Ptr1, const void *Ptr2=nullptr) | |
| CFGElement ()=default | |
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 Attributes inherited from clang::CFGElement | |
| llvm::PointerIntPair< void *, 2 > | Data1 | 
| llvm::PointerIntPair< void *, 2 > | Data2 | 
Represents C++ object destructor implicitly generated by compiler on various occasions.
      
  | 
  protecteddefault | 
      
  | 
  inlineprotected | 
Definition at line 371 of file CFG.h.
References CFGElement, clang::CFGElement::DTOR_BEGIN, and clang::CFGElement::DTOR_END.
| const CXXDestructorDecl * CFGImplicitDtor::getDestructorDecl | ( | ASTContext & | astContext | ) | const | 
Definition at line 5401 of file CFG.cpp.
References clang::ast_matchers::arrayType, clang::CFGElement::AutomaticObjectDtor, clang::CFGElement::BaseDtor, clang::CFGElement::castAs(), 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(), 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::ento::ExprEngine::ProcessMemberDtor(), clang::ento::ExprEngine::ProcessTemporaryDtor(), clang::consumed::ConsumedAnalyzer::run(), and clang::threadSafety::CFGWalker::walk().
| bool clang::CFGImplicitDtor::isNoReturn | ( | ASTContext & | astContext | ) | const | 
      
  | 
  friend | 
Definition at line 381 of file CFG.h.
References CFGElement, clang::CFGElement::DTOR_BEGIN, and clang::CFGElement::DTOR_END.
Referenced by CFGElement, and CFGImplicitDtor().