summaryrefslogtreecommitdiff
path: root/giscanner/gdumpparser.py
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2021-02-09 11:38:27 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2021-02-09 11:38:27 +0000
commitc7a9861d9cd165f7e2db78811c111b78ca8d6add (patch)
tree4ce9d2725dae029dc8109ba90d1d863fdcfa12e6 /giscanner/gdumpparser.py
parent5ed5b1ed30938dbe70e50feffa56ee5ee47696d2 (diff)
downloadgobject-introspection-ebassi/final-type.tar.gz
Add "final" class attributeebassi/final-type
A "final" class is a leaf node in a derivable type hierarchy, and cannot be derived any further. This matches the changes in libgobject that introduced G_TYPE_FLAG_FINAL to the type flags.
Diffstat (limited to 'giscanner/gdumpparser.py')
-rw-r--r--giscanner/gdumpparser.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index 3d9720d0..31147a08 100644
--- a/giscanner/gdumpparser.py
+++ b/giscanner/gdumpparser.py
@@ -315,6 +315,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
def _introspect_object(self, xmlnode):
type_name = xmlnode.attrib['name']
is_abstract = bool(xmlnode.attrib.get('abstract', False))
+ is_final = bool(xmlnode.attrib.get('final', False))
(get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
try:
object_name = self._transformer.strip_identifier(type_name)
@@ -324,7 +325,8 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
gtype_name=type_name,
get_type=get_type,
c_symbol_prefix=c_symbol_prefix,
- is_abstract=is_abstract)
+ is_abstract=is_abstract,
+ is_final=is_final)
self._parse_parents(xmlnode, node)
self._introspect_properties(node, xmlnode)
self._introspect_signals(node, xmlnode)
@@ -453,6 +455,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
type_name = xmlnode.attrib['name']
is_abstract = bool(xmlnode.attrib.get('abstract', False))
+ is_final = bool(xmlnode.attrib.get('final', False))
(get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
try:
fundamental_name = self._transformer.strip_identifier(type_name)
@@ -464,7 +467,8 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
gtype_name=type_name,
get_type=get_type,
c_symbol_prefix=c_symbol_prefix,
- is_abstract=is_abstract)
+ is_abstract=is_abstract,
+ is_final=is_final)
self._parse_parents(xmlnode, node)
node.fundamental = True
self._introspect_implemented_interfaces(node, xmlnode)