class CodeGenFunction::OpaqueValueMapping
Declaration
class CodeGenFunction::OpaqueValueMapping { /* full declaration omitted */ };
Description
An RAII object to set (and then clear) a mapping for an OpaqueValueExpr.
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1330
Member Variables
- private clang::CodeGen::CodeGenFunction& CGF
- private clang::CodeGen::CodeGenFunction:: OpaqueValueMappingData Data
Method Overview
- public OpaqueValueMapping(clang::CodeGen::CodeGenFunction & CGF, const clang::AbstractConditionalOperator * op)
- public OpaqueValueMapping(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * OV)
- public OpaqueValueMapping(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * opaqueValue, clang::CodeGen::LValue lvalue)
- public OpaqueValueMapping(clang::CodeGen::CodeGenFunction & CGF, const clang::OpaqueValueExpr * opaqueValue, clang::CodeGen::RValue rvalue)
- public void pop()
- public static bool shouldBindAsLValue(const clang::Expr * expr)
- public ~OpaqueValueMapping()
Methods
¶OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::AbstractConditionalOperator* op)
OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::AbstractConditionalOperator* op)
Description
Build the opaque value mapping for the given conditional operator if it's the GNU ?: extension. This is a common enough pattern that the convenience operator is really helpful.
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1344
Parameters
¶OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* OV)
OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* OV)
Description
Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents.
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1357
Parameters
- clang::CodeGen::CodeGenFunction& CGF
- const clang::OpaqueValueExpr* OV
¶OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* opaqueValue,
clang::CodeGen::LValue lvalue)
OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* opaqueValue,
clang::CodeGen::LValue lvalue)
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1366
Parameters
- clang::CodeGen::CodeGenFunction& CGF
- const clang::OpaqueValueExpr* opaqueValue
- clang::CodeGen::LValue lvalue
¶OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* opaqueValue,
clang::CodeGen::RValue rvalue)
OpaqueValueMapping(
clang::CodeGen::CodeGenFunction& CGF,
const clang::OpaqueValueExpr* opaqueValue,
clang::CodeGen::RValue rvalue)
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1372
Parameters
- clang::CodeGen::CodeGenFunction& CGF
- const clang::OpaqueValueExpr* opaqueValue
- clang::CodeGen::RValue rvalue
¶void pop()
void pop()
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1378
¶static bool shouldBindAsLValue(
const clang::Expr* expr)
static bool shouldBindAsLValue(
const clang::Expr* expr)
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1335
Parameters
- const clang::Expr* expr
¶~OpaqueValueMapping()
~OpaqueValueMapping()
Declared at: clang/lib/CodeGen/CodeGenFunction.h:1383