msvcrt: symbol undecoration: Added support for thunks.

This commit is contained in:
Eric Pouech 2008-01-21 22:05:59 +01:00 committed by Alexandre Julliard
parent 3db08321f4
commit 49ac014d28
1 changed files with 9 additions and 4 deletions

View File

@ -1012,7 +1012,6 @@ static BOOL handle_method(struct parsed_symbol* sym, BOOL cast_op)
* 'Y' * 'Y'
* 'Z' * 'Z'
*/ */
accmem = *sym->current++; accmem = *sym->current++;
if (accmem < 'A' || accmem > 'Z') goto done; if (accmem < 'A' || accmem > 'Z') goto done;
@ -1033,11 +1032,19 @@ static BOOL handle_method(struct parsed_symbol* sym, BOOL cast_op)
{ {
case 2: case 3: member_type = "static "; break; case 2: case 3: member_type = "static "; break;
case 4: case 5: member_type = "virtual "; break; case 4: case 5: member_type = "virtual "; break;
case 6: case 7: member_type = "thunk "; break; case 6: case 7:
access = str_printf(sym, "[thunk]:%s", access);
member_type = "virtual ";
break;
} }
} }
} }
name = get_class_string(sym, 0);
if ((accmem - 'A') % 8 == 6 || (accmem - '8') % 8 == 7) /* a thunk */
name = str_printf(sym, "%s`adjustor{%s}' ", name, get_number(sym));
if (accmem <= 'X') if (accmem <= 'X')
{ {
if (((accmem - 'A') % 8) != 2 && ((accmem - 'A') % 8) != 3) if (((accmem - 'A') % 8) != 2 && ((accmem - 'A') % 8) != 3)
@ -1049,8 +1056,6 @@ static BOOL handle_method(struct parsed_symbol* sym, BOOL cast_op)
} }
} }
name = get_class_string(sym, 0);
if (!get_calling_convention(*sym->current++, &call_conv, &exported, if (!get_calling_convention(*sym->current++, &call_conv, &exported,
sym->flags)) sym->flags))
goto done; goto done;