summaryrefslogtreecommitdiff
path: root/girepository/girparser.c
diff options
context:
space:
mode:
authorAndreas Rottmann <a.rottmann@gmx.at>2010-12-07 00:07:08 +0100
committerAndreas Rottmann <a.rottmann@gmx.at>2010-12-07 00:07:08 +0100
commitf135e6f2f81e9dd52385cb1449779ef420c950c3 (patch)
treebee9c1f84f2b8b43239b55ed8bd50f43a0515cb3 /girepository/girparser.c
parent10b88acfd4df8204fbc0763b5c8c90587c7c9a79 (diff)
downloadgobject-introspection-f135e6f2f81e9dd52385cb1449779ef420c950c3.tar.gz
Don't emit shadowed methods into the typelib
Ignore shadowed methods when parsing the GIR.
Diffstat (limited to 'girepository/girparser.c')
-rw-r--r--girepository/girparser.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/girepository/girparser.c b/girepository/girparser.c
index 0b058392..03ab6d2e 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -688,12 +688,15 @@ introspectable_prelude (GMarkupParseContext *context,
ParseState new_state)
{
const gchar *introspectable_arg;
+ const gchar *shadowed_by;
gboolean introspectable;
g_assert (ctx->state != STATE_PASSTHROUGH);
introspectable_arg = find_attribute ("introspectable", attribute_names, attribute_values);
- introspectable = !(introspectable_arg && atoi (introspectable_arg) == 0);
+ shadowed_by = find_attribute ("shadowed-by", attribute_names, attribute_values);
+
+ introspectable = !(introspectable_arg && atoi (introspectable_arg) == 0) && shadowed_by == NULL;
if (introspectable)
state_switch (ctx, new_state);