diff options
author | Colin Walters <walters@verbum.org> | 2010-09-01 17:55:30 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-09-01 17:55:30 -0400 |
commit | f9db355f2f1f55307e32e0f9f2d787f46941681b (patch) | |
tree | aed47efe287c73eb9ee78914b9942267a74a1197 /giscanner/gdumpparser.py | |
parent | fb6979ec7555bba02ebf80cb8756ae274759ac8e (diff) | |
download | gobject-introspection-f9db355f2f1f55307e32e0f9f2d787f46941681b.tar.gz |
scanner: Better handling of GType names
Before, Type instances could be indeterminate, holding a "ctype",
which means "This is some unresolved string". However, we also get
data from GType, so add gtype_name as another indeterminate state.
Clean up how we create and resolve Type instances from GType data.
Diffstat (limited to 'giscanner/gdumpparser.py')
-rw-r--r-- | giscanner/gdumpparser.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py index ce6f9a25..ca9b38a9 100644 --- a/giscanner/gdumpparser.py +++ b/giscanner/gdumpparser.py @@ -301,7 +301,7 @@ blob containing data gleaned from GObject's primitive introspection.""" self._introspect_signals(node, xmlnode) for child in xmlnode.findall('prerequisite'): name = child.attrib['name'] - prereq = self._transformer.create_type_from_user_string(name) + prereq = self._transformer.create_type_from_gtype_name(name) node.prerequisites.append(prereq) # GtkFileChooserEmbed is an example of a private interface, we # just filter them out @@ -321,7 +321,7 @@ blob containing data gleaned from GObject's primitive introspection.""" def _introspect_implemented_interfaces(self, node, xmlnode): gt_interfaces = [] for interface in xmlnode.findall('implements'): - gitype = self._transformer.create_type_from_user_string(interface.attrib['name']) + gitype = self._transformer.create_type_from_gtype_name(interface.attrib['name']) gt_interfaces.append(gitype) node.interfaces = gt_interfaces @@ -335,7 +335,7 @@ blob containing data gleaned from GObject's primitive introspection.""" construct_only = (flags & G_PARAM_CONSTRUCT_ONLY) != 0 node.properties.append(ast.Property( pspec.attrib['name'], - self._transformer.create_type_from_user_string(ctype), + self._transformer.create_type_from_gtype_name(ctype), readable, writable, construct, construct_only, ctype, )) @@ -344,7 +344,7 @@ blob containing data gleaned from GObject's primitive introspection.""" def _introspect_signals(self, node, xmlnode): for signal_info in xmlnode.findall('signal'): rctype = signal_info.attrib['return'] - rtype = self._transformer.create_type_from_user_string(rctype) + rtype = self._transformer.create_type_from_gtype_name(rctype) return_ = ast.Return(rtype) parameters = [] for i, parameter in enumerate(signal_info.findall('param')): @@ -353,7 +353,7 @@ blob containing data gleaned from GObject's primitive introspection.""" else: argname = 'p%s' % (i-1, ) pctype = parameter.attrib['type'] - ptype = self._transformer.create_type_from_user_string(pctype) + ptype = self._transformer.create_type_from_gtype_name(pctype) param = ast.Parameter(argname, ptype) param.transfer = ast.PARAM_TRANSFER_NONE parameters.append(param) @@ -364,7 +364,7 @@ blob containing data gleaned from GObject's primitive introspection.""" def _parse_parents(self, xmlnode, node): parents_str = xmlnode.attrib.get('parents', '') if parents_str != '': - parent_types = map(lambda s: self._transformer.create_type_from_user_string(s), + parent_types = map(lambda s: self._transformer.create_type_from_gtype_name(s), parents_str.split(',')) else: parent_types = [] |