summaryrefslogtreecommitdiff
path: root/girepository
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-09-03 18:07:16 -0400
committerColin Walters <walters@verbum.org>2010-09-03 18:07:16 -0400
commitc1f4f42be118243549b00ba216314389a2072325 (patch)
tree275183190d033886ed290e8b3dbb2c495eede30a /girepository
parent4a006e6b7b61636e097ffdcfbe5cd6b40129842d (diff)
downloadgobject-introspection-c1f4f42be118243549b00ba216314389a2072325.tar.gz
scanner: Fix rename-to handling
We were writing the attributes backwards. Also actually use the attribute in the typelib generation.
Diffstat (limited to 'girepository')
-rw-r--r--girepository/girparser.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/girepository/girparser.c b/girepository/girparser.c
index bdb87811..0c022f92 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -774,6 +774,7 @@ start_function (GMarkupParseContext *context,
GError **error)
{
const gchar *name;
+ const gchar *shadows;
const gchar *symbol;
const gchar *deprecated;
const gchar *throws;
@@ -817,6 +818,7 @@ start_function (GMarkupParseContext *context,
ctx->in_embedded_type = in_embedded_type;
name = find_attribute ("name", attribute_names, attribute_values);
+ shadows = find_attribute ("name", attribute_names, attribute_values);
symbol = find_attribute ("c:identifier", attribute_names, attribute_values);
deprecated = find_attribute ("deprecated", attribute_names, attribute_values);
throws = find_attribute ("throws", attribute_names, attribute_values);
@@ -832,6 +834,9 @@ start_function (GMarkupParseContext *context,
return FALSE;
}
+ if (shadows)
+ name = shadows;
+
function = (GIrNodeFunction *) g_ir_node_new (G_IR_NODE_FUNCTION,
ctx->current_module);