clang  6.0.0svn
Classes | Public Types | Public Member Functions | List of all members
clang::VTableLayout Class Reference

#include "clang/AST/VTableBuilder.h"

Classes

struct  AddressPointLocation
 

Public Types

typedef std::pair< uint64_t, ThunkInfoVTableThunkTy
 
typedef llvm::DenseMap< BaseSubobject, AddressPointLocationAddressPointsMapTy
 

Public Member Functions

 VTableLayout (ArrayRef< size_t > VTableIndices, ArrayRef< VTableComponent > VTableComponents, ArrayRef< VTableThunkTy > VTableThunks, const AddressPointsMapTy &AddressPoints)
 
 ~VTableLayout ()
 
ArrayRef< VTableComponentvtable_components () const
 
ArrayRef< VTableThunkTyvtable_thunks () const
 
AddressPointLocation getAddressPoint (BaseSubobject Base) const
 
const AddressPointsMapTygetAddressPoints () const
 
size_t getNumVTables () const
 
size_t getVTableOffset (size_t i) const
 
size_t getVTableSize (size_t i) const
 

Detailed Description

Definition at line 240 of file VTableBuilder.h.

Member Typedef Documentation

◆ AddressPointsMapTy

Definition at line 247 of file VTableBuilder.h.

◆ VTableThunkTy

typedef std::pair<uint64_t, ThunkInfo> clang::VTableLayout::VTableThunkTy

Definition at line 242 of file VTableBuilder.h.

Constructor & Destructor Documentation

◆ VTableLayout()

VTableLayout::VTableLayout ( ArrayRef< size_t VTableIndices,
ArrayRef< VTableComponent VTableComponents,
ArrayRef< VTableThunkTy VTableThunks,
const AddressPointsMapTy AddressPoints 
)

Definition at line 2203 of file VTableBuilder.cpp.

◆ ~VTableLayout()

VTableLayout::~VTableLayout ( )

Definition at line 2223 of file VTableBuilder.cpp.

Member Function Documentation

◆ getAddressPoint()

AddressPointLocation clang::VTableLayout::getAddressPoint ( BaseSubobject  Base) const
inline

Definition at line 279 of file VTableBuilder.h.

Referenced by BuildAppleKextVirtualCall().

◆ getAddressPoints()

const AddressPointsMapTy& clang::VTableLayout::getAddressPoints ( ) const
inline

Definition at line 284 of file VTableBuilder.h.

◆ getNumVTables()

size_t clang::VTableLayout::getNumVTables ( ) const
inline

◆ getVTableOffset()

size_t clang::VTableLayout::getVTableOffset ( size_t  i) const
inline

◆ getVTableSize()

size_t clang::VTableLayout::getVTableSize ( size_t  i) const
inline

◆ vtable_components()

ArrayRef<VTableComponent> clang::VTableLayout::vtable_components ( ) const
inline

Definition at line 271 of file VTableBuilder.h.

Referenced by clang::CodeGen::CodeGenVTables::EmitThunks().

◆ vtable_thunks()

ArrayRef<VTableThunkTy> clang::VTableLayout::vtable_thunks ( ) const
inline

Definition at line 275 of file VTableBuilder.h.

Referenced by clang::CodeGen::CodeGenVTables::EmitThunks().


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