clang 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::VTableComponent Class Reference

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

#include "clang/AST/VTableBuilder.h"

Public Types

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

Public Member Functions

 VTableComponent ()=default
 
Kind getKind () const
 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
 
bool isDestructorKind () const
 
bool isUsedFunctionPointerKind () const
 
bool isFunctionPointerKind () const
 
bool isRTTIKind () const
 
GlobalDecl getGlobalDecl () 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