clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::CXXDeleteExpr Class Reference

#include <ExprCXX.h>

Inheritance diagram for clang::CXXDeleteExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::CXXDeleteExpr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CXXDeleteExpr (QualType ty, bool globalDelete, bool arrayForm, bool arrayFormAsWritten, bool usualArrayDeleteWantsSize, FunctionDecl *operatorDelete, Expr *arg, SourceLocation loc)
 CXXDeleteExpr (EmptyShell Shell)
bool isGlobalDelete () const
bool isArrayForm () const
bool isArrayFormAsWritten () const
bool doesUsualArrayDeleteWantSize () const
FunctionDeclgetOperatorDelete () const
ExprgetArgument ()
const ExprgetArgument () const
QualType getDestroyedType () const
 Retrieve the type being destroyed. If the type being destroyed is a dependent type which may or may not be a pointer, return an invalid type.
SourceRange getSourceRange () const LLVM_READONLY
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)
static bool classof (const CXXDeleteExpr *)

Friends

class ASTStmtReader

Detailed Description

CXXDeleteExpr - A delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray".

Definition at line 1629 of file ExprCXX.h.


Constructor & Destructor Documentation

clang::CXXDeleteExpr::CXXDeleteExpr ( QualType  ty,
bool  globalDelete,
bool  arrayForm,
bool  arrayFormAsWritten,
bool  usualArrayDeleteWantsSize,
FunctionDecl operatorDelete,
Expr arg,
SourceLocation  loc 
) [inline]

Definition at line 1648 of file ExprCXX.h.

clang::CXXDeleteExpr::CXXDeleteExpr ( EmptyShell  Shell) [inline, explicit]

Definition at line 1658 of file ExprCXX.h.


Member Function Documentation

child_range clang::CXXDeleteExpr::children ( ) [inline]

Reimplemented from clang::Stmt.

Definition at line 1693 of file ExprCXX.h.

static bool clang::CXXDeleteExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 1687 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

static bool clang::CXXDeleteExpr::classof ( const CXXDeleteExpr ) [inline, static]

Definition at line 1690 of file ExprCXX.h.

bool clang::CXXDeleteExpr::doesUsualArrayDeleteWantSize ( ) const [inline]

Answers whether the usual array deallocation function for the allocated type expects the size of the allocation as a parameter. This can be true even if the actual deallocation function that we're using doesn't want a size.

Definition at line 1669 of file ExprCXX.h.

Referenced by clang::CodeGen::CGCXXABI::requiresArrayCookie().

Expr* clang::CXXDeleteExpr::getArgument ( ) [inline]
const Expr* clang::CXXDeleteExpr::getArgument ( ) const [inline]

Definition at line 1676 of file ExprCXX.h.

QualType CXXDeleteExpr::getDestroyedType ( ) const

Retrieve the type being destroyed. If the type being destroyed is a dependent type which may or may not be a pointer, return an invalid type.

Definition at line 127 of file ExprCXX.cpp.

References Arg, clang::CK_UserDefinedConversion, getArgument(), and clang::Expr::getType().

FunctionDecl* clang::CXXDeleteExpr::getOperatorDelete ( ) const [inline]

Definition at line 1673 of file ExprCXX.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr().

SourceRange clang::CXXDeleteExpr::getSourceRange ( ) const [inline]

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Reimplemented from clang::Stmt.

Definition at line 1683 of file ExprCXX.h.

References clang::Stmt::getLocEnd().

bool clang::CXXDeleteExpr::isArrayForm ( ) const [inline]

Definition at line 1662 of file ExprCXX.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr().

bool clang::CXXDeleteExpr::isArrayFormAsWritten ( ) const [inline]

Definition at line 1663 of file ExprCXX.h.

bool clang::CXXDeleteExpr::isGlobalDelete ( ) const [inline]

Definition at line 1661 of file ExprCXX.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr().


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 1695 of file ExprCXX.h.


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