class CodeGenFunction::OpaqueValueMappingData

Declaration

class CodeGenFunction::OpaqueValueMappingData { /* full declaration omitted */ };

Description

A non-RAII class containing all the information about a bound opaque value. OpaqueValueMapping, below, is a RAII wrapper for this which makes individual mappings very simple; using this class directly is useful when you have a variable number of opaque values or don't want the RAII functionality for some reason.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1260

Member Variables

private const clang::OpaqueValueExpr* OpaqueValue
private bool BoundLValue
private CodeGenFunction::PeepholeProtection Protection

Method Overview

  • private OpaqueValueMappingData(const clang::OpaqueValueExpr * ov, bool boundLValue)
  • public OpaqueValueMappingData()
  • public static clang::CodeGen::CodeGenFunction::OpaqueValueMappingData bind(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * ov, const clang::Expr * e)
  • public static clang::CodeGen::CodeGenFunction::OpaqueValueMappingData bind(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * ov, const clang::CodeGen::LValue & lv)
  • public static clang::CodeGen::CodeGenFunction::OpaqueValueMappingData bind(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * ov, const clang::CodeGen::RValue & rv)
  • public void clear()
  • public bool isValid() const
  • public static bool shouldBindAsLValue(const clang::Expr * expr)
  • public void unbind(clang::CodeGen::CodeGenFunction & CGF)

Methods

OpaqueValueMappingData(
    const clang::OpaqueValueExpr* ov,
    bool boundLValue)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1265

Parameters

const clang::OpaqueValueExpr* ov
bool boundLValue

OpaqueValueMappingData()

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1269

static clang::CodeGen::CodeGenFunction::
    OpaqueValueMappingData
    bind(clang::CodeGen::CodeGenFunction& CGF,
         const clang::OpaqueValueExpr* ov,
         const clang::Expr* e)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1282

Parameters

clang::CodeGen::CodeGenFunction& CGF
const clang::OpaqueValueExpr* ov
const clang::Expr* e

static clang::CodeGen::CodeGenFunction::
    OpaqueValueMappingData
    bind(clang::CodeGen::CodeGenFunction& CGF,
         const clang::OpaqueValueExpr* ov,
         const clang::CodeGen::LValue& lv)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1290

Parameters

clang::CodeGen::CodeGenFunction& CGF
const clang::OpaqueValueExpr* ov
const clang::CodeGen::LValue& lv

static clang::CodeGen::CodeGenFunction::
    OpaqueValueMappingData
    bind(clang::CodeGen::CodeGenFunction& CGF,
         const clang::OpaqueValueExpr* ov,
         const clang::CodeGen::RValue& rv)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1298

Parameters

clang::CodeGen::CodeGenFunction& CGF
const clang::OpaqueValueExpr* ov
const clang::CodeGen::RValue& rv

void clear()

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1315

bool isValid() const

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1314

static bool shouldBindAsLValue(
    const clang::Expr* expr)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1271

Parameters

const clang::Expr* expr

void unbind(clang::CodeGen::CodeGenFunction& CGF)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:1317

Parameters

clang::CodeGen::CodeGenFunction& CGF