winedump: Add support for derived types in codeview type info.
This commit is contained in:
parent
b8ae9dccbe
commit
9d10c66dc8
|
@ -403,6 +403,21 @@ union codeview_reftype
|
|||
unsigned args[1];
|
||||
} arglist_v2;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned short int len;
|
||||
short int id;
|
||||
unsigned short num;
|
||||
unsigned short drvdcls[1];
|
||||
} derived_v1;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned short int len;
|
||||
short int id;
|
||||
unsigned num;
|
||||
unsigned drvdcls[1];
|
||||
} derived_v2;
|
||||
};
|
||||
|
||||
union codeview_fieldtype
|
||||
|
|
|
@ -775,6 +775,24 @@ static void codeview_dump_one_type(unsigned curr_type, const union codeview_type
|
|||
}
|
||||
break;
|
||||
|
||||
case LF_DERIVED_V1:
|
||||
printf("\t%x => Derived V1(#%u):", curr_type, reftype->derived_v1.num);
|
||||
for (i = 0; i < reftype->derived_v1.num; i++)
|
||||
{
|
||||
printf(" %x", reftype->derived_v1.drvdcls[i]);
|
||||
}
|
||||
printf("\n");
|
||||
break;
|
||||
|
||||
case LF_DERIVED_V2:
|
||||
printf("\t%x => Derived V2(#%u):", curr_type, reftype->derived_v2.num);
|
||||
for (i = 0; i < reftype->derived_v2.num; i++)
|
||||
{
|
||||
printf(" %x", reftype->derived_v2.drvdcls[i]);
|
||||
}
|
||||
printf("\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
printf(">>> Unsupported type-id %x for %x\n", type->generic.id, curr_type);
|
||||
dump_data((const void*)type, type->generic.len + 2, "");
|
||||
|
|
Loading…
Reference in New Issue