struct VirtualBaseTestSetup

Defined at line 35 of file ../../src/developer/debug/zxdb/expr/virtual_base_test_setup.h

Sets up the required information for a test involving a base class with a virtual function and

a class derived from it. The necessary symbols for the vtables all need to be set properly.

It is designed to work with a module loaded at the address provided by ProcessSymbolsTestSetup.

Example:

VirtualBaseTestSetup setup(...);

ExprValue ptr(setup::kBaseAddress, setup.base_class_ptr);

This will be a pointer to the Base class that is actually implemented by the Derived class.

Public Members

RefPtr vtbl_entry_type
RefPtr vtbl_ptr_type
RefPtr vtbl_ptr_type_ptr
RefPtr base_class
unique_ptr base_class_indexed
RefPtr base_class_ptr
RefPtr base_class_ref
RefPtr derived_class
unique_ptr derived_class_indexed
RefPtr base_vtable
RefPtr derived_vtable
vector derived_data
static const uint32_t kBaseOffset
static const TargetPointer kVtableRelativeAddress
static const TargetPointer kVtableAbsoluteAddress
static const TargetPointer kDerivedAddress
static const TargetPointer kBaseAddress
static const char * kBaseIName
static const uint32_t kBaseI
static const char * kDerivedIName
static const uint32_t kDerivedI

Public Methods

void VirtualBaseTestSetup (MockSymbolDataProvider * data_provider, MockModuleSymbols * mock_module_symbols)

Defined at line 30 of file ../../src/developer/debug/zxdb/expr/virtual_base_test_setup.cc