clang API Documentation
#include <CFG.h>
Public Member Functions | |
const CXXDestructorDecl * | getDestructorDecl (ASTContext &astContext) const |
bool | isNoReturn (ASTContext &astContext) const |
Protected Member Functions | |
CFGImplicitDtor () | |
CFGImplicitDtor (Kind kind, const void *data1, const void *data2=nullptr) | |
Friends | |
class | CFGElement |
CFGImplicitDtor - Represents C++ object destructor implicitly generated by compiler on various occasions.
clang::CFGImplicitDtor::CFGImplicitDtor | ( | ) | [inline, protected] |
clang::CFGImplicitDtor::CFGImplicitDtor | ( | Kind | kind, |
const void * | data1, | ||
const void * | data2 = nullptr |
||
) | [inline, protected] |
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 3786 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(), clang::threadSafety::ThreadSafetyAnalyzer::runAnalysis(), and clang::threadSafety::CFGWalker::walk().
bool CFGImplicitDtor::isNoReturn | ( | ASTContext & | astContext | ) | const |
Definition at line 3828 of file CFG.cpp.
References getDestructorDecl(), and clang::FunctionDecl::isNoReturn().
friend class CFGElement [friend] |
Reimplemented in clang::CFGTemporaryDtor, clang::CFGMemberDtor, clang::CFGBaseDtor, clang::CFGDeleteDtor, and clang::CFGAutomaticObjDtor.