clang 8.0.0

Public Types | 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:
[legend]
Collaboration diagram for clang::VTableContextBase:
[legend]

## Public Types
typedef SmallVector< ThunkInfo, 1 > | ThunkInfoVectorTy

## Public Member Functions
bool | isMicrosoft () const
virtual | ~VTableContextBase ()
virtual const ThunkInfoVectorTy * | getThunkInfo (GlobalDecl GD)

## Public Attributes
bool | IsMicrosoftABI

## Protected Types
typedef llvm::DenseMap< const CXXMethodDecl *, ThunkInfoVectorTy > | ThunksMapTy

## 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 309 of file VTableBuilder.h.

## Member Typedef Documentation

## ◆ ThunkInfoVectorTy

typedef SmallVector<ThunkInfo, 1> clang::VTableContextBase::ThunkInfoVectorTy

Definition at line 311 of file VTableBuilder.h.

## ◆ ThunksMapTy

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

Definition at line 318 of file VTableBuilder.h.

## Constructor & Destructor Documentation

## ◆ ~VTableContextBase()

virtual clang::VTableContextBase::~VTableContextBase | ( |  | ) |
| inline virtual

Definition at line 315 of file VTableBuilder.h.

## ◆ VTableContextBase()

clang::VTableContextBase::VTableContextBase | ( | bool | MS | ) |
| inline protected

Definition at line 327 of file VTableBuilder.h.

## Member Function Documentation

## ◆ computeVTableRelatedInformation()

virtual void clang::VTableContextBase::computeVTableRelatedInformation | ( | const CXXRecordDecl * | RD | ) |
| protected pure 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 | ) |
| inline virtual

Reimplemented in clang::MicrosoftVTableContext.

Definition at line 330 of file VTableBuilder.h.

References clang::Decl::getCanonicalDecl(), clang::GlobalDecl::getDecl(), and clang::CXXMethodDecl::getParent().

Referenced by clang::CodeGen::CodeGenVTables::EmitThunks(), and clang::MicrosoftVTableContext::getThunkInfo().

## ◆ isMicrosoft()

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

Definition at line 313 of file VTableBuilder.h.

Referenced by clang::ItaniumVTableContext::classof(), and clang::MicrosoftVTableContext::classof().

## Member Data Documentation

## ◆ IsMicrosoftABI

bool clang::VTableContextBase::IsMicrosoftABI

Definition at line 345 of file VTableBuilder.h.

## ◆ Thunks

ThunksMapTy clang::VTableContextBase::Thunks
| protected

Contains all thunks that a given method decl will need.

Definition at line 321 of file VTableBuilder.h.

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

- include/clang/AST/VTableBuilder.h