class CXXTypeidExpr
Declaration
class CXXTypeidExpr : public Expr { /* full declaration omitted */ };
Description
A C++ \c typeid expression (C++ [expr.typeid]), which gets the \c type_info that corresponds to the supplied type, or the (possibly dynamic) type of the supplied expression. This represents code like \c typeid(int) or \c typeid(*objPtr)
Declared at: clang/include/clang/AST/ExprCXX.h:839
Inherits from: Expr
Member Variables
- private llvm::PointerUnion<Stmt*, TypeSourceInfo*> Operand
- private clang::SourceRange Range
Inherited from Stmt:
Method Overview
- public CXXTypeidExpr(clang::QualType Ty, clang::TypeSourceInfo * Operand, clang::SourceRange R)
- public CXXTypeidExpr(clang::QualType Ty, clang::Expr * Operand, clang::SourceRange R)
- public CXXTypeidExpr(clang::Stmt::EmptyShell Empty, bool isExpr)
- public clang::Stmt::child_range children()
- public clang::Stmt::const_child_range children() const
- public static bool classof(const clang::Stmt * T)
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getEndLoc() const
- public clang::Expr * getExprOperand() const
- public clang::SourceRange getSourceRange() const
- public clang::QualType getTypeOperand(clang::ASTContext & Context) const
- public clang::TypeSourceInfo * getTypeOperandSourceInfo() const
- public bool isMostDerived(clang::ASTContext & Context) const
- public bool isPotentiallyEvaluated() const
- public bool isTypeOperand() const
- public void setSourceRange(clang::SourceRange R)
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
¶CXXTypeidExpr(clang::QualType Ty,
clang::TypeSourceInfo* Operand,
clang::SourceRange R)
CXXTypeidExpr(clang::QualType Ty,
clang::TypeSourceInfo* Operand,
clang::SourceRange R)
Declared at: clang/include/clang/AST/ExprCXX.h:847
Parameters
- clang::QualType Ty
- clang::TypeSourceInfo* Operand
- clang::SourceRange R
¶CXXTypeidExpr(clang::QualType Ty,
clang::Expr* Operand,
clang::SourceRange R)
CXXTypeidExpr(clang::QualType Ty,
clang::Expr* Operand,
clang::SourceRange R)
Declared at: clang/include/clang/AST/ExprCXX.h:853
Parameters
- clang::QualType Ty
- clang::Expr* Operand
- clang::SourceRange R
¶CXXTypeidExpr(clang::Stmt::EmptyShell Empty,
bool isExpr)
CXXTypeidExpr(clang::Stmt::EmptyShell Empty,
bool isExpr)
Declared at: clang/include/clang/AST/ExprCXX.h:859
Parameters
- clang::Stmt::EmptyShell Empty
- bool isExpr
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprCXX.h:901
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprCXX.h:908
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprCXX.h:896
Parameters
- const clang::Stmt* T
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:891
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:892
¶clang::Expr* getExprOperand() const
clang::Expr* getExprOperand() const
Declared at: clang/include/clang/AST/ExprCXX.h:886
¶clang::SourceRange getSourceRange() const
clang::SourceRange getSourceRange() const
Declared at: clang/include/clang/AST/ExprCXX.h:893
¶clang::QualType getTypeOperand(
clang::ASTContext& Context) const
clang::QualType getTypeOperand(
clang::ASTContext& Context) const
Description
Retrieves the type operand of this typeid() expression after various required adjustments (removing reference types, cv-qualifiers).
Declared at: clang/include/clang/AST/ExprCXX.h:879
Parameters
- clang::ASTContext& Context
¶clang::TypeSourceInfo* getTypeOperandSourceInfo()
const
clang::TypeSourceInfo* getTypeOperandSourceInfo()
const
Description
Retrieve source information for the type operand.
Declared at: clang/include/clang/AST/ExprCXX.h:882
¶bool isMostDerived(
clang::ASTContext& Context) const
bool isMostDerived(
clang::ASTContext& Context) const
Description
Best-effort check if the expression operand refers to a most derived object. This is not a strong guarantee.
Declared at: clang/include/clang/AST/ExprCXX.h:873
Parameters
- clang::ASTContext& Context
¶bool isPotentiallyEvaluated() const
bool isPotentiallyEvaluated() const
Description
Determine whether this typeid has a type operand which is potentially evaluated, per C++11 [expr.typeid]p3.
Declared at: clang/include/clang/AST/ExprCXX.h:869
¶bool isTypeOperand() const
bool isTypeOperand() const
Declared at: clang/include/clang/AST/ExprCXX.h:875
¶void setSourceRange(clang::SourceRange R)
void setSourceRange(clang::SourceRange R)
Declared at: clang/include/clang/AST/ExprCXX.h:894