clang
9.0.0
|
#include "clang/AST/VTableBuilder.h"
Public Member Functions | |
ItaniumVTableContext (ASTContext &Context) | |
~ItaniumVTableContext () override | |
const VTableLayout & | getVTableLayout (const CXXRecordDecl *RD) |
std::unique_ptr< VTableLayout > | createConstructionVTableLayout (const CXXRecordDecl *MostDerivedClass, CharUnits MostDerivedClassOffset, bool MostDerivedClassIsVirtual, const CXXRecordDecl *LayoutClass) |
uint64_t | getMethodVTableIndex (GlobalDecl GD) |
Locate a virtual function in the vtable. More... | |
CharUnits | getVirtualBaseOffsetOffset (const CXXRecordDecl *RD, const CXXRecordDecl *VBase) |
Return the offset in chars (relative to the vtable address point) where the offset of the virtual base that contains the given base is stored, otherwise, if no virtual base contains the given class, return 0. More... | |
![]() | |
bool | isMicrosoft () const |
virtual | ~VTableContextBase () |
virtual const ThunkInfoVectorTy * | getThunkInfo (GlobalDecl GD) |
Static Public Member Functions | |
static bool | classof (const VTableContextBase *VT) |
Additional Inherited Members | |
![]() | |
typedef SmallVector< ThunkInfo, 1 > | ThunkInfoVectorTy |
![]() | |
bool | IsMicrosoftABI |
![]() | |
typedef llvm::DenseMap< const CXXMethodDecl *, ThunkInfoVectorTy > | ThunksMapTy |
![]() | |
VTableContextBase (bool MS) | |
![]() | |
ThunksMapTy | Thunks |
Contains all thunks that a given method decl will need. More... | |
Definition at line 347 of file VTableBuilder.h.
ItaniumVTableContext::ItaniumVTableContext | ( | ASTContext & | Context | ) |
Definition at line 2218 of file VTableBuilder.cpp.
|
override |
Definition at line 2221 of file VTableBuilder.cpp.
|
inlinestatic |
Definition at line 402 of file VTableBuilder.h.
References clang::VTableContextBase::isMicrosoft().
std::unique_ptr< VTableLayout > ItaniumVTableContext::createConstructionVTableLayout | ( | const CXXRecordDecl * | MostDerivedClass, |
CharUnits | MostDerivedClassOffset, | ||
bool | MostDerivedClassIsVirtual, | ||
const CXXRecordDecl * | LayoutClass | ||
) |
Definition at line 2315 of file VTableBuilder.cpp.
uint64_t ItaniumVTableContext::getMethodVTableIndex | ( | GlobalDecl | GD | ) |
Locate a virtual function in the vtable.
Return the index (relative to the vtable address point) where the function pointer for the given virtual function is stored.
Definition at line 2223 of file VTableBuilder.cpp.
References clang::GlobalDecl::getCanonicalDecl(), and clang::GlobalDecl::getDecl().
CharUnits ItaniumVTableContext::getVirtualBaseOffsetOffset | ( | const CXXRecordDecl * | RD, |
const CXXRecordDecl * | VBase | ||
) |
Return the offset in chars (relative to the vtable address point) where the offset of the virtual base that contains the given base is stored, otherwise, if no virtual base contains the given class, return 0.
Base must be a virtual base class or an unambiguous base.
Definition at line 2239 of file VTableBuilder.cpp.
Referenced by ComputeVMIClassTypeInfoFlags().
|
inline |
Definition at line 377 of file VTableBuilder.h.