clang  3.7.0
Classes | Public Member Functions | Static Public Member Functions | List of all members
clang::MicrosoftVTableContext Class Reference

#include <VTableBuilder.h>

Inheritance diagram for clang::MicrosoftVTableContext:
[legend]
Collaboration diagram for clang::MicrosoftVTableContext:
[legend]

Classes

struct  MethodVFTableLocation
 

Public Member Functions

 MicrosoftVTableContext (ASTContext &Context)
 
 ~MicrosoftVTableContext () override
 
const VPtrInfoVectorgetVFPtrOffsets (const CXXRecordDecl *RD)
 
const VTableLayoutgetVFTableLayout (const CXXRecordDecl *RD, CharUnits VFPtrOffset)
 
const MethodVFTableLocationgetMethodVFTableLocation (GlobalDecl GD)
 
const ThunkInfoVectorTygetThunkInfo (GlobalDecl GD) override
 
unsigned 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. More...
 
const VPtrInfoVectorenumerateVBTables (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)
 

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

Detailed Description

Definition at line 443 of file VTableBuilder.h.

Constructor & Destructor Documentation

clang::MicrosoftVTableContext::MicrosoftVTableContext ( ASTContext Context)
inline

Definition at line 511 of file VTableBuilder.h.

MicrosoftVTableContext::~MicrosoftVTableContext ( )
override

Definition at line 3442 of file VTableBuilder.cpp.

Member Function Documentation

static bool clang::MicrosoftVTableContext::classof ( const VTableContextBase VT)
inlinestatic

Definition at line 540 of file VTableBuilder.h.

References clang::VTableContextBase::isMicrosoft().

const VPtrInfoVector & MicrosoftVTableContext::enumerateVBTables ( const CXXRecordDecl RD)

Definition at line 3776 of file VTableBuilder.cpp.

References clang::VirtualBaseInfo::VBPtrPaths.

const MicrosoftVTableContext::MethodVFTableLocation & MicrosoftVTableContext::getMethodVFTableLocation ( GlobalDecl  GD)
const ThunkInfoVectorTy* clang::MicrosoftVTableContext::getThunkInfo ( GlobalDecl  GD)
inlineoverridevirtual
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 3768 of file VTableBuilder.cpp.

References clang::VirtualBaseInfo::VBTableIndices.

const VPtrInfoVector & MicrosoftVTableContext::getVFPtrOffsets ( const CXXRecordDecl RD)

Definition at line 3781 of file VTableBuilder.cpp.

const VTableLayout & MicrosoftVTableContext::getVFTableLayout ( const CXXRecordDecl RD,
CharUnits  VFPtrOffset 
)

Definition at line 3789 of file VTableBuilder.cpp.

References clang::ast_matchers::id().


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