class VTableComponent
Declaration
class VTableComponent { /* full declaration omitted */ };
Description
Represents a single component in a vtable.
Declared at: clang/include/clang/AST/VTableBuilder.h:30
Member Variables
- private int64_t Value
- The kind is stored in the lower 3 bits of the value. For offsets, we make use of the facts that classes can't be larger than 2^55 bytes, so we store the offset in the lower part of the 61 bits that remain. (The reason that we're not simply using a PointerIntPair here is that we need the offsets to be 64-bit, even when on a 32-bit machine).
Method Overview
- public static clang::VTableComponent MakeCompleteDtor(const clang::CXXDestructorDecl * DD)
- public static clang::VTableComponent MakeDeletingDtor(const clang::CXXDestructorDecl * DD)
- public static clang::VTableComponent MakeFunction(const clang::CXXMethodDecl * MD)
- public static clang::VTableComponent MakeOffsetToTop(clang::CharUnits Offset)
- public static clang::VTableComponent MakeRTTI(const clang::CXXRecordDecl * RD)
- public static clang::VTableComponent MakeUnusedFunction(const clang::CXXMethodDecl * MD)
- public static clang::VTableComponent MakeVBaseOffset(clang::CharUnits Offset)
- public static clang::VTableComponent MakeVCallOffset(clang::CharUnits Offset)
- private VTableComponent(clang::VTableComponent::Kind ComponentKind, uintptr_t Ptr)
- private VTableComponent(clang::VTableComponent::Kind ComponentKind, clang::CharUnits Offset)
- public VTableComponent()
- public const clang::CXXDestructorDecl * getDestructorDecl() const
- public const clang::CXXMethodDecl * getFunctionDecl() const
- public clang::GlobalDecl getGlobalDecl() const
- public clang::VTableComponent::Kind getKind() const
- private clang::CharUnits getOffset() const
- public clang::CharUnits getOffsetToTop() const
- private uintptr_t getPointer() const
- public const clang::CXXRecordDecl * getRTTIDecl() const
- public const clang::CXXMethodDecl * getUnusedFunctionDecl() const
- public clang::CharUnits getVBaseOffset() const
- public clang::CharUnits getVCallOffset() const
- public bool isDestructorKind() const
- private static bool isDestructorKind(clang::VTableComponent::Kind ComponentKind)
- public bool isFunctionPointerKind() const
- private static bool isFunctionPointerKind(clang::VTableComponent::Kind ComponentKind)
- public bool isRTTIKind() const
- private static bool isRTTIKind(clang::VTableComponent::Kind ComponentKind)
- public bool isUsedFunctionPointerKind() const
- private static bool isUsedFunctionPointerKind(clang::VTableComponent::Kind ComponentKind)
Methods
¶static clang::VTableComponent MakeCompleteDtor(
const clang::CXXDestructorDecl* DD)
static clang::VTableComponent MakeCompleteDtor(
const clang::CXXDestructorDecl* DD)
Declared at: clang/include/clang/AST/VTableBuilder.h:79
Parameters
- const clang::CXXDestructorDecl* DD
¶static clang::VTableComponent MakeDeletingDtor(
const clang::CXXDestructorDecl* DD)
static clang::VTableComponent MakeDeletingDtor(
const clang::CXXDestructorDecl* DD)
Declared at: clang/include/clang/AST/VTableBuilder.h:84
Parameters
- const clang::CXXDestructorDecl* DD
¶static clang::VTableComponent MakeFunction(
const clang::CXXMethodDecl* MD)
static clang::VTableComponent MakeFunction(
const clang::CXXMethodDecl* MD)
Declared at: clang/include/clang/AST/VTableBuilder.h:71
Parameters
- const clang::CXXMethodDecl* MD
¶static clang::VTableComponent MakeOffsetToTop(
clang::CharUnits Offset)
static clang::VTableComponent MakeOffsetToTop(
clang::CharUnits Offset)
Declared at: clang/include/clang/AST/VTableBuilder.h:63
Parameters
- clang::CharUnits Offset
¶static clang::VTableComponent MakeRTTI(
const clang::CXXRecordDecl* RD)
static clang::VTableComponent MakeRTTI(
const clang::CXXRecordDecl* RD)
Declared at: clang/include/clang/AST/VTableBuilder.h:67
Parameters
- const clang::CXXRecordDecl* RD
¶static clang::VTableComponent MakeUnusedFunction(
const clang::CXXMethodDecl* MD)
static clang::VTableComponent MakeUnusedFunction(
const clang::CXXMethodDecl* MD)
Declared at: clang/include/clang/AST/VTableBuilder.h:89
Parameters
- const clang::CXXMethodDecl* MD
¶static clang::VTableComponent MakeVBaseOffset(
clang::CharUnits Offset)
static clang::VTableComponent MakeVBaseOffset(
clang::CharUnits Offset)
Declared at: clang/include/clang/AST/VTableBuilder.h:59
Parameters
- clang::CharUnits Offset
¶static clang::VTableComponent MakeVCallOffset(
clang::CharUnits Offset)
static clang::VTableComponent MakeVCallOffset(
clang::CharUnits Offset)
Declared at: clang/include/clang/AST/VTableBuilder.h:55
Parameters
- clang::CharUnits Offset
¶VTableComponent(
clang::VTableComponent::Kind ComponentKind,
uintptr_t Ptr)
VTableComponent(
clang::VTableComponent::Kind ComponentKind,
uintptr_t Ptr)
Declared at: clang/include/clang/AST/VTableBuilder.h:202
Parameters
- clang::VTableComponent::Kind ComponentKind
- uintptr_t Ptr
¶VTableComponent(
clang::VTableComponent::Kind ComponentKind,
clang::CharUnits Offset)
VTableComponent(
clang::VTableComponent::Kind ComponentKind,
clang::CharUnits Offset)
Declared at: clang/include/clang/AST/VTableBuilder.h:192
Parameters
- clang::VTableComponent::Kind ComponentKind
- clang::CharUnits Offset
¶VTableComponent()
VTableComponent()
Declared at: clang/include/clang/AST/VTableBuilder.h:53
¶const clang::CXXDestructorDecl*
getDestructorDecl() const
const clang::CXXDestructorDecl*
getDestructorDecl() const
Declared at: clang/include/clang/AST/VTableBuilder.h:131
¶const clang::CXXMethodDecl* getFunctionDecl()
const
const clang::CXXMethodDecl* getFunctionDecl()
const
Declared at: clang/include/clang/AST/VTableBuilder.h:124
¶clang::GlobalDecl getGlobalDecl() const
clang::GlobalDecl getGlobalDecl() const
Declared at: clang/include/clang/AST/VTableBuilder.h:153
¶clang::VTableComponent::Kind getKind() const
clang::VTableComponent::Kind getKind() const
Description
Get the kind of this vtable component.
Declared at: clang/include/clang/AST/VTableBuilder.h:97
¶clang::CharUnits getOffset() const
clang::CharUnits getOffset() const
Declared at: clang/include/clang/AST/VTableBuilder.h:211
¶clang::CharUnits getOffsetToTop() const
clang::CharUnits getOffsetToTop() const
Declared at: clang/include/clang/AST/VTableBuilder.h:113
¶uintptr_t getPointer() const
uintptr_t getPointer() const
Declared at: clang/include/clang/AST/VTableBuilder.h:218
¶const clang::CXXRecordDecl* getRTTIDecl() const
const clang::CXXRecordDecl* getRTTIDecl() const
Declared at: clang/include/clang/AST/VTableBuilder.h:119
¶const clang::CXXMethodDecl*
getUnusedFunctionDecl() const
const clang::CXXMethodDecl*
getUnusedFunctionDecl() const
Declared at: clang/include/clang/AST/VTableBuilder.h:136
¶clang::CharUnits getVBaseOffset() const
clang::CharUnits getVBaseOffset() const
Declared at: clang/include/clang/AST/VTableBuilder.h:107
¶clang::CharUnits getVCallOffset() const
clang::CharUnits getVCallOffset() const
Declared at: clang/include/clang/AST/VTableBuilder.h:101
¶bool isDestructorKind() const
bool isDestructorKind() const
Declared at: clang/include/clang/AST/VTableBuilder.h:141
¶static bool isDestructorKind(
clang::VTableComponent::Kind ComponentKind)
static bool isDestructorKind(
clang::VTableComponent::Kind ComponentKind)
Declared at: clang/include/clang/AST/VTableBuilder.h:184
Parameters
- clang::VTableComponent::Kind ComponentKind
¶bool isFunctionPointerKind() const
bool isFunctionPointerKind() const
Declared at: clang/include/clang/AST/VTableBuilder.h:147
¶static bool isFunctionPointerKind(
clang::VTableComponent::Kind ComponentKind)
static bool isFunctionPointerKind(
clang::VTableComponent::Kind ComponentKind)
Declared at: clang/include/clang/AST/VTableBuilder.h:176
Parameters
- clang::VTableComponent::Kind ComponentKind
¶bool isRTTIKind() const
bool isRTTIKind() const
Declared at: clang/include/clang/AST/VTableBuilder.h:151
¶static bool isRTTIKind(
clang::VTableComponent::Kind ComponentKind)
static bool isRTTIKind(
clang::VTableComponent::Kind ComponentKind)
Declared at: clang/include/clang/AST/VTableBuilder.h:188
Parameters
- clang::VTableComponent::Kind ComponentKind
¶bool isUsedFunctionPointerKind() const
bool isUsedFunctionPointerKind() const
Declared at: clang/include/clang/AST/VTableBuilder.h:143
¶static bool isUsedFunctionPointerKind(
clang::VTableComponent::Kind ComponentKind)
static bool isUsedFunctionPointerKind(
clang::VTableComponent::Kind ComponentKind)
Declared at: clang/include/clang/AST/VTableBuilder.h:180
Parameters
- clang::VTableComponent::Kind ComponentKind