class CastExpr

Declaration

class CastExpr : public Expr { /* full declaration omitted */ };

Description

CastExpr - Base class for type casts, including both implicit casts (ImplicitCastExpr) and explicit casts that have some representation in the source code (ExplicitCastExpr's derived classes).

Declared at: clang/include/clang/AST/Expr.h:3475

Inherits from: Expr

Member Variables

private clang::Stmt* Op

Inherited from Stmt:

protected

Method Overview

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

bool CastConsistency() const

Declared at: clang/include/clang/AST/Expr.h:3478

CastExpr(clang::Stmt::StmtClass SC,
         clang::QualType ty,
         clang::ExprValueKind VK,
         const clang::CastKind kind,
         clang::Expr* op,
         unsigned int BasePathSize,
         bool HasFPFeatures)

Declared at: clang/include/clang/AST/Expr.h:3488

Parameters

clang::Stmt::StmtClass SC
clang::QualType ty
clang::ExprValueKind VK
const clang::CastKind kind
clang::Expr* op
unsigned int BasePathSize
bool HasFPFeatures

CastExpr(clang::Stmt::StmtClass SC,
         clang::Stmt::EmptyShell Empty,
         unsigned int BasePathSize,
         bool HasFPFeatures)

Description

Construct an empty cast.

Declared at: clang/include/clang/AST/Expr.h:3501

Parameters

clang::Stmt::StmtClass SC
clang::Stmt::EmptyShell Empty
unsigned int BasePathSize
bool HasFPFeatures

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Expr.h:3596

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Expr.h:3595

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/Expr.h:3589

Parameters

const clang::Stmt* T

clang::CastKind getCastKind() const

Declared at: clang/include/clang/AST/Expr.h:3519

static const char* getCastKindName(
    clang::CastKind CK)

Declared at: clang/include/clang/AST/Expr.h:3522

Parameters

clang::CastKind CK

const char* getCastKindName() const

Declared at: clang/include/clang/AST/Expr.h:3523

clang::NamedDecl* getConversionFunction() const

Description

If this cast applies a user-defined conversion, retrieve the conversion function that it invokes.

Declared at: clang/include/clang/AST/Expr.h:3539

clang::FPOptionsOverride getFPFeatures() const

Declared at: clang/include/clang/AST/Expr.h:3578

clang::FPOptions getFPFeaturesInEffect(
    const clang::LangOptions& LO) const

Declared at: clang/include/clang/AST/Expr.h:3572

Parameters

const clang::LangOptions& LO

clang::FPOptionsOverride getStoredFPFeatures()
    const

Description

Get FPOptionsOverride from trailing storage.

Declared at: clang/include/clang/AST/Expr.h:3565

const clang::Expr* getSubExpr() const

Declared at: clang/include/clang/AST/Expr.h:3526

clang::Expr* getSubExpr()

Declared at: clang/include/clang/AST/Expr.h:3525

clang::Expr* getSubExprAsWritten()

Description

Retrieve the cast subexpression as it was written in the source code, looking through any implicit casts or other intermediate nodes introduced by semantic analysis.

Declared at: clang/include/clang/AST/Expr.h:3532

const clang::Expr* getSubExprAsWritten() const

Declared at: clang/include/clang/AST/Expr.h:3533

static const clang::FieldDecl*
getTargetFieldForToUnionCast(
    const clang::RecordDecl* RD,
    clang::QualType opType)

Declared at: clang/include/clang/AST/Expr.h:3586

Parameters

const clang::RecordDecl* RD
clang::QualType opType

static const clang::FieldDecl*
getTargetFieldForToUnionCast(
    clang::QualType unionType,
    clang::QualType opType)

Declared at: clang/include/clang/AST/Expr.h:3584

Parameters

clang::QualType unionType
clang::QualType opType

const clang::FieldDecl* getTargetUnionField()
    const

Declared at: clang/include/clang/AST/Expr.h:3557

const clang::FPOptionsOverride*
getTrailingFPFeatures() const

Declared at: clang/include/clang/AST/Expr.h:3514

clang::FPOptionsOverride* getTrailingFPFeatures()

Description

Return a pointer to the trailing FPOptions.

Declared at: clang/include/clang/AST/Expr.h:3513

bool hasStoredFPFeatures() const

Declared at: clang/include/clang/AST/Expr.h:3562

llvm::iterator_range<path_iterator> path()

Declared at: clang/include/clang/AST/Expr.h:3550

llvm::iterator_range<path_const_iterator> path()
    const

Declared at: clang/include/clang/AST/Expr.h:3553

clang::CastExpr::path_iterator path_begin()

Declared at: clang/include/clang/AST/Expr.h:3545

clang::CastExpr::path_const_iterator path_begin()
    const

Declared at: clang/include/clang/AST/Expr.h:3547

const clang::CXXBaseSpecifier* const*
path_buffer() const

Declared at: clang/include/clang/AST/Expr.h:3480

clang::CXXBaseSpecifier** path_buffer()

Declared at: clang/include/clang/AST/Expr.h:3483

bool path_empty() const

Declared at: clang/include/clang/AST/Expr.h:3543

clang::CastExpr::path_const_iterator path_end()
    const

Declared at: clang/include/clang/AST/Expr.h:3548

clang::CastExpr::path_iterator path_end()

Declared at: clang/include/clang/AST/Expr.h:3546

unsigned int path_size() const

Declared at: clang/include/clang/AST/Expr.h:3544

void setCastKind(clang::CastKind K)

Declared at: clang/include/clang/AST/Expr.h:3520

Parameters

clang::CastKind K

void setSubExpr(clang::Expr* E)

Declared at: clang/include/clang/AST/Expr.h:3527

Parameters

clang::Expr* E