clang  12.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]
Collaboration diagram for clang::VTableContextBase:
Collaboration 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 320 of file VTableBuilder.h.

Member Typedef Documentation

◆ ThunkInfoVectorTy

Definition at line 322 of file VTableBuilder.h.

◆ ThunksMapTy

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

Definition at line 329 of file VTableBuilder.h.

Constructor & Destructor Documentation

◆ ~VTableContextBase()

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

Definition at line 326 of file VTableBuilder.h.

◆ VTableContextBase()

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

Definition at line 338 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.

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

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

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

◆ isMicrosoft()

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

Member Data Documentation

◆ IsMicrosoftABI

bool clang::VTableContextBase::IsMicrosoftABI

Definition at line 356 of file VTableBuilder.h.

◆ Thunks

ThunksMapTy clang::VTableContextBase::Thunks
protected

Contains all thunks that a given method decl will need.

Definition at line 332 of file VTableBuilder.h.


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