clang API Documentation
#include <ExprCXX.h>


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 |
| FunctionDecl * | getOperatorDelete () const |
| Expr * | getArgument () |
| const Expr * | getArgument () 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 |
CXXDeleteExpr - A delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray".
| clang::CXXDeleteExpr::CXXDeleteExpr | ( | QualType | ty, |
| bool | globalDelete, | ||
| bool | arrayForm, | ||
| bool | arrayFormAsWritten, | ||
| bool | usualArrayDeleteWantsSize, | ||
| FunctionDecl * | operatorDelete, | ||
| Expr * | arg, | ||
| SourceLocation | loc | ||
| ) | [inline] |
| clang::CXXDeleteExpr::CXXDeleteExpr | ( | EmptyShell | Shell | ) | [inline, explicit] |
| child_range clang::CXXDeleteExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
| 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] |
| 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] |
Definition at line 1675 of file ExprCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr(), and getDestroyedType().
| const Expr* clang::CXXDeleteExpr::getArgument | ( | ) | const [inline] |
| 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] |
| bool clang::CXXDeleteExpr::isGlobalDelete | ( | ) | const [inline] |
Definition at line 1661 of file ExprCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXDeleteExpr().
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.