|
clang 22.0.0git
|
#include "clang/AST/VTableBuilder.h"
Public Member Functions | |
| MicrosoftVTableContext (ASTContext &Context) | |
| ~MicrosoftVTableContext () override | |
| const VPtrInfoVector & | getVFPtrOffsets (const CXXRecordDecl *RD) |
| const VTableLayout & | getVFTableLayout (const CXXRecordDecl *RD, CharUnits VFPtrOffset) |
| MethodVFTableLocation | getMethodVFTableLocation (GlobalDecl GD) |
| const ThunkInfoVectorTy * | getThunkInfo (GlobalDecl GD) override |
| unsigned | getVBTableIndex (const CXXRecordDecl *Derived, const CXXRecordDecl *VBase) |
| Returns the index of VBase in the vbtable of Derived. | |
| const VPtrInfoVector & | enumerateVBTables (const CXXRecordDecl *RD) |
| Public Member Functions inherited from clang::VTableContextBase | |
| bool | isMicrosoft () const |
| virtual | ~VTableContextBase () |
Static Public Member Functions | |
| static bool | classof (const VTableContextBase *VT) |
| Static Public Member Functions inherited from clang::VTableContextBase | |
| static bool | hasVtableSlot (const CXXMethodDecl *MD) |
| Determine whether this function should be assigned a vtable slot. | |
Additional Inherited Members | |
| Public Types inherited from clang::VTableContextBase | |
| typedef SmallVector< ThunkInfo, 1 > | ThunkInfoVectorTy |
| Public Attributes inherited from clang::VTableContextBase | |
| bool | IsMicrosoftABI |
| Protected Types inherited from clang::VTableContextBase | |
| typedef llvm::DenseMap< const CXXMethodDecl *, ThunkInfoVectorTy > | ThunksMapTy |
| Protected Member Functions inherited from clang::VTableContextBase | |
| VTableContextBase (bool MS) | |
| Protected Attributes inherited from clang::VTableContextBase | |
| ThunksMapTy | Thunks |
| Contains all thunks that a given method decl will need. | |
Definition at line 573 of file VTableBuilder.h.
|
inline |
Definition at line 608 of file VTableBuilder.h.
References true, and clang::VTableContextBase::VTableContextBase().
|
override |
Definition at line 3512 of file VTableBuilder.cpp.
|
inlinestatic |
Definition at line 637 of file VTableBuilder.h.
References clang::VTableContextBase::isMicrosoft(), and clang::VTableContextBase::VTableContextBase().
| const VPtrInfoVector & MicrosoftVTableContext::enumerateVBTables | ( | const CXXRecordDecl * | RD | ) |
Definition at line 3850 of file VTableBuilder.cpp.
| MethodVFTableLocation MicrosoftVTableContext::getMethodVFTableLocation | ( | GlobalDecl | GD | ) |
Definition at line 3873 of file VTableBuilder.cpp.
References clang::cast(), clang::Dtor_Deleting, clang::GlobalDecl::getCanonicalDecl(), clang::GlobalDecl::getDecl(), clang::GlobalDecl::getDtorType(), clang::VTableContextBase::hasVtableSlot(), and clang::isa().
|
inlineoverridevirtual |
Reimplemented from clang::VTableContextBase.
Definition at line 620 of file VTableBuilder.h.
References clang::Dtor_Complete, clang::GlobalDecl::getDecl(), clang::GlobalDecl::getDtorType(), clang::VTableContextBase::getThunkInfo(), and clang::isa().
| unsigned MicrosoftVTableContext::getVBTableIndex | ( | const CXXRecordDecl * | Derived, |
| const CXXRecordDecl * | VBase ) |
Returns the index of VBase in the vbtable of Derived.
VBase must be a morally virtual base of Derived. The vbtable is an array of i32 offsets. The first entry is a self entry, and the rest are offsets from the vbptr to virtual bases.
Definition at line 3842 of file VTableBuilder.cpp.
References clang::VirtualBaseInfo::VBTableIndices.
| const VPtrInfoVector & MicrosoftVTableContext::getVFPtrOffsets | ( | const CXXRecordDecl * | RD | ) |
Definition at line 3855 of file VTableBuilder.cpp.
| const VTableLayout & MicrosoftVTableContext::getVFTableLayout | ( | const CXXRecordDecl * | RD, |
| CharUnits | VFPtrOffset ) |
Definition at line 3863 of file VTableBuilder.cpp.