clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::CodeGenFunction::OpaqueValueMapping Class Reference

An RAII object to set (and then clear) a mapping for an OpaqueValueExpr. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CodeGenFunction.h"

Public Member Functions

 OpaqueValueMapping (CodeGenFunction &CGF, const AbstractConditionalOperator *op)
 Build the opaque value mapping for the given conditional operator if it's the GNU ?: extension.
 
 OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *OV)
 Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents.
 
 OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *opaqueValue, LValue lvalue)
 
 OpaqueValueMapping (CodeGenFunction &CGF, const OpaqueValueExpr *opaqueValue, RValue rvalue)
 
void pop ()
 
 ~OpaqueValueMapping ()
 

Static Public Member Functions

static bool shouldBindAsLValue (const Expr *expr)
 

Detailed Description

An RAII object to set (and then clear) a mapping for an OpaqueValueExpr.

Definition at line 1430 of file CodeGenFunction.h.

Constructor & Destructor Documentation

◆ OpaqueValueMapping() [1/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CodeGenFunction CGF,
const AbstractConditionalOperator op 
)
inline

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.

Definition at line 1444 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::bind(), Data, clang::BinaryConditionalOperator::getCommon(), and clang::BinaryConditionalOperator::getOpaqueValue().

◆ OpaqueValueMapping() [2/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CodeGenFunction CGF,
const OpaqueValueExpr OV 
)
inline

Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents.

Definition at line 1457 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::bind(), Data, and clang::OpaqueValueExpr::getSourceExpr().

◆ OpaqueValueMapping() [3/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CodeGenFunction CGF,
const OpaqueValueExpr opaqueValue,
LValue  lvalue 
)
inline

Definition at line 1466 of file CodeGenFunction.h.

References Data.

◆ OpaqueValueMapping() [4/4]

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CodeGenFunction CGF,
const OpaqueValueExpr opaqueValue,
RValue  rvalue 
)
inline

Definition at line 1472 of file CodeGenFunction.h.

References Data.

◆ ~OpaqueValueMapping()

clang::CodeGen::CodeGenFunction::OpaqueValueMapping::~OpaqueValueMapping ( )
inline

Definition at line 1483 of file CodeGenFunction.h.

References Data.

Member Function Documentation

◆ pop()

void clang::CodeGen::CodeGenFunction::OpaqueValueMapping::pop ( )
inline

Definition at line 1478 of file CodeGenFunction.h.

References Data.

◆ shouldBindAsLValue()

static bool clang::CodeGen::CodeGenFunction::OpaqueValueMapping::shouldBindAsLValue ( const Expr expr)
inlinestatic

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