clang API Documentation

Public Member Functions | Static Public Member Functions
clang::ItaniumVTableContext Class Reference

#include <VTableBuilder.h>

Inheritance diagram for clang::ItaniumVTableContext:
Inheritance graph
[legend]
Collaboration diagram for clang::ItaniumVTableContext:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ItaniumVTableContext (ASTContext &Context)
 ~ItaniumVTableContext ()
const VTableLayoutgetVTableLayout (const CXXRecordDecl *RD)
VTableLayoutcreateConstructionVTableLayout (const CXXRecordDecl *MostDerivedClass, CharUnits MostDerivedClassOffset, bool MostDerivedClassIsVirtual, const CXXRecordDecl *LayoutClass)
uint64_t getMethodVTableIndex (GlobalDecl GD)
 Locate a virtual function in the vtable.
CharUnits getVirtualBaseOffsetOffset (const CXXRecordDecl *RD, const CXXRecordDecl *VBase)

Static Public Member Functions

static bool classof (const VTableContextBase *VT)

Detailed Description

Definition at line 309 of file VTableBuilder.h.


Constructor & Destructor Documentation

Definition at line 2263 of file VTableBuilder.cpp.

Definition at line 2266 of file VTableBuilder.cpp.


Member Function Documentation

static bool clang::ItaniumVTableContext::classof ( const VTableContextBase VT) [inline, static]

Definition at line 365 of file VTableBuilder.h.

References clang::VTableContextBase::isMicrosoft().

VTableLayout * ItaniumVTableContext::createConstructionVTableLayout ( const CXXRecordDecl MostDerivedClass,
CharUnits  MostDerivedClassOffset,
bool  MostDerivedClassIsVirtual,
const CXXRecordDecl LayoutClass 
)

Definition at line 2368 of file VTableBuilder.cpp.

References Builder, and CreateVTableLayout().

Locate a virtual function in the vtable.

Return the index (relative to the vtable address point) where the function pointer for the given virtual function is stored.

Definition at line 2270 of file VTableBuilder.cpp.

References clang::GlobalDecl::getDecl().

Referenced by BuildAppleKextVirtualCall().

Return the offset in chars (relative to the vtable address point) where the offset of the virtual base that contains the given base is stored, otherwise, if no virtual base contains the given class, return 0.

Base must be a virtual base class or an unambiguous base.

Definition at line 2285 of file VTableBuilder.cpp.

References Builder, and clang::CharUnits::Zero().


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