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=0)
 OpaqueValueExpr (EmptyShell Empty)
SourceLocation getLocation () const
 Retrieve the location of this expression.
SourceRange getSourceRange () 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)
static bool classof (const OpaqueValueExpr *)

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 681 of file Expr.h.


Constructor & Destructor Documentation

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

Definition at line 687 of file Expr.h.

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

Definition at line 704 of file Expr.h.


Member Function Documentation

child_range clang::OpaqueValueExpr::children ( ) [inline]

Reimplemented from clang::Stmt.

Definition at line 719 of file Expr.h.

static bool clang::OpaqueValueExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 731 of file Expr.h.

References clang::Stmt::getStmtClass().

static bool clang::OpaqueValueExpr::classof ( const OpaqueValueExpr ) [inline, static]

Definition at line 734 of file Expr.h.

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 3290 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 714 of file Expr.h.

References clang::Expr::getExprLoc().

SourceLocation clang::OpaqueValueExpr::getLocation ( ) const [inline]

Retrieve the location of this expression.

Definition at line 708 of file Expr.h.

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 729 of file Expr.h.

Referenced by clang::BinaryConditionalOperator::BinaryConditionalOperator(), and stripOpaqueValuesFromPseudoObjectRef().

SourceRange clang::OpaqueValueExpr::getSourceRange ( ) const [inline]

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Reimplemented from clang::Stmt.

Definition at line 710 of file Expr.h.

References clang::Stmt::getSourceRange().


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 682 of file Expr.h.


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