clang API Documentation

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

VTableComponent - 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
 getKind - Get the kind of this vtable component.
CharUnits getVCallOffset () const
CharUnits getVBaseOffset () const
CharUnits getOffsetToTop () const
const CXXRecordDeclgetRTTIDecl () const
const CXXMethodDeclgetFunctionDecl () const
const CXXDestructorDeclgetDestructorDecl () const
const CXXMethodDeclgetUnusedFunctionDecl () 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

VTableComponent - Represents a single component in a vtable.

Definition at line 29 of file VTableBuilder.h.


Member Enumeration Documentation

Enumerator:
CK_VCallOffset 
CK_VBaseOffset 
CK_OffsetToTop 
CK_RTTI 
CK_FunctionPointer 
CK_CompleteDtorPointer 

CK_CompleteDtorPointer - A pointer to the complete destructor.

CK_DeletingDtorPointer 

CK_DeletingDtorPointer - A pointer to the deleting destructor.

CK_UnusedFunctionPointer 

CK_UnusedFunctionPointer - 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 31 of file VTableBuilder.h.


Constructor & Destructor Documentation

clang::VTableComponent::VTableComponent ( ) [inline]

Member Function Documentation

const CXXDestructorDecl* clang::VTableComponent::getDestructorDecl ( ) const [inline]

Definition at line 132 of file VTableBuilder.h.

References CK_CompleteDtorPointer, CK_DeletingDtorPointer, and getKind().

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

Definition at line 93 of file VTableBuilder.h.

References VTableComponent().

const CXXMethodDecl* clang::VTableComponent::getFunctionDecl ( ) const [inline]

Definition at line 126 of file VTableBuilder.h.

References CK_FunctionPointer, and getKind().

Kind clang::VTableComponent::getKind ( ) const [inline]

getKind - Get the kind of this vtable component.

Definition at line 98 of file VTableBuilder.h.

Referenced by getDestructorDecl(), getFunctionDecl(), getOffsetToTop(), getRTTIDecl(), getUnusedFunctionDecl(), getVBaseOffset(), and getVCallOffset().

CharUnits clang::VTableComponent::getOffsetToTop ( ) const [inline]

Definition at line 114 of file VTableBuilder.h.

References CK_OffsetToTop, and getKind().

const CXXRecordDecl* clang::VTableComponent::getRTTIDecl ( ) const [inline]

Definition at line 120 of file VTableBuilder.h.

References CK_RTTI, and getKind().

const CXXMethodDecl* clang::VTableComponent::getUnusedFunctionDecl ( ) const [inline]

Definition at line 139 of file VTableBuilder.h.

References CK_UnusedFunctionPointer, and getKind().

CharUnits clang::VTableComponent::getVBaseOffset ( ) const [inline]

Definition at line 108 of file VTableBuilder.h.

References CK_VBaseOffset, and getKind().

CharUnits clang::VTableComponent::getVCallOffset ( ) const [inline]

Definition at line 102 of file VTableBuilder.h.

References CK_VCallOffset, and getKind().

static VTableComponent clang::VTableComponent::MakeCompleteDtor ( const CXXDestructorDecl DD) [inline, static]

Definition at line 76 of file VTableBuilder.h.

References CK_CompleteDtorPointer, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeDeletingDtor ( const CXXDestructorDecl DD) [inline, static]

Definition at line 81 of file VTableBuilder.h.

References CK_DeletingDtorPointer, and VTableComponent().

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

Definition at line 68 of file VTableBuilder.h.

References CK_FunctionPointer, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeOffsetToTop ( CharUnits  Offset) [inline, static]

Definition at line 60 of file VTableBuilder.h.

References CK_OffsetToTop, and VTableComponent().

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

Definition at line 64 of file VTableBuilder.h.

References CK_RTTI, and VTableComponent().

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

Definition at line 86 of file VTableBuilder.h.

References CK_UnusedFunctionPointer, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeVBaseOffset ( CharUnits  Offset) [inline, static]

Definition at line 56 of file VTableBuilder.h.

References CK_VBaseOffset, and VTableComponent().

static VTableComponent clang::VTableComponent::MakeVCallOffset ( CharUnits  Offset) [inline, static]

Definition at line 52 of file VTableBuilder.h.

References CK_VCallOffset, and VTableComponent().


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