[gobject-introspection/wip/transformer] A few fixes to passthrough GLib-2.0.gir
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection/wip/transformer] A few fixes to passthrough GLib-2.0.gir
- Date: Thu, 22 Jul 2010 02:32:12 +0000 (UTC)
commit df7b6318c15eeae420338ce2e3f4587228b07ee2
Author: Colin Walters <walters verbum org>
Date: Wed Jul 21 22:29:00 2010 -0400
A few fixes to passthrough GLib-2.0.gir
giscanner/girparser.py | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index 113ca49..d969c5b 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -22,7 +22,7 @@ import os
from xml.etree.cElementTree import parse
-from .ast import (Alias, Array, Callback, Constant, Enum, Function, Field,
+from .ast import (Alias, Array, Callback, Constant, Enum, Bitfield, Function, Field,
Namespace, Parameter, Property, Return, Union, Type, List,
VFunction, Record, Varargs, Include, PARAM_DIRECTION_IN,
Annotated)
@@ -328,6 +328,8 @@ class GIRParser(object):
struct = Record(node.attrib['name'],
node.attrib.get(_cns('type')),
disguised=node.attrib.get('disguised') == '1')
+ if node.attrib.get('foreign') == '1':
+ struct.foreign = True
self._parse_generic_attribs(node, struct)
self._namespace.append(struct)
@@ -486,10 +488,13 @@ class GIRParser(object):
else:
klass = GLibEnum
else:
- klass = Enum
+ if node.tag == _corens('bitfield'):
+ klass = Bitfield
+ else:
+ klass = Enum
type_name = ctype
members = []
- if klass is Enum:
+ if klass in (Enum, Bitfield):
obj = klass(name, type_name, members)
else:
obj = klass(name, type_name, members, get_type)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]