class OpaqueValueExpr
Declaration
class OpaqueValueExpr : public Expr { /* full declaration omitted */ };
Description
OpaqueValueExpr - An expression referring to an opaque object of a fixed type and value class. These don't correspond to concrete syntax; instead they're used to express operations (usually copy operations) on values whose source is generally obvious from context.
Declared at: clang/include/clang/AST/Expr.h:1135
Inherits from: Expr
Member Variables
- private clang::Expr* SourceExpr
Inherited from Stmt:
Method Overview
- public OpaqueValueExpr(clang::SourceLocation Loc, clang::QualType T, clang::ExprValueKind VK, clang::ExprObjectKind OK = OK_Ordinary, clang::Expr * SourceExpr = nullptr)
- public OpaqueValueExpr(clang::Stmt::EmptyShell Empty)
- public clang::Stmt::child_range children()
- public clang::Stmt::const_child_range children() const
- public static bool classof(const clang::Stmt * T)
- public static const clang::OpaqueValueExpr * findInCopyConstruct(const clang::Expr * expr)
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getEndLoc() const
- public clang::SourceLocation getExprLoc() const
- public clang::SourceLocation getLocation() const
- public clang::Expr * getSourceExpr() const
- public bool isUnique() const
- public void setIsUnique(bool V)
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
¶OpaqueValueExpr(
clang::SourceLocation Loc,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK = OK_Ordinary,
clang::Expr* SourceExpr = nullptr)
OpaqueValueExpr(
clang::SourceLocation Loc,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK = OK_Ordinary,
clang::Expr* SourceExpr = nullptr)
Declared at: clang/include/clang/AST/Expr.h:1140
Parameters
- clang::SourceLocation Loc
- clang::QualType T
- clang::ExprValueKind VK
- clang::ExprObjectKind OK = OK_Ordinary
- clang::Expr* SourceExpr = nullptr
¶OpaqueValueExpr(clang::Stmt::EmptyShell Empty)
OpaqueValueExpr(clang::Stmt::EmptyShell Empty)
Declared at: clang/include/clang/AST/Expr.h:1153
Parameters
- clang::Stmt::EmptyShell Empty
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Expr.h:1169
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Expr.h:1173
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/Expr.h:1195
Parameters
- const clang::Stmt* T
¶static const clang::OpaqueValueExpr*
findInCopyConstruct(const clang::Expr* expr)
static const clang::OpaqueValueExpr*
findInCopyConstruct(const clang::Expr* expr)
Description
Given an expression which invokes a copy constructor --- i.e. a CXXConstructExpr, possibly wrapped in an ExprWithCleanups --- find the OpaqueValueExpr that's the source of the construction.
Declared at: clang/include/clang/AST/Expr.h:1151
Parameters
- const clang::Expr* expr
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Expr.h:1159
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Expr.h:1162
¶clang::SourceLocation getExprLoc() const
clang::SourceLocation getExprLoc() const
Declared at: clang/include/clang/AST/Expr.h:1165
¶clang::SourceLocation getLocation() const
clang::SourceLocation getLocation() const
Description
Retrieve the location of this expression.
Declared at: clang/include/clang/AST/Expr.h:1157
¶clang::Expr* getSourceExpr() const
clang::Expr* getSourceExpr() const
Description
The source expression of an opaque value expression is the expression which originally generated the value. This is provided as a convenience for analyses that don't wish to precisely model the execution behavior of the program. The source expression is typically set when building the expression which binds the opaque value expression in the first place.
Declared at: clang/include/clang/AST/Expr.h:1185
¶bool isUnique() const
bool isUnique() const
Declared at: clang/include/clang/AST/Expr.h:1193
¶void setIsUnique(bool V)
void setIsUnique(bool V)
Declared at: clang/include/clang/AST/Expr.h:1187
Parameters
- bool V