Added some fields to windows.debug.symbols.SymbolType

This commit is contained in:
clement rouault
2021-06-21 10:46:54 +02:00
parent d68ff123b3
commit dfdad6edf0
+13 -1
View File
@@ -190,6 +190,10 @@ class SymbolType(object):
def basetype(self):
return gdef.BasicType.mapper[self._get_type_info(gdef.TI_GET_BASETYPE)]
@property
def parent(self):
return self.new_typeid(self._get_type_info(gdef.TI_GET_CLASSPARENTID))
@property
def datakind(self):
return gdef.DataKind.mapper[self._get_type_info(gdef.TI_GET_DATAKIND)]
@@ -206,6 +210,10 @@ class SymbolType(object):
def nb_children(self):
return self._get_type_info(gdef.TI_GET_CHILDRENCOUNT)
@property
def value(self):
return self._get_type_info(gdef.TI_GET_VALUE)
@property
def children(self):
count = self.nb_children
@@ -228,7 +236,10 @@ class SymbolType(object):
def __repr__(self):
if self.tag == gdef.SymTagBaseType:
return '<{0} <basetype> {1}>'.format(type(self).__name__, self.basetype)
return '<{0} <basetype> {1!r}>'.format(type(self).__name__, self.basetype)
elif self.tag == gdef.SymTagPointerType:
target_type = self.type.name
return '<{0} PTR TO "{1}" tag={2}>'.format(type(self).__name__, target_type, self.tag)
return '<{0} name="{1}" tag={2}>'.format(type(self).__name__, self.name, self.tag)
@@ -729,4 +740,5 @@ TST_TYPE_RES_TYPE = {
gdef.TI_GET_ADDRESS: gdef.ULONG64,
gdef.TI_GTIEX_REQS_VALID: gdef.ULONG64,
gdef.TI_GET_SYMTAG: gdef.SymTagEnum,
gdef.TI_GET_VALUE: windows.com.Variant,
}