mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-06 04:51:11 +00:00
msvcrt: Add partial support for managed handle demangling.
This commit is contained in:
parent
5af51ce0af
commit
bdd04f5f71
|
@ -1320,6 +1320,10 @@ static void test_demangle(void)
|
|||
/* 147 */ {"?ptititi4@@3PETtititi@@IET1@", "unsigned int const volatile tititi::* __ptr64 const volatile __ptr64 ptititi4"},
|
||||
/* 148 */ {"?ptititi4v@@3RETtititi@@IET1@", "unsigned int const volatile tititi::* __ptr64 const volatile __ptr64 ptititi4v"},
|
||||
/* 149 */ {"?meth@AAA@@QFCEXXZ", "public: void __thiscall AAA::meth(void)volatile __unaligned "},
|
||||
/* 150 */ {"?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXP$AAVEventHandler@System@@@Z",
|
||||
"void __cdecl <CrtImplementationDetails>::RegisterModuleUninitializer(class System::EventHandler ^)"},
|
||||
/* 151 */ {"?RegisterModuleUninitializer@<CrtImplementationDetails>@@YAXBE$AAVEventHandler@System@@@Z",
|
||||
"void __cdecl <CrtImplementationDetails>::RegisterModuleUninitializer(class System::EventHandler % __ptr64 volatile)"},
|
||||
};
|
||||
int i, num_test = ARRAY_SIZE(test);
|
||||
char* name;
|
||||
|
|
|
@ -519,6 +519,28 @@ static BOOL get_qualified_type(struct datatype_t *ct, struct parsed_symbol* sym,
|
|||
ct->right = NULL;
|
||||
ct->flags = 0;
|
||||
|
||||
/* parse managed handle information */
|
||||
if (sym->current[0] == '$' && sym->current[1] == 'A')
|
||||
{
|
||||
sym->current += 2;
|
||||
|
||||
switch (qualif)
|
||||
{
|
||||
case 'A':
|
||||
case 'B':
|
||||
ref = " %";
|
||||
break;
|
||||
case 'P':
|
||||
case 'Q':
|
||||
case 'R':
|
||||
case 'S':
|
||||
ref = " ^";
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (get_qualifier(sym, &xdt2, &class))
|
||||
{
|
||||
unsigned mark = sym->stack.num;
|
||||
|
|
Loading…
Reference in a new issue