summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2010-09-26 14:44:08 -0300
committerJohan Dahlin <johan@gnome.org>2010-09-26 14:44:08 -0300
commitea72e772186c16d232d7340712bb7f52ebe8badb (patch)
treedb52b455bb05db2b8e31692bba9d147e99e0a83f /giscanner
parent13d9de51e5ce337e3f5031dceb6def12cf7d05a8 (diff)
downloadgobject-introspection-ea72e772186c16d232d7340712bb7f52ebe8badb.tar.gz
[scanner] Make sure private enums are filtered
This is a follow-up to 60a8c75 which wasn't properly fixed.
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/scannerparser.y2
-rw-r--r--giscanner/transformer.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index 012e3434..80da1b9b 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -878,10 +878,12 @@ enumerator_list
}
enumerator
{
+ $2->private = scanner->private;
$$ = g_list_append (NULL, $2);
}
| enumerator_list ',' enumerator
{
+ $3->private = scanner->private;
$$ = g_list_append ($1, $3);
}
;
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index 4ad4d870..acf0df88 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -351,11 +351,11 @@ raise ValueError."""
prefixlen = 0
members = []
for child in symbol.base_type.child_list:
+ if child.private:
+ continue
if prefixlen > 0:
name = child.ident[prefixlen:]
else:
- if child.private:
- continue
# Ok, the enum members don't have a consistent prefix
# among them, so let's just remove the global namespace
# prefix.