clang 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
clang::VTableContextBase Class Referenceabstract

#include "clang/AST/VTableBuilder.h"

Inheritance diagram for clang::VTableContextBase:
Inheritance graph
[legend]

Public Types

typedef SmallVector< ThunkInfo, 1 > ThunkInfoVectorTy
 

Public Member Functions

bool isMicrosoft () const
 
virtual ~VTableContextBase ()
 
virtual const ThunkInfoVectorTygetThunkInfo (GlobalDecl GD)
 

Static Public Member Functions

static bool hasVtableSlot (const CXXMethodDecl *MD)
 Determine whether this function should be assigned a vtable slot.
 

Public Attributes

bool IsMicrosoftABI
 

Protected Types

typedef llvm::DenseMap< const CXXMethodDecl *, ThunkInfoVectorTyThunksMapTy
 

Protected Member Functions

virtual void computeVTableRelatedInformation (const CXXRecordDecl *RD)=0
 Compute and store all vtable related information (vtable layout, vbase offset offsets, thunks etc) for the given record decl.
 
 VTableContextBase (bool MS)
 

Protected Attributes

ThunksMapTy Thunks
 Contains all thunks that a given method decl will need.
 

Detailed Description

Definition at line 321 of file VTableBuilder.h.

Member Typedef Documentation

◆ ThunkInfoVectorTy

Definition at line 323 of file VTableBuilder.h.

◆ ThunksMapTy

typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> clang::VTableContextBase::ThunksMapTy
protected

Definition at line 330 of file VTableBuilder.h.

Constructor & Destructor Documentation

◆ ~VTableContextBase()

virtual clang::VTableContextBase::~VTableContextBase ( )
inlinevirtual

Definition at line 327 of file VTableBuilder.h.

◆ VTableContextBase()

clang::VTableContextBase::VTableContextBase ( bool  MS)
inlineprotected

Definition at line 339 of file VTableBuilder.h.

Member Function Documentation

◆ computeVTableRelatedInformation()

virtual void clang::VTableContextBase::computeVTableRelatedInformation ( const CXXRecordDecl RD)
protectedpure virtual

Compute and store all vtable related information (vtable layout, vbase offset offsets, thunks etc) for the given record decl.

Referenced by getThunkInfo().

◆ getThunkInfo()

virtual const ThunkInfoVectorTy * clang::VTableContextBase::getThunkInfo ( GlobalDecl  GD)
inlinevirtual

◆ hasVtableSlot()

bool VTableContextBase::hasVtableSlot ( const CXXMethodDecl MD)
static

Determine whether this function should be assigned a vtable slot.

Definition at line 2328 of file VTableBuilder.cpp.

References clang::FunctionDecl::isImmediateFunction(), and clang::CXXMethodDecl::isVirtual().

Referenced by clang::MicrosoftVTableContext::getMethodVFTableLocation(), GroupNewVirtualOverloads(), and selectBestPath().

◆ isMicrosoft()

bool clang::VTableContextBase::isMicrosoft ( ) const
inline

Member Data Documentation

◆ IsMicrosoftABI

bool clang::VTableContextBase::IsMicrosoftABI

Definition at line 357 of file VTableBuilder.h.

Referenced by isMicrosoft().

◆ Thunks

ThunksMapTy clang::VTableContextBase::Thunks
protected

Contains all thunks that a given method decl will need.

Definition at line 333 of file VTableBuilder.h.

Referenced by getThunkInfo().


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