diff options
author | Johan Dahlin <johan@gnome.org> | 2008-08-16 22:26:55 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-08-16 22:26:55 +0000 |
commit | 20252d7c3013461387370de251f9f84b7ceed1b8 (patch) | |
tree | f83be2d13f7a7fc1aaaf07984d2edae81c99352d /giscanner | |
parent | 83450e1566a5f5ab161fa70854840963583086c9 (diff) | |
download | gobject-introspection-20252d7c3013461387370de251f9f84b7ceed1b8.tar.gz |
Remove resolve_possible_typedefs, it was unused. Allow multiple enum
2008-08-17 Johan Dahlin <johan@gnome.org>
* girepository/gtypelib.c (validate_enum_blob):
* giscanner/glibtransformer.py:
* giscanner/transformer.py:
Remove resolve_possible_typedefs, it was unused.
Allow multiple enum values of the sample value in an enum,
since it's actually pretty common.
Register enums so they can be resolved too.
svn path=/trunk/; revision=389
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/glibtransformer.py | 4 | ||||
-rw-r--r-- | giscanner/transformer.py | 8 |
2 files changed, 5 insertions, 7 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py index 317754bd..82b19581 100644 --- a/giscanner/glibtransformer.py +++ b/giscanner/glibtransformer.py @@ -182,7 +182,8 @@ class GLibTransformer(object): def _name_is_internal_gtype(self, giname): try: node = self._internal_types[giname] - return isinstance(node, (GLibObject, GLibInterface, GLibBoxed)) + return isinstance(node, (GLibObject, GLibInterface, GLibBoxed, + GLibEnum, GLibFlags)) except KeyError, e: return False @@ -399,7 +400,6 @@ class GLibTransformer(object): def _resolve_param_type(self, ptype): ptype.name = ptype.name.replace('*', '') type_name = ptype.name - type_name = self._transformer.resolve_possible_typedef(type_name) possible_node = self._internal_types.get(type_name) if possible_node: ptype.name = possible_node.name diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 15039b6f..72c1daac 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -48,7 +48,6 @@ class Transformer(object): self._ctype_names = {} # Maps from CType -> (namespace, node) self._typedefs_ns = {} self._strip_prefix = '' - self._typedefs = {} def get_type_names(self): return self._type_names @@ -59,9 +58,6 @@ class Transformer(object): def set_strip_prefix(self, strip_prefix): self._strip_prefix = strip_prefix - def resolve_possible_typedef(self, tname): - return self._typedefs.get(tname, tname) - def parse(self): nodes = [] for symbol in self.generator.get_symbols(): @@ -161,7 +157,9 @@ class Transformer(object): enum_name = self.strip_namespace_object(symbol.ident) enum_name = symbol.ident[-len(enum_name):] - return Enum(enum_name, symbol.ident, members) + enum = Enum(enum_name, symbol.ident, members) + self._type_names[symbol.ident] = (None, enum) + return enum def _create_object(self, symbol): return Member(symbol.ident, symbol.base_type.name, |