class CXXDestructorDecl

Declaration

class CXXDestructorDecl : public CXXMethodDecl { /* full declaration omitted */ };

Description

Represents a C++ destructor within a class. For example:

Declared at: clang/include/clang/AST/DeclCXX.h:2701

Inherits from: CXXMethodDecl

Member Variables

private clang::FunctionDecl* OperatorDelete = nullptr
private clang::Expr* OperatorDeleteThisArg = nullptr

Inherited from DeclContext:

protected
protected FirstDecl = nullptr
protected LastDecl = nullptr

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

  • private CXXDestructorDecl(clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, bool UsesFPIntrin, bool isInline, bool isImplicitlyDeclared, clang::ConstexprSpecKind ConstexprKind, clang::Expr * TrailingRequiresClause = nullptr)
  • public static clang::CXXDestructorDecl * Create(clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, bool UsesFPIntrin, bool isInline, bool isImplicitlyDeclared, clang::ConstexprSpecKind ConstexprKind, clang::Expr * TrailingRequiresClause = nullptr)
  • public static clang::CXXDestructorDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
  • private void anchor()
  • public static bool classof(const clang::Decl * D)
  • public static bool classofKind(clang::Decl::Kind K)
  • public clang::CXXDestructorDecl * getCanonicalDecl()
  • public const clang::CXXDestructorDecl * getCanonicalDecl() const
  • public const clang::FunctionDecl * getOperatorDelete() const
  • public clang::Expr * getOperatorDeleteThisArg() const
  • public void setOperatorDelete(clang::FunctionDecl * OD, clang::Expr * ThisArg)

Inherited from CXXMethodDecl:

Inherited from FunctionDecl:

Inherited from DeclContext:

Inherited from DeclaratorDecl:

Inherited from ValueDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

CXXDestructorDecl(
    clang::ASTContext& C,
    clang::CXXRecordDecl* RD,
    clang::SourceLocation StartLoc,
    const clang::DeclarationNameInfo& NameInfo,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo,
    bool UsesFPIntrin,
    bool isInline,
    bool isImplicitlyDeclared,
    clang::ConstexprSpecKind ConstexprKind,
    clang::Expr* TrailingRequiresClause = nullptr)

Declared at: clang/include/clang/AST/DeclCXX.h:2710

Parameters

clang::ASTContext& C
clang::CXXRecordDecl* RD
clang::SourceLocation StartLoc
const clang::DeclarationNameInfo& NameInfo
clang::QualType T
clang::TypeSourceInfo* TInfo
bool UsesFPIntrin
bool isInline
bool isImplicitlyDeclared
clang::ConstexprSpecKind ConstexprKind
clang::Expr* TrailingRequiresClause = nullptr

static clang::CXXDestructorDecl* Create(
    clang::ASTContext& C,
    clang::CXXRecordDecl* RD,
    clang::SourceLocation StartLoc,
    const clang::DeclarationNameInfo& NameInfo,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo,
    bool UsesFPIntrin,
    bool isInline,
    bool isImplicitlyDeclared,
    clang::ConstexprSpecKind ConstexprKind,
    clang::Expr* TrailingRequiresClause = nullptr)

Declared at: clang/include/clang/AST/DeclCXX.h:2725

Parameters

clang::ASTContext& C
clang::CXXRecordDecl* RD
clang::SourceLocation StartLoc
const clang::DeclarationNameInfo& NameInfo
clang::QualType T
clang::TypeSourceInfo* TInfo
bool UsesFPIntrin
bool isInline
bool isImplicitlyDeclared
clang::ConstexprSpecKind ConstexprKind
clang::Expr* TrailingRequiresClause = nullptr

static clang::CXXDestructorDecl*
CreateDeserialized(clang::ASTContext& C,
                   unsigned int ID)

Declared at: clang/include/clang/AST/DeclCXX.h:2730

Parameters

clang::ASTContext& C
unsigned int ID

void anchor()

Declared at: clang/include/clang/AST/DeclCXX.h:2721

static bool classof(const clang::Decl* D)

Declared at: clang/include/clang/AST/DeclCXX.h:2750

Parameters

const clang::Decl* D

static bool classofKind(clang::Decl::Kind K)

Declared at: clang/include/clang/AST/DeclCXX.h:2751

Parameters

clang::Decl::Kind K

clang::CXXDestructorDecl* getCanonicalDecl()

Description

Retrieves the "canonical" declaration of the given declaration.

Declared at: clang/include/clang/AST/DeclCXX.h:2742

const clang::CXXDestructorDecl* getCanonicalDecl()
    const

Declared at: clang/include/clang/AST/DeclCXX.h:2745

const clang::FunctionDecl* getOperatorDelete()
    const

Declared at: clang/include/clang/AST/DeclCXX.h:2734

clang::Expr* getOperatorDeleteThisArg() const

Declared at: clang/include/clang/AST/DeclCXX.h:2738

void setOperatorDelete(clang::FunctionDecl* OD,
                       clang::Expr* ThisArg)

Declared at: clang/include/clang/AST/DeclCXX.h:2732

Parameters

clang::FunctionDecl* OD
clang::Expr* ThisArg