|
clang 22.0.0git
|
#include "clang/AST/VTableBuilder.h"
Classes | |
| struct | AddressPointLocation |
Public Types | |
| typedef std::pair< uint64_t, ThunkInfo > | VTableThunkTy |
| typedef llvm::DenseMap< BaseSubobject, AddressPointLocation > | AddressPointsMapTy |
| typedef llvm::SmallVector< unsigned, 4 > | AddressPointsIndexMapTy |
| using | VTableIndicesTy = llvm::SmallVector<std::size_t> |
Public Member Functions | |
| VTableLayout (VTableIndicesTy VTableIndices, ArrayRef< VTableComponent > VTableComponents, ArrayRef< VTableThunkTy > VTableThunks, const AddressPointsMapTy &AddressPoints) | |
| ~VTableLayout () | |
| ArrayRef< VTableComponent > | vtable_components () const |
| ArrayRef< VTableThunkTy > | vtable_thunks () const |
| AddressPointLocation | getAddressPoint (BaseSubobject Base) const |
| const AddressPointsMapTy & | getAddressPoints () const |
| const AddressPointsIndexMapTy & | getAddressPointIndices () const |
| size_t | getNumVTables () const |
| size_t | getVTableOffset (size_t i) const |
| size_t | getVTableSize (size_t i) const |
Definition at line 235 of file VTableBuilder.h.
Definition at line 247 of file VTableBuilder.h.
| typedef llvm::DenseMap<BaseSubobject, AddressPointLocation> clang::VTableLayout::AddressPointsMapTy |
Definition at line 242 of file VTableBuilder.h.
| using clang::VTableLayout::VTableIndicesTy = llvm::SmallVector<std::size_t> |
Definition at line 249 of file VTableBuilder.h.
| typedef std::pair<uint64_t, ThunkInfo> clang::VTableLayout::VTableThunkTy |
Definition at line 237 of file VTableBuilder.h.
| VTableLayout::VTableLayout | ( | VTableIndicesTy | VTableIndices, |
| ArrayRef< VTableComponent > | VTableComponents, | ||
| ArrayRef< VTableThunkTy > | VTableThunks, | ||
| const AddressPointsMapTy & | AddressPoints ) |
Definition at line 2309 of file VTableBuilder.cpp.
References MakeAddressPointIndices().
| VTableLayout::~VTableLayout | ( | ) |
Definition at line 2330 of file VTableBuilder.cpp.
|
inline |
Definition at line 283 of file VTableBuilder.h.
Referenced by BuildAppleKextVirtualCall(), clang::CodeGen::CodeGenVTables::EmitVTTDefinition(), and clang::CIRGen::CIRGenVTables::emitVTTDefinition().
|
inline |
Definition at line 292 of file VTableBuilder.h.
Referenced by clang::CIRGen::CIRGenVTables::createVTableInitializer(), and clang::CodeGen::CodeGenVTables::createVTableInitializer().
|
inline |
Definition at line 288 of file VTableBuilder.h.
Referenced by clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata().
|
inline |
Definition at line 296 of file VTableBuilder.h.
Referenced by clang::CodeGen::CodeGenVTables::createVTableInitializer(), clang::CIRGen::CIRGenVTables::getVTableType(), and clang::CodeGen::CodeGenVTables::getVTableType().
Definition at line 298 of file VTableBuilder.h.
Referenced by BuildAppleKextVirtualCall(), clang::CIRGen::CIRGenVTables::createVTableInitializer(), clang::CodeGen::CodeGenVTables::createVTableInitializer(), and clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata().
Definition at line 300 of file VTableBuilder.h.
References vtable_components().
Referenced by clang::CIRGen::CIRGenVTables::createVTableInitializer(), clang::CodeGen::CodeGenVTables::createVTableInitializer(), clang::CIRGen::CIRGenVTables::getVTableType(), and clang::CodeGen::CodeGenVTables::getVTableType().
|
inline |
Definition at line 275 of file VTableBuilder.h.
Referenced by clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), and getVTableSize().
|
inline |
Definition at line 279 of file VTableBuilder.h.