class ChooseExpr
Declaration
class ChooseExpr : public Expr { /* full declaration omitted */ };
Description
ChooseExpr - GNU builtin-in function __builtin_choose_expr. This AST node is similar to the conditional operator (?:) in C, with the following exceptions: - the test expression must be a integer constant expression. - the expression returned acts like the chosen subexpression in every visible way: the type is the same as that of the chosen subexpression, and all predicates (whether it's an l-value, whether it's an integer constant expression, etc.) return the same result as for the chosen sub-expression.
Declared at: clang/include/clang/AST/Expr.h:4524
Inherits from: Expr
Member Variables
- private clang::Stmt* [3] SubExprs
- private clang::SourceLocation BuiltinLoc
- private clang::SourceLocation RParenLoc
- private bool CondIsTrue
Inherited from Stmt:
Method Overview
- public ChooseExpr(clang::Stmt::EmptyShell Empty)
- public ChooseExpr(clang::SourceLocation BLoc, clang::Expr * cond, clang::Expr * lhs, clang::Expr * rhs, clang::QualType t, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation RP, bool condIsTrue)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getBuiltinLoc() const
- public clang::Expr * getChosenSubExpr() const
- public clang::Expr * getCond() const
- public clang::SourceLocation getEndLoc() const
- public clang::Expr * getLHS() const
- public clang::Expr * getRHS() const
- public clang::SourceLocation getRParenLoc() const
- public bool isConditionDependent() const
- public bool isConditionTrue() const
- public void setBuiltinLoc(clang::SourceLocation L)
- public void setCond(clang::Expr * E)
- public void setIsConditionTrue(bool isTrue)
- public void setLHS(clang::Expr * E)
- public void setRHS(clang::Expr * E)
- public void setRParenLoc(clang::SourceLocation L)
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
¶ChooseExpr(clang::Stmt::EmptyShell Empty)
ChooseExpr(clang::Stmt::EmptyShell Empty)
Description
Build an empty __builtin_choose_expr.
Declared at: clang/include/clang/AST/Expr.h:4543
Parameters
- clang::Stmt::EmptyShell Empty
¶ChooseExpr(clang::SourceLocation BLoc,
clang::Expr* cond,
clang::Expr* lhs,
clang::Expr* rhs,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation RP,
bool condIsTrue)
ChooseExpr(clang::SourceLocation BLoc,
clang::Expr* cond,
clang::Expr* lhs,
clang::Expr* rhs,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation RP,
bool condIsTrue)
Declared at: clang/include/clang/AST/Expr.h:4530
Parameters
- clang::SourceLocation BLoc
- clang::Expr* cond
- clang::Expr* lhs
- clang::Expr* rhs
- clang::QualType t
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation RP
- bool condIsTrue
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Expr.h:4588
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Expr.h:4585
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/Expr.h:4580
Parameters
- const clang::Stmt* T
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Expr.h:4577
¶clang::SourceLocation getBuiltinLoc() const
clang::SourceLocation getBuiltinLoc() const
Declared at: clang/include/clang/AST/Expr.h:4571
¶clang::Expr* getChosenSubExpr() const
clang::Expr* getChosenSubExpr() const
Description
getChosenSubExpr - Return the subexpression chosen according to the condition.
Declared at: clang/include/clang/AST/Expr.h:4560
¶clang::Expr* getCond() const
clang::Expr* getCond() const
Declared at: clang/include/clang/AST/Expr.h:4564
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Expr.h:4578
¶clang::Expr* getLHS() const
clang::Expr* getLHS() const
Declared at: clang/include/clang/AST/Expr.h:4566
¶clang::Expr* getRHS() const
clang::Expr* getRHS() const
Declared at: clang/include/clang/AST/Expr.h:4568
¶clang::SourceLocation getRParenLoc() const
clang::SourceLocation getRParenLoc() const
Declared at: clang/include/clang/AST/Expr.h:4574
¶bool isConditionDependent() const
bool isConditionDependent() const
Declared at: clang/include/clang/AST/Expr.h:4554
¶bool isConditionTrue() const
bool isConditionTrue() const
Description
isConditionTrue - Return whether the condition is true (i.e. not equal to zero).
Declared at: clang/include/clang/AST/Expr.h:4547
¶void setBuiltinLoc(clang::SourceLocation L)
void setBuiltinLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Expr.h:4572
Parameters
¶void setCond(clang::Expr* E)
void setCond(clang::Expr* E)
Declared at: clang/include/clang/AST/Expr.h:4565
Parameters
- clang::Expr* E
¶void setIsConditionTrue(bool isTrue)
void setIsConditionTrue(bool isTrue)
Declared at: clang/include/clang/AST/Expr.h:4552
Parameters
- bool isTrue
¶void setLHS(clang::Expr* E)
void setLHS(clang::Expr* E)
Declared at: clang/include/clang/AST/Expr.h:4567
Parameters
- clang::Expr* E
¶void setRHS(clang::Expr* E)
void setRHS(clang::Expr* E)
Declared at: clang/include/clang/AST/Expr.h:4569
Parameters
- clang::Expr* E
¶void setRParenLoc(clang::SourceLocation L)
void setRParenLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Expr.h:4575