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)
OpaqueValueMappingData(
const clang::OpaqueValueExpr* ov,
bool boundLValue)
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1265
Parameters
- const clang::OpaqueValueExpr* ov
- bool boundLValue
¶OpaqueValueMappingData()
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)
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)
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)
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()
void clear()
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1315
¶bool isValid() const
bool isValid() const
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1314
¶static bool shouldBindAsLValue(
const clang::Expr* expr)
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)
void unbind(clang::CodeGen::CodeGenFunction& CGF)
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1317