|
clang
3.8.0
|
CFGImplicitDtor - Represents C++ object destructor implicitly generated by compiler on various occasions. More...
#include <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. More... | |
| template<typename T > | |
| Optional< T > | getAs () const |
| Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired type. More... | |
| Kind | getKind () const |
Protected Member Functions | |
| CFGImplicitDtor () | |
| 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 () | |
Friends | |
| class | CFGElement |
Additional Inherited Members | |
Public Types inherited from clang::CFGElement | |
| enum | Kind { Statement, Initializer, NewAllocator, AutomaticObjectDtor, DeleteDtor, BaseDtor, MemberDtor, TemporaryDtor, DTOR_BEGIN = AutomaticObjectDtor, DTOR_END = TemporaryDtor } |
Protected Attributes inherited from clang::CFGElement | |
| llvm::PointerIntPair< void *, 2 > | Data1 |
| llvm::PointerIntPair< void *, 2 > | Data2 |
CFGImplicitDtor - Represents C++ object destructor implicitly generated by compiler on various occasions.
|
inlineprotected |
Definition at line 174 of file CFG.h.
References clang::CFGElement::DTOR_BEGIN, and clang::CFGElement::DTOR_END.
| const CXXDestructorDecl * CFGImplicitDtor::getDestructorDecl | ( | ASTContext & | astContext | ) | const |
Definition at line 3863 of file CFG.cpp.
References clang::CFGElement::AutomaticObjectDtor, clang::CFGElement::BaseDtor, clang::CFGElement::DeleteDtor, clang::Type::getAs(), clang::ASTContext::getAsArrayType(), clang::Type::getAsCXXRecordDecl(), clang::ASTContext::getBaseElementType(), clang::RecordType::getDecl(), clang::CXXDeleteExpr::getDestroyedType(), clang::CXXTemporary::getDestructor(), clang::CXXRecordDecl::getDestructor(), clang::CFGElement::getKind(), clang::QualType::getNonReferenceType(), clang::CXXBindTemporaryExpr::getTemporary(), clang::ValueDecl::getType(), clang::CFGElement::Initializer, clang::CFGElement::MemberDtor, clang::CFGElement::NewAllocator, clang::CFGElement::Statement, and clang::CFGElement::TemporaryDtor.
Referenced by isNoReturn(), clang::consumed::ConsumedAnalyzer::run(), and clang::threadSafety::CFGWalker::walk().
| bool CFGImplicitDtor::isNoReturn | ( | ASTContext & | astContext | ) | const |
Definition at line 3905 of file CFG.cpp.
References getDestructorDecl(), and clang::FunctionDecl::isNoReturn().
|
friend |
1.8.6