gobject-introspection r352 - in trunk: . giscanner tests/scanner
- From: walters svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r352 - in trunk: . giscanner tests/scanner
- Date: Tue, 12 Aug 2008 19:06:34 +0000 (UTC)
Author: walters
Date: Tue Aug 12 19:06:34 2008
New Revision: 352
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=352&view=rev
Log:
2008-08-12 Colin Walters <walters verbum org>
* giscanner/glibtransformer.py: Also transform callbacks
and structure field types.
* tests/scanner/Fooe-expected.gir: Update to expect correct
names for callbacks and structs.
Modified:
trunk/ChangeLog
trunk/giscanner/glibtransformer.py
trunk/tests/scanner/Foo-expected.gir
Modified: trunk/giscanner/glibtransformer.py
==============================================================================
--- trunk/giscanner/glibtransformer.py (original)
+++ trunk/giscanner/glibtransformer.py Tue Aug 12 19:06:34 2008
@@ -25,7 +25,7 @@
from . import cgobject
from .odict import odict
from .ast import (Callback, Enum, Function, Member, Namespace, Parameter,
- Property, Return, Sequence, Struct, Type,
+ Property, Return, Sequence, Struct, Field, Type,
type_name_from_ctype)
from .glibast import (GLibBoxed, GLibEnum, GLibEnumMember, GLibFlags,
GLibInterface, GLibObject, GLibSignal)
@@ -114,13 +114,18 @@
print 'GOBJECT BUILDER: Unhandled node:', node
def _resolve_node(self, node):
- if isinstance(node, Function):
+ ntype = type(node)
+ if ntype in (Callback, Function):
self._resolve_function(node)
- elif type(node) in (GLibObject, GLibBoxed):
+ elif ntype in (GLibObject, GLibBoxed):
for meth in node.methods:
self._resolve_function(meth)
for ctor in node.constructors:
self._resolve_function(ctor)
+ elif ntype in (Struct,):
+ for field in node.fields:
+ if isinstance(field, Field):
+ self._resolve_field(field)
def _parse_enum(self, enum):
self._add_attribute(enum)
@@ -143,6 +148,9 @@
for parameter in parameters:
parameter.type = self._resolve_param_type(parameter.type)
+ def _resolve_field(self, field):
+ field.type = self._resolve_param_type(field.type)
+
def _parse_get_type_function(self, func):
if self._library is None:
return False
Modified: trunk/tests/scanner/Foo-expected.gir
==============================================================================
--- trunk/tests/scanner/Foo-expected.gir (original)
+++ trunk/tests/scanner/Foo-expected.gir Tue Aug 12 19:06:34 2008
@@ -323,7 +323,7 @@
</return-value>
<parameters>
<parameter name="foo">
- <type name="FooObject*" c:type="FooObject*"/>
+ <type name="Object" c:type="FooObject*"/>
</parameter>
<parameter name="b">
<type name="boolean" c:type="gboolean"/>
@@ -335,7 +335,7 @@
</callback>
<record name="FooStruct" c:type="FooStruct">
<field name="priv">
- <type name="FooStructPrivate*" c:type="FooStructPrivate*"/>
+ <type name="FooStructPrivate" c:type="FooStructPrivate*"/>
</field>
<field name="member">
<type name="int32" c:type="int"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]