clang  19.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. More...
 

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. More...
 
 VTableContextBase (bool MS)
 

Protected Attributes

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

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 2264 of file VTableBuilder.cpp.

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

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

◆ 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: