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:

protected

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:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

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)

Declared at: clang/include/clang/AST/Expr.h:1153

Parameters

clang::Stmt::EmptyShell Empty

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Expr.h:1169

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Expr.h:1173

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)

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

Declared at: clang/include/clang/AST/Expr.h:1159

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Expr.h:1162

clang::SourceLocation getExprLoc() const

Declared at: clang/include/clang/AST/Expr.h:1165

clang::SourceLocation getLocation() const

Description

Retrieve the location of this expression.

Declared at: clang/include/clang/AST/Expr.h:1157

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

Declared at: clang/include/clang/AST/Expr.h:1193

void setIsUnique(bool V)

Declared at: clang/include/clang/AST/Expr.h:1187

Parameters

bool V