clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions
clang::VTableComponent Class Reference

Represents a single component in a vtable. More...

#include <VTableBuilder.h>

List of all members.

Public Types

enum  Kind {
  CK_VCallOffset, CK_VBaseOffset, CK_OffsetToTop, CK_RTTI,
  CK_FunctionPointer, CK_CompleteDtorPointer, CK_DeletingDtorPointer, CK_UnusedFunctionPointer
}

Public Member Functions

 VTableComponent ()
Kind getKind () const
 Get the kind of this vtable component.
CharUnits getVCallOffset () const
CharUnits getVBaseOffset () const
CharUnits getOffsetToTop () const
const CXXRecordDecl * getRTTIDecl () const
const CXXMethodDecl * getFunctionDecl () const
const CXXDestructorDecl * getDestructorDecl () const
const CXXMethodDecl * getUnusedFunctionDecl () const

Static Public Member Functions

static VTableComponent MakeVCallOffset (CharUnits Offset)
static VTableComponent MakeVBaseOffset (CharUnits Offset)
static VTableComponent MakeOffsetToTop (CharUnits Offset)
static VTableComponent MakeRTTI (const CXXRecordDecl *RD)
static VTableComponent MakeFunction (const CXXMethodDecl *MD)
static VTableComponent MakeCompleteDtor (const CXXDestructorDecl *DD)
static VTableComponent MakeDeletingDtor (const CXXDestructorDecl *DD)
static VTableComponent MakeUnusedFunction (const CXXMethodDecl *MD)
static VTableComponent getFromOpaqueInteger (uint64_t I)

Detailed Description

Represents a single component in a vtable.

Definition at line 31 of file VTableBuilder.h.


Member Enumeration Documentation

Enumerator:
CK_VCallOffset 
CK_VBaseOffset 
CK_OffsetToTop 
CK_RTTI 
CK_FunctionPointer 
CK_CompleteDtorPointer 

A pointer to the complete destructor.

CK_DeletingDtorPointer 

A pointer to the deleting destructor.

CK_UnusedFunctionPointer 

An entry that is never used.

In some cases, a vtable function pointer will end up never being called. Such vtable function pointers are represented as a CK_UnusedFunctionPointer.

Definition at line 33 of file VTableBuilder.h.


Constructor & Destructor Documentation


Member Function Documentation

static VTableComponent clang::VTableComponent::getFromOpaqueInteger ( uint64_t  I) [inline, static]

Definition at line 97 of file VTableBuilder.h.

References VTableComponent().

Definition at line 118 of file VTableBuilder.h.

References CK_OffsetToTop, and getKind().

Referenced by clang::CodeGen::CodeGenVTables::CreateVTableInitializer().

Definition at line 124 of file VTableBuilder.h.

References CK_RTTI, and getKind().

Definition at line 143 of file VTableBuilder.h.

References CK_UnusedFunctionPointer, and getKind().

Definition at line 112 of file VTableBuilder.h.

References CK_VBaseOffset, and getKind().

Referenced by clang::CodeGen::CodeGenVTables::CreateVTableInitializer().

Definition at line 106 of file VTableBuilder.h.

References CK_VCallOffset, and getKind().

Referenced by clang::CodeGen::CodeGenVTables::CreateVTableInitializer().

Definition at line 80 of file VTableBuilder.h.

References CK_CompleteDtorPointer, and VTableComponent().

Definition at line 85 of file VTableBuilder.h.

References CK_DeletingDtorPointer, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeFunction ( const CXXMethodDecl *  MD) [inline, static]

Definition at line 72 of file VTableBuilder.h.

References CK_FunctionPointer, and VTableComponent().

Definition at line 64 of file VTableBuilder.h.

References CK_OffsetToTop, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeRTTI ( const CXXRecordDecl *  RD) [inline, static]

Definition at line 68 of file VTableBuilder.h.

References CK_RTTI, and VTableComponent().

Definition at line 90 of file VTableBuilder.h.

References CK_UnusedFunctionPointer, and VTableComponent().

Definition at line 60 of file VTableBuilder.h.

References CK_VBaseOffset, and VTableComponent().

Definition at line 56 of file VTableBuilder.h.

References CK_VCallOffset, and VTableComponent().


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