clang API Documentation
#include <Expr.h>
Public Member Functions | |
OpaqueValueExpr (SourceLocation Loc, QualType T, ExprValueKind VK, ExprObjectKind OK=OK_Ordinary, Expr *SourceExpr=nullptr) | |
OpaqueValueExpr (EmptyShell Empty) | |
SourceLocation | getLocation () const |
Retrieve the location of this expression. | |
SourceLocation | getLocStart () const LLVM_READONLY |
SourceLocation | getLocEnd () const LLVM_READONLY |
SourceLocation | getExprLoc () const LLVM_READONLY |
child_range | children () |
Expr * | getSourceExpr () const |
Static Public Member Functions | |
static const OpaqueValueExpr * | findInCopyConstruct (const Expr *expr) |
static bool | classof (const Stmt *T) |
Friends | |
class | ASTStmtReader |
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.
clang::OpaqueValueExpr::OpaqueValueExpr | ( | SourceLocation | Loc, |
QualType | T, | ||
ExprValueKind | VK, | ||
ExprObjectKind | OK = OK_Ordinary , |
||
Expr * | SourceExpr = nullptr |
||
) | [inline] |
clang::OpaqueValueExpr::OpaqueValueExpr | ( | EmptyShell | Empty | ) | [inline, explicit] |
child_range clang::OpaqueValueExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
static bool clang::OpaqueValueExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 864 of file Expr.h.
References clang::Stmt::getStmtClass().
const OpaqueValueExpr * OpaqueValueExpr::findInCopyConstruct | ( | const Expr * | expr | ) | [static] |
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.
Definition at line 3966 of file Expr.cpp.
Referenced by InitCatchParam().
SourceLocation clang::OpaqueValueExpr::getExprLoc | ( | ) | const [inline] |
getExprLoc - Return the preferred location for the arrow when diagnosing a problem with a generic expression.
Reimplemented from clang::Expr.
Definition at line 847 of file Expr.h.
References clang::Expr::getExprLoc().
SourceLocation clang::OpaqueValueExpr::getLocation | ( | ) | const [inline] |
SourceLocation clang::OpaqueValueExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Definition at line 844 of file Expr.h.
References clang::Stmt::getLocEnd().
SourceLocation clang::OpaqueValueExpr::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
Definition at line 841 of file Expr.h.
References clang::Stmt::getLocStart().
Expr* clang::OpaqueValueExpr::getSourceExpr | ( | ) | const [inline] |
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.
Definition at line 862 of file Expr.h.
Referenced by clang::BinaryConditionalOperator::BinaryConditionalOperator(), BuildParentMap(), stripOpaqueValuesFromPseudoObjectRef(), and clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy().
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.