10 #ifndef RETDEC_RTTI_FINDER_RTTI_RTTI_MSVC_H
11 #define RETDEC_RTTI_FINDER_RTTI_RTTI_MSVC_H
20 namespace rtti_finder {
22 class RTTICompleteObjectLocator;
23 class RTTITypeDescriptor;
24 class RTTIClassHierarchyDescriptor;
25 class RTTIBaseClassDescriptor;
160 std::map<retdec::common::Address, RTTICompleteObjectLocator>
objLocators;
Definition: rtti_msvc.h:56
uint32_t attributes
Flags, usually 0.
Definition: rtti_msvc.h:78
PMD where
Pointer-to-member displacement info.
Definition: rtti_msvc.h:76
uint32_t numContainedBases
Number of nested classes following in the Base Class Array.
Definition: rtti_msvc.h:74
RTTITypeDescriptor * typeDescriptor
RTTITypeDescriptor object on address typeDescriptorAddr.
Definition: rtti_msvc.h:86
retdec::common::Address typeDescriptorAddr
Type descriptor of the class.
Definition: rtti_msvc.h:72
retdec::common::Address address
Position of this RTTIBaseClassDescriptor entry.
Definition: rtti_msvc.h:84
Definition: rtti_msvc.h:94
uint32_t attributes
Bit 0 set = multiple inheritance, bit 1 set = virtual inheritance.
Definition: rtti_msvc.h:101
std::vector< RTTIBaseClassDescriptor * > baseClasses
Definition: rtti_msvc.h:118
uint32_t signature
Always zero?
Definition: rtti_msvc.h:99
std::vector< retdec::common::Address > baseClassArray
Definition: rtti_msvc.h:114
uint32_t numBaseClasses
Number of classes in pBaseClassArray.
Definition: rtti_msvc.h:103
retdec::common::Address baseClassArrayAddr
Address of base class objects array.
Definition: rtti_msvc.h:105
retdec::common::Address address
Position of this RTTIClassHierarchyDescriptor entry.
Definition: rtti_msvc.h:111
Definition: rtti_msvc.h:127
uint32_t offset
Offset of this vtable in the complete class.
Definition: rtti_msvc.h:134
RTTIClassHierarchyDescriptor * classDescriptor
Definition: rtti_msvc.h:151
RTTITypeDescriptor * typeDescriptor
RTTITypeDescriptor object on address typeDescriptorAddr.
Definition: rtti_msvc.h:148
retdec::common::Address typeDescriptorAddr
Pointer (address) of type descriptor for this object.
Definition: rtti_msvc.h:138
uint32_t cdOffset
Constructor displacement offset.
Definition: rtti_msvc.h:136
uint32_t signature
Always zero?
Definition: rtti_msvc.h:132
retdec::common::Address classDescriptorAddr
Pointer (address) of class descriptor for this object.
Definition: rtti_msvc.h:140
retdec::common::Address address
Position of this RTTICompleteObjectLocator entry.
Definition: rtti_msvc.h:146
Definition: rtti_msvc.h:31
std::string name
Mangled type name, e.g. ".H" = "int", ".?AVA@@" = "class A".
Definition: rtti_msvc.h:40
retdec::common::Address vtableAddr
Virtual table of type_info class.
Definition: rtti_msvc.h:36
retdec::common::Address spare
Used to keep the demangled name returned by type_info::name()
Definition: rtti_msvc.h:38
retdec::common::Address address
Position of this RTTITypeDescriptor entry.
Definition: rtti_msvc.h:46
Definition: rtti_msvc.h:158
std::map< retdec::common::Address, RTTIClassHierarchyDescriptor > classDescriptors
Definition: rtti_msvc.h:163
std::map< retdec::common::Address, RTTIBaseClassDescriptor > baseClassDescriptors
Definition: rtti_msvc.h:162
std::map< retdec::common::Address, RTTITypeDescriptor > typeDescriptors
Definition: rtti_msvc.h:161
std::map< retdec::common::Address, RTTICompleteObjectLocator > objLocators
Definition: rtti_msvc.h:160
Address, address pair and other derived class representation.
Definition: archive_wrapper.h:19
Definition: rtti_msvc.h:61
int32_t mdisp
Member displacement.
Definition: rtti_msvc.h:63
int32_t pdisp
Vbtable displacement.
Definition: rtti_msvc.h:65
int32_t vdisp
Displacement inside vbtable.
Definition: rtti_msvc.h:67