summaryrefslogtreecommitdiff
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
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.
-rw-r--r--giscanner/scannerparser.y2
-rw-r--r--giscanner/transformer.py4
-rw-r--r--tests/scanner/Regress-1.0-expected.gir4
3 files changed, 6 insertions, 4 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.
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 15029d22..e1aea04d 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -700,10 +700,10 @@ TpAccount::status-changed</doc>
</field>
</record>
<bitfield name="TestPrivateEnum" c:type="RegressTestPrivateEnum">
- <member name="before"
+ <member name="public_enum_before"
value="1"
c:identifier="REGRESS_TEST_PUBLIC_ENUM_BEFORE"/>
- <member name="after"
+ <member name="public_enum_after"
value="4"
c:identifier="REGRESS_TEST_PUBLIC_ENUM_AFTER"/>
</bitfield>