Commit 2325962e authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Return the stored name for a compiland.

parent 1fa16200
...@@ -170,6 +170,7 @@ struct symt_module /* in fact any of .exe, .dll... */ ...@@ -170,6 +170,7 @@ struct symt_module /* in fact any of .exe, .dll... */
struct symt_compiland struct symt_compiland
{ {
struct symt symt; struct symt symt;
struct symt_module* container; /* symt_module */
ULONG_PTR address; ULONG_PTR address;
unsigned source; unsigned source;
struct vector vchildren; /* global variables & functions */ struct vector vchildren; /* global variables & functions */
......
...@@ -205,9 +205,10 @@ struct symt_compiland* symt_new_compiland(struct module* module, ...@@ -205,9 +205,10 @@ struct symt_compiland* symt_new_compiland(struct module* module,
debugstr_w(module->module.ModuleName), source_get(module, src_idx)); debugstr_w(module->module.ModuleName), source_get(module, src_idx));
if ((sym = pool_alloc(&module->pool, sizeof(*sym)))) if ((sym = pool_alloc(&module->pool, sizeof(*sym))))
{ {
sym->symt.tag = SymTagCompiland; sym->symt.tag = SymTagCompiland;
sym->address = address; sym->container = module->top;
sym->source = src_idx; sym->address = address;
sym->source = src_idx;
vector_init(&sym->vchildren, sizeof(struct symt*), 32); vector_init(&sym->vchildren, sizeof(struct symt*), 32);
} }
return sym; return sym;
......
...@@ -91,6 +91,8 @@ const char* symt_get_name(const struct symt* sym) ...@@ -91,6 +91,8 @@ const char* symt_get_name(const struct symt* sym)
case SymTagEnum: return ((const struct symt_enum*)sym)->name; case SymTagEnum: return ((const struct symt_enum*)sym)->name;
case SymTagTypedef: return ((const struct symt_typedef*)sym)->hash_elt.name; case SymTagTypedef: return ((const struct symt_typedef*)sym)->hash_elt.name;
case SymTagUDT: return ((const struct symt_udt*)sym)->hash_elt.name; case SymTagUDT: return ((const struct symt_udt*)sym)->hash_elt.name;
case SymTagCompiland: return source_get(((const struct symt_compiland*)sym)->container->module,
((const struct symt_compiland*)sym)->source);
default: default:
FIXME("Unsupported sym-tag %s\n", symt_get_tag_str(sym->tag)); FIXME("Unsupported sym-tag %s\n", symt_get_tag_str(sym->tag));
/* fall through */ /* fall through */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment