summaryrefslogtreecommitdiff
path: root/girepository
diff options
context:
space:
mode:
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);