clang  14.0.0git
Macros | Typedefs | Functions
ByteCodeEmitter.cpp File Reference
#include "ByteCodeEmitter.h"
#include "Context.h"
#include "Opcode.h"
#include "Program.h"
#include "clang/AST/DeclCXX.h"
#include <type_traits>
#include "Opcodes.inc"
Include dependency graph for ByteCodeEmitter.cpp:

Go to the source code of this file.

Macros

#define GET_LINK_IMPL
 

Typedefs

using APSInt = llvm::APSInt
 
using Error = llvm::Error
 

Functions

template<typename T >
static std::enable_if_t<!std::is_pointer< T >::value, void > emit (Program &P, std::vector< char > &Code, const T &Val, bool &Success)
 Helper to write bytecode and bail out if 32-bit offsets become invalid. More...
 
template<typename T >
static std::enable_if_t< std::is_pointer< T >::value, void > emit (Program &P, std::vector< char > &Code, const T &Val, bool &Success)
 

Macro Definition Documentation

◆ GET_LINK_IMPL

#define GET_LINK_IMPL

Definition at line 193 of file ByteCodeEmitter.cpp.

Typedef Documentation

◆ APSInt

using APSInt = llvm::APSInt

Definition at line 19 of file ByteCodeEmitter.cpp.

◆ Error

using Error = llvm::Error

Definition at line 20 of file ByteCodeEmitter.cpp.

Function Documentation

◆ emit() [1/2]

template<typename T >
static std::enable_if_t<!std::is_pointer<T>::value, void> emit ( Program P,
std::vector< char > &  Code,
const T &  Val,
bool Success 
)
static

Helper to write bytecode and bail out if 32-bit offsets become invalid.

Pointers will be automatically marshalled as 32-bit IDs.

Definition at line 130 of file ByteCodeEmitter.cpp.

References max().

◆ emit() [2/2]

template<typename T >
static std::enable_if_t<std::is_pointer<T>::value, void> emit ( Program P,
std::vector< char > &  Code,
const T &  Val,
bool Success 
)
static

Definition at line 143 of file ByteCodeEmitter.cpp.

References max(), and P.