clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::OpaqueValueExpr Class Reference

#include <Expr.h>

Inheritance diagram for clang::OpaqueValueExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::OpaqueValueExpr:
Collaboration graph
[legend]

List of all members.

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 ()
ExprgetSourceExpr () const

Static Public Member Functions

static const OpaqueValueExprfindInCopyConstruct (const Expr *expr)
static bool classof (const Stmt *T)

Friends

class ASTStmtReader

Detailed 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.

Definition at line 812 of file Expr.h.


Constructor & Destructor Documentation

clang::OpaqueValueExpr::OpaqueValueExpr ( SourceLocation  Loc,
QualType  T,
ExprValueKind  VK,
ExprObjectKind  OK = OK_Ordinary,
Expr SourceExpr = nullptr 
) [inline]

Definition at line 818 of file Expr.h.

clang::OpaqueValueExpr::OpaqueValueExpr ( EmptyShell  Empty) [inline, explicit]

Definition at line 835 of file Expr.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 852 of file Expr.h.

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().

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().

Retrieve the location of this expression.

Definition at line 839 of file Expr.h.

Reimplemented from clang::Stmt.

Definition at line 844 of file Expr.h.

References clang::Stmt::getLocEnd().

Reimplemented from clang::Stmt.

Definition at line 841 of file Expr.h.

References clang::Stmt::getLocStart().

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().


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 813 of file Expr.h.


The documentation for this class was generated from the following files: