[CLASSES]: Move the lexblock initialization to lexblock__init

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2006-11-20 16:54:39 -02:00
parent b31090f722
commit 2600c462c2
1 changed files with 12 additions and 4 deletions

View File

@ -587,6 +587,17 @@ static void class__add_member(struct class *self, struct class_member *member)
list_add_tail(&member->tag.node, &self->members);
}
static void lexblock__init(struct lexblock *self)
{
INIT_LIST_HEAD(&self->labels);
INIT_LIST_HEAD(&self->variables);
INIT_LIST_HEAD(&self->inline_expansions);
self->nr_labels =
self->nr_variables =
self->nr_inline_expansions = 0;
}
static struct function *function__new(uint64_t id, uint64_t type,
const char *decl_file,
unsigned int decl_line,
@ -600,11 +611,8 @@ static struct function *function__new(uint64_t id, uint64_t type,
tag__init(&self->tag, DW_TAG_subprogram,
id, type, decl_file, decl_line);
INIT_LIST_HEAD(&self->lexblock.labels);
INIT_LIST_HEAD(&self->parameters);
INIT_LIST_HEAD(&self->lexblock.variables);
INIT_LIST_HEAD(&self->lexblock.inline_expansions);
lexblock__init(&self->lexblock);
self->name = strings__add(name);
self->inlined = inlined;
self->external = external;