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:
Method Overview
- private bool CastConsistency() const
- protected CastExpr(clang::Stmt::StmtClass SC, clang::QualType ty, clang::ExprValueKind VK, const clang::CastKind kind, clang::Expr * op, unsigned int BasePathSize, bool HasFPFeatures)
- protected CastExpr(clang::Stmt::StmtClass SC, clang::Stmt::EmptyShell Empty, unsigned int BasePathSize, bool HasFPFeatures)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public clang::CastKind getCastKind() const
- public static const char * getCastKindName(clang::CastKind CK)
- public const char * getCastKindName() const
- public clang::NamedDecl * getConversionFunction() const
- public clang::FPOptionsOverride getFPFeatures() const
- public clang::FPOptions getFPFeaturesInEffect(const clang::LangOptions & LO) const
- public clang::FPOptionsOverride getStoredFPFeatures() const
- public const clang::Expr * getSubExpr() const
- public clang::Expr * getSubExpr()
- public clang::Expr * getSubExprAsWritten()
- public const clang::Expr * getSubExprAsWritten() const
- public static const clang::FieldDecl * getTargetFieldForToUnionCast(const clang::RecordDecl * RD, clang::QualType opType)
- public static const clang::FieldDecl * getTargetFieldForToUnionCast(clang::QualType unionType, clang::QualType opType)
- public const clang::FieldDecl * getTargetUnionField() const
- protected const clang::FPOptionsOverride * getTrailingFPFeatures() const
- protected clang::FPOptionsOverride * getTrailingFPFeatures()
- public bool hasStoredFPFeatures() const
- public llvm::iterator_range<path_iterator> path()
- public llvm::iterator_range<path_const_iterator> path() const
- public clang::CastExpr::path_iterator path_begin()
- public clang::CastExpr::path_const_iterator path_begin() const
- private const clang::CXXBaseSpecifier *const * path_buffer() const
- private clang::CXXBaseSpecifier ** path_buffer()
- public bool path_empty() const
- public clang::CastExpr::path_const_iterator path_end() const
- public clang::CastExpr::path_iterator path_end()
- public unsigned int path_size() const
- public void setCastKind(clang::CastKind K)
- public void setSubExpr(clang::Expr * E)
Inherited from Expr:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
Methods
¶bool CastConsistency() const
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)
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)
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
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Expr.h:3596
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Expr.h:3595
¶static bool classof(const clang::Stmt* T)
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
clang::CastKind getCastKind() const
Declared at: clang/include/clang/AST/Expr.h:3519
¶static const char* getCastKindName(
clang::CastKind CK)
static const char* getCastKindName(
clang::CastKind CK)
Declared at: clang/include/clang/AST/Expr.h:3522
Parameters
- clang::CastKind CK
¶const char* getCastKindName() const
const char* getCastKindName() const
Declared at: clang/include/clang/AST/Expr.h:3523
¶clang::NamedDecl* getConversionFunction() const
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
clang::FPOptionsOverride getFPFeatures() const
Declared at: clang/include/clang/AST/Expr.h:3578
¶clang::FPOptions getFPFeaturesInEffect(
const clang::LangOptions& LO) const
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
clang::FPOptionsOverride getStoredFPFeatures()
const
Description
Get FPOptionsOverride from trailing storage.
Declared at: clang/include/clang/AST/Expr.h:3565
¶const clang::Expr* getSubExpr() const
const clang::Expr* getSubExpr() const
Declared at: clang/include/clang/AST/Expr.h:3526
¶clang::Expr* getSubExpr()
clang::Expr* getSubExpr()
Declared at: clang/include/clang/AST/Expr.h:3525
¶clang::Expr* getSubExprAsWritten()
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
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)
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)
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
const clang::FieldDecl* getTargetUnionField()
const
Declared at: clang/include/clang/AST/Expr.h:3557
¶const clang::FPOptionsOverride*
getTrailingFPFeatures() const
const clang::FPOptionsOverride*
getTrailingFPFeatures() const
Declared at: clang/include/clang/AST/Expr.h:3514
¶clang::FPOptionsOverride* getTrailingFPFeatures()
clang::FPOptionsOverride* getTrailingFPFeatures()
Description
Return a pointer to the trailing FPOptions.
Declared at: clang/include/clang/AST/Expr.h:3513
¶bool hasStoredFPFeatures() const
bool hasStoredFPFeatures() const
Declared at: clang/include/clang/AST/Expr.h:3562
¶llvm::iterator_range<path_iterator> path()
llvm::iterator_range<path_iterator> path()
Declared at: clang/include/clang/AST/Expr.h:3550
¶llvm::iterator_range<path_const_iterator> path()
const
llvm::iterator_range<path_const_iterator> path()
const
Declared at: clang/include/clang/AST/Expr.h:3553
¶clang::CastExpr::path_iterator path_begin()
clang::CastExpr::path_iterator path_begin()
Declared at: clang/include/clang/AST/Expr.h:3545
¶clang::CastExpr::path_const_iterator path_begin()
const
clang::CastExpr::path_const_iterator path_begin()
const
Declared at: clang/include/clang/AST/Expr.h:3547
¶const clang::CXXBaseSpecifier* const*
path_buffer() const
const clang::CXXBaseSpecifier* const*
path_buffer() const
Declared at: clang/include/clang/AST/Expr.h:3480
¶clang::CXXBaseSpecifier** path_buffer()
clang::CXXBaseSpecifier** path_buffer()
Declared at: clang/include/clang/AST/Expr.h:3483
¶bool path_empty() const
bool path_empty() const
Declared at: clang/include/clang/AST/Expr.h:3543
¶clang::CastExpr::path_const_iterator path_end()
const
clang::CastExpr::path_const_iterator path_end()
const
Declared at: clang/include/clang/AST/Expr.h:3548
¶clang::CastExpr::path_iterator path_end()
clang::CastExpr::path_iterator path_end()
Declared at: clang/include/clang/AST/Expr.h:3546
¶unsigned int path_size() const
unsigned int path_size() const
Declared at: clang/include/clang/AST/Expr.h:3544
¶void setCastKind(clang::CastKind K)
void setCastKind(clang::CastKind K)
Declared at: clang/include/clang/AST/Expr.h:3520
Parameters
- clang::CastKind K
¶void setSubExpr(clang::Expr* E)
void setSubExpr(clang::Expr* E)
Declared at: clang/include/clang/AST/Expr.h:3527
Parameters
- clang::Expr* E