clang API Documentation

Public Member Functions | Static Public Member Functions
clang::CXXTypeidExpr Class Reference

#include <ExprCXX.h>

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

List of all members.

Public Member Functions

 CXXTypeidExpr (QualType Ty, TypeSourceInfo *Operand, SourceRange R)
 CXXTypeidExpr (QualType Ty, Expr *Operand, SourceRange R)
 CXXTypeidExpr (EmptyShell Empty, bool isExpr)
bool isTypeOperand () const
QualType getTypeOperand () const
 Retrieves the type operand of this typeid() expression after various required adjustments (removing reference types, cv-qualifiers).
TypeSourceInfogetTypeOperandSourceInfo () const
 Retrieve source information for the type operand.
void setTypeOperandSourceInfo (TypeSourceInfo *TSI)
ExprgetExprOperand () const
void setExprOperand (Expr *E)
SourceRange getSourceRange () const LLVM_READONLY
void setSourceRange (SourceRange R)
child_range children ()

Static Public Member Functions

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

Detailed Description

CXXTypeidExpr - A C++ typeid expression (C++ [expr.typeid]), which gets the type_info that corresponds to the supplied type, or the (possibly dynamic) type of the supplied expression.

This represents code like typeid(int) or typeid(*objPtr)

Definition at line 467 of file ExprCXX.h.


Constructor & Destructor Documentation

clang::CXXTypeidExpr::CXXTypeidExpr ( QualType  Ty,
TypeSourceInfo Operand,
SourceRange  R 
) [inline]

Definition at line 473 of file ExprCXX.h.

clang::CXXTypeidExpr::CXXTypeidExpr ( QualType  Ty,
Expr Operand,
SourceRange  R 
) [inline]

Definition at line 483 of file ExprCXX.h.

clang::CXXTypeidExpr::CXXTypeidExpr ( EmptyShell  Empty,
bool  isExpr 
) [inline]

Definition at line 493 of file ExprCXX.h.


Member Function Documentation

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

Reimplemented from clang::Stmt.

Definition at line 537 of file ExprCXX.h.

References isTypeOperand().

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

Reimplemented from clang::Expr.

Definition at line 531 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

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

Definition at line 534 of file ExprCXX.h.

Expr* clang::CXXTypeidExpr::getExprOperand ( ) const [inline]
SourceRange clang::CXXTypeidExpr::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 528 of file ExprCXX.h.

QualType CXXTypeidExpr::getTypeOperand ( ) const

Retrieves the type operand of this typeid() expression after various required adjustments (removing reference types, cv-qualifiers).

Definition at line 26 of file ExprCXX.cpp.

References clang::QualType::getNonReferenceType(), clang::Expr::getType(), clang::QualType::getUnqualifiedType(), and isTypeOperand().

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

TypeSourceInfo* clang::CXXTypeidExpr::getTypeOperandSourceInfo ( ) const [inline]

Retrieve source information for the type operand.

Definition at line 508 of file ExprCXX.h.

References isTypeOperand().

bool clang::CXXTypeidExpr::isTypeOperand ( ) const [inline]
void clang::CXXTypeidExpr::setExprOperand ( Expr E) [inline]

Definition at line 523 of file ExprCXX.h.

References isTypeOperand().

void clang::CXXTypeidExpr::setSourceRange ( SourceRange  R) [inline]

Definition at line 529 of file ExprCXX.h.

void clang::CXXTypeidExpr::setTypeOperandSourceInfo ( TypeSourceInfo TSI) [inline]

Definition at line 513 of file ExprCXX.h.

References isTypeOperand().


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