clang API Documentation

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

#include <ExprCXX.h>

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

List of all members.

Public Member Functions

 CXXThrowExpr (Expr *expr, QualType Ty, SourceLocation l, bool IsThrownVariableInScope)
 CXXThrowExpr (EmptyShell Empty)
const ExprgetSubExpr () const
ExprgetSubExpr ()
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

Detailed Description

CXXThrowExpr - [C++ 15] C++ Throw Expression. This handles 'throw' and 'throw' assignment-expression. When assignment-expression isn't present, Op will be null.

Definition at line 667 of file ExprCXX.h.


Constructor & Destructor Documentation

clang::CXXThrowExpr::CXXThrowExpr ( Expr expr,
QualType  Ty,
SourceLocation  l,
bool  IsThrownVariableInScope 
) [inline]

Definition at line 679 of file ExprCXX.h.

clang::CXXThrowExpr::CXXThrowExpr ( EmptyShell  Empty) [inline]

Definition at line 685 of file ExprCXX.h.


Member Function Documentation

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

Reimplemented from clang::Stmt.

Definition at line 711 of file ExprCXX.h.

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]

Definition at line 708 of file ExprCXX.h.

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().

Expr* clang::CXXThrowExpr::getSubExpr ( ) [inline]

Definition at line 688 of file ExprCXX.h.

SourceLocation clang::CXXThrowExpr::getThrowLoc ( ) const [inline]

Definition at line 690 of file ExprCXX.h.

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.

Definition at line 697 of file ExprCXX.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 673 of file ExprCXX.h.


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