clang 24.0.0git
clang::interp::InitLink Struct Reference

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Compiler.h"

Public Types

enum  {
  K_This = 0 , K_Field = 1 , K_Base = 2 , K_Temp = 3 ,
  K_Decl = 4 , K_Elem = 6 , K_RVO = 7 , K_InitList = 8 ,
  K_DIE = 9
}

Public Member Functions

 InitLink (uint8_t Kind)
template<class Emitter>
bool emit (Compiler< Emitter > *Ctx, const Expr *E) const

Static Public Member Functions

static InitLink This ()
static InitLink InitList ()
static InitLink RVO ()
static InitLink DIE ()
static InitLink Field (unsigned Offset)
static InitLink Base (unsigned Offset)
static InitLink Temp (unsigned Offset)
static InitLink Decl (const ValueDecl *D)
static InitLink Elem (unsigned Index)

Public Attributes

uint32_t Kind
union { 
   unsigned   Offset 
   const ValueDecl *   D 
}; 

Detailed Description

Definition at line 44 of file Compiler.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
K_This 
K_Field 
K_Base 
K_Temp 
K_Decl 
K_Elem 
K_RVO 
K_InitList 
K_DIE 

Definition at line 46 of file Compiler.h.

Constructor & Destructor Documentation

◆ InitLink()

clang::interp::InitLink::InitLink ( uint8_t Kind)
inline

Definition at line 88 of file Compiler.h.

References Kind.

Referenced by Base(), Decl(), DIE(), Elem(), Field(), InitList(), RVO(), Temp(), and This().

Member Function Documentation

◆ Base()

InitLink clang::interp::InitLink::Base ( unsigned Offset)
inlinestatic

Definition at line 67 of file Compiler.h.

References InitLink(), K_Base, and Offset.

Referenced by clang::interp::Compiler< Emitter >::visitInitList().

◆ Decl()

◆ DIE()

InitLink clang::interp::InitLink::DIE ( )
inlinestatic

Definition at line 61 of file Compiler.h.

References InitLink(), and K_DIE.

Referenced by clang::interp::InitStackScope< Emitter >::InitStackScope().

◆ Elem()

InitLink clang::interp::InitLink::Elem ( unsigned Index)
inlinestatic

Definition at line 82 of file Compiler.h.

References InitLink(), K_Elem, and Offset.

Referenced by clang::interp::Compiler< Emitter >::visitArrayElemInit().

◆ emit()

template<class Emitter>
bool clang::interp::InitLink::emit ( Compiler< Emitter > * Ctx,
const Expr * E ) const

◆ Field()

InitLink clang::interp::InitLink::Field ( unsigned Offset)
inlinestatic

Definition at line 62 of file Compiler.h.

References InitLink(), K_Field, and Offset.

Referenced by clang::interp::Compiler< Emitter >::visitInitList().

◆ InitList()

InitLink clang::interp::InitLink::InitList ( )
inlinestatic

Definition at line 59 of file Compiler.h.

References InitLink(), and K_InitList.

Referenced by clang::interp::Compiler< Emitter >::visitInitList().

◆ RVO()

InitLink clang::interp::InitLink::RVO ( )
inlinestatic

Definition at line 60 of file Compiler.h.

References InitLink(), and K_RVO.

Referenced by clang::interp::Compiler< Emitter >::visitReturnStmt().

◆ Temp()

◆ This()

InitLink clang::interp::InitLink::This ( )
inlinestatic

Definition at line 58 of file Compiler.h.

References InitLink(), and K_This.

Member Data Documentation

◆ [union]

union { ... } clang::interp::InitLink

◆ D

const ValueDecl* clang::interp::InitLink::D

Definition at line 95 of file Compiler.h.

Referenced by Decl(), and emit().

◆ Kind

uint32_t clang::interp::InitLink::Kind

Definition at line 92 of file Compiler.h.

Referenced by emit(), and InitLink().

◆ Offset

unsigned clang::interp::InitLink::Offset

Definition at line 94 of file Compiler.h.

Referenced by Base(), Elem(), emit(), Field(), and Temp().


The documentation for this struct was generated from the following files: