clang API Documentation
#include <ExprCXX.h>


Public Member Functions | |
| CXXThrowExpr (Expr *expr, QualType Ty, SourceLocation l, bool IsThrownVariableInScope) | |
| CXXThrowExpr (EmptyShell Empty) | |
| const Expr * | getSubExpr () const |
| Expr * | getSubExpr () |
| SourceLocation | getThrowLoc () const |
| bool | isThrownVariableInScope () const |
| Determines whether the variable thrown by this expression (if any!) is within the innermost try block. | |
| SourceRange | getSourceRange () const LLVM_READONLY |
| child_range | children () |
Static Public Member Functions | |
| static bool | classof (const Stmt *T) |
| static bool | classof (const CXXThrowExpr *) |
Friends | |
| class | ASTStmtReader |
CXXThrowExpr - [C++ 15] C++ Throw Expression. This handles 'throw' and 'throw' assignment-expression. When assignment-expression isn't present, Op will be null.
| clang::CXXThrowExpr::CXXThrowExpr | ( | Expr * | expr, |
| QualType | Ty, | ||
| SourceLocation | l, | ||
| bool | IsThrownVariableInScope | ||
| ) | [inline] |
| clang::CXXThrowExpr::CXXThrowExpr | ( | EmptyShell | Empty | ) | [inline] |
| child_range clang::CXXThrowExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
| static bool clang::CXXThrowExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 705 of file ExprCXX.h.
References clang::Stmt::getStmtClass().
| static bool clang::CXXThrowExpr::classof | ( | const CXXThrowExpr * | ) | [inline, static] |
| SourceRange clang::CXXThrowExpr::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 699 of file ExprCXX.h.
References getSubExpr().
| const Expr* clang::CXXThrowExpr::getSubExpr | ( | ) | const [inline] |
Definition at line 687 of file ExprCXX.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), and getSourceRange().
| SourceLocation clang::CXXThrowExpr::getThrowLoc | ( | ) | const [inline] |
| bool clang::CXXThrowExpr::isThrownVariableInScope | ( | ) | const [inline] |
Determines whether the variable thrown by this expression (if any!) is within the innermost try block.
This information is required to determine whether the NRVO can apply to this variable.
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.