Record typedefs as <alias> elements. Also attempt to look up types in

2008-08-12  Colin Walters  <walters@verbum.org>

	* giscanner/transformer.py: Record typedefs as <alias> elements.
	  Also attempt to look up types in external namespaces.
	* giscanner/girwriter.py: Write them.
	* giscanner/glibtransformer.py: Rework resolver using real instanceof
	checks.  Resolve interface methods and properties.
	* tests/scanner/foo-object.h: Add a method with typedef.
	* tests/scanner/Foo-expected.gir: Update.
	* girepository/girnode.c: Debug tweaks.
	* girepository/girparser.c: Make a first pass through the XML where we
	record all the aliases.  This lets us resolve them as we go through the
	second pass.
	* gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
	from gir-repository.



svn path=/trunk/; revision=355
This commit is contained in:
Colin Walters
2008-08-13 16:10:09 +00:00
committed by Colin Walters
parent 8c6c262f22
commit de7d01898e
2 changed files with 140 additions and 10 deletions

View File

@@ -880,7 +880,7 @@ g_ir_node_get_full_size_internal (GIrNode *parent, GIrNode *node)
size = 0;
}
g_debug ("node %p type '%s' full size %d", node,
g_debug ("node '%s' %p type '%s' full size %d", node->name, node,
g_ir_node_type_to_string (node->type), size);
return size;
@@ -2173,8 +2173,8 @@ g_ir_node_build_typelib (GIrNode *node,
g_assert_not_reached ();
}
g_debug ("node %p type '%s', offset %d -> %d, offset2 %d -> %d",
node, g_ir_node_type_to_string (node->type),
g_debug ("node '%s' %p type '%s', offset %d -> %d, offset2 %d -> %d",
node->name, node, g_ir_node_type_to_string (node->type),
old_offset, *offset, old_offset2, *offset2);
if (*offset2 - old_offset2 + *offset - old_offset > g_ir_node_get_full_size (node))