clang 22.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CIRGen::CIRGenFunction::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/CIR/CodeGen/CIRGenFunction.h"

Public Member Functions

 OpaqueValueMapping (CIRGenFunction &cgf, const AbstractConditionalOperator *op)
 Build the opaque value mapping for the given conditional operator if it's the GNU ?: extension.
 
 OpaqueValueMapping (CIRGenFunction &cgf, const OpaqueValueExpr *ov)
 Build the opaque value mapping for an OpaqueValueExpr whose source expression is set to the expression the OVE represents.
 
 OpaqueValueMapping (CIRGenFunction &cgf, const OpaqueValueExpr *opaqueValue, LValue lvalue)
 
 OpaqueValueMapping (CIRGenFunction &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 225 of file CIRGenFunction.h.

Constructor & Destructor Documentation

◆ OpaqueValueMapping() [1/4]

clang::CIRGen::CIRGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CIRGenFunction 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 239 of file CIRGenFunction.h.

References clang::CIRGen::CIRGenFunction::OpaqueValueMappingData::bind(), clang::BinaryConditionalOperator::getCommon(), and clang::BinaryConditionalOperator::getOpaqueValue().

◆ OpaqueValueMapping() [2/4]

clang::CIRGen::CIRGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CIRGenFunction 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 254 of file CIRGenFunction.h.

References clang::CIRGen::CIRGenFunction::OpaqueValueMappingData::bind(), and clang::OpaqueValueExpr::getSourceExpr().

◆ OpaqueValueMapping() [3/4]

clang::CIRGen::CIRGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CIRGenFunction cgf,
const OpaqueValueExpr opaqueValue,
LValue  lvalue 
)
inline

Definition at line 263 of file CIRGenFunction.h.

◆ OpaqueValueMapping() [4/4]

clang::CIRGen::CIRGenFunction::OpaqueValueMapping::OpaqueValueMapping ( CIRGenFunction cgf,
const OpaqueValueExpr opaqueValue,
RValue  rvalue 
)
inline

Definition at line 268 of file CIRGenFunction.h.

◆ ~OpaqueValueMapping()

clang::CIRGen::CIRGenFunction::OpaqueValueMapping::~OpaqueValueMapping ( )
inline

Member Function Documentation

◆ pop()

void clang::CIRGen::CIRGenFunction::OpaqueValueMapping::pop ( )
inline

◆ shouldBindAsLValue()

static bool clang::CIRGen::CIRGenFunction::OpaqueValueMapping::shouldBindAsLValue ( const Expr expr)
inlinestatic

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