clang API Documentation

clang::CXXBindReferenceExpr Class Reference

#include <ExprCXX.h>

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

List of all members.

Public Member Functions

 CXXBindReferenceExpr (EmptyShell Empty)
const ExprgetSubExpr () const
ExprgetSubExpr ()
void setSubExpr (Expr *E)
virtual SourceRange getSourceRange () const
bool requiresTemporaryCopy () const
bool extendsLifetime () const
virtual child_iterator child_begin ()
virtual child_iterator child_end ()

Static Public Member Functions

static CXXBindReferenceExprCreate (ASTContext &C, Expr *SubExpr, bool ExtendsLifetime, bool RequiresTemporaryCopy)
static bool classof (const Stmt *T)
static bool classof (const CXXBindReferenceExpr *)

Friends

class ASTStmtReader

Detailed Description

CXXBindReferenceExpr - Represents binding an expression to a reference. In the example:

const int &i = 10;

a bind reference expression is inserted to indicate that 10 is bound to a reference, and that a temporary needs to be created to hold the value.

Definition at line 642 of file ExprCXX.h.


Constructor & Destructor Documentation

clang::CXXBindReferenceExpr::CXXBindReferenceExpr ( EmptyShell  Empty  )  [inline, explicit]

Definition at line 665 of file ExprCXX.h.


Member Function Documentation

Stmt::child_iterator CXXBindReferenceExpr::child_begin (  )  [virtual]

Implements clang::Stmt.

Definition at line 774 of file ExprCXX.cpp.

Stmt::child_iterator CXXBindReferenceExpr::child_end (  )  [virtual]

Implements clang::Stmt.

Definition at line 778 of file ExprCXX.cpp.

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

Definition at line 688 of file ExprCXX.h.

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

Reimplemented from clang::Expr.

Definition at line 685 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

CXXBindReferenceExpr * CXXBindReferenceExpr::Create ( ASTContext C,
Expr SubExpr,
bool  ExtendsLifetime,
bool  RequiresTemporaryCopy 
) [static]

Definition at line 680 of file ExprCXX.cpp.

bool clang::CXXBindReferenceExpr::extendsLifetime (  )  const [inline]

Definition at line 682 of file ExprCXX.h.

Referenced by clang::ASTStmtWriter::VisitCXXBindReferenceExpr().

virtual SourceRange clang::CXXBindReferenceExpr::getSourceRange (  )  const [inline, virtual]

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.

Implements clang::Expr.

Definition at line 672 of file ExprCXX.h.

References clang::Expr::getSourceRange().

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

Definition at line 669 of file ExprCXX.h.

const Expr* clang::CXXBindReferenceExpr::getSubExpr (  )  const [inline]

Definition at line 668 of file ExprCXX.h.

Referenced by clang::ASTStmtWriter::VisitCXXBindReferenceExpr().

bool clang::CXXBindReferenceExpr::requiresTemporaryCopy (  )  const [inline]

requiresTemporaryCopy - Whether binding the subexpression requires a temporary copy.

Definition at line 678 of file ExprCXX.h.

Referenced by clang::ASTStmtWriter::VisitCXXBindReferenceExpr().

void clang::CXXBindReferenceExpr::setSubExpr ( Expr E  )  [inline]

Definition at line 670 of file ExprCXX.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Definition at line 694 of file ExprCXX.h.


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