gobject-introspection r118 - in trunk: . tools
- From: robtaylor svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r118 - in trunk: . tools
- Date: Mon, 18 Feb 2008 16:42:14 +0000 (GMT)
Author: robtaylor
Date: Mon Feb 18 16:42:14 2008
New Revision: 118
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=118&view=rev
Log:
2008-02-18 Rob Taylor <rob taylor codethink co uk>
* tools/gidlnode.h:
* tools/gidlnode.c: (g_idl_node_can_have_member):
Add g_idl_node_can_have_member.
* tools/scanner.c: (g_igenerator_process_function_symbol):
Use g_idl_node_can_have_member to test if we should add a function
as a member of the type node.
Modified:
trunk/ChangeLog
trunk/tools/gidlnode.c
trunk/tools/gidlnode.h
trunk/tools/scanner.c
Modified: trunk/tools/gidlnode.c
==============================================================================
--- trunk/tools/gidlnode.c (original)
+++ trunk/tools/gidlnode.c Mon Feb 18 16:42:14 2008
@@ -776,6 +776,21 @@
return strcmp (node->name, other->name);
}
+gboolean
+g_idl_node_can_have_member (GIdlNode *node)
+{
+ switch (node->type)
+ {
+ case G_IDL_NODE_OBJECT:
+ case G_IDL_NODE_INTERFACE:
+ case G_IDL_NODE_BOXED:
+ case G_IDL_NODE_STRUCT:
+ case G_IDL_NODE_UNION:
+ return TRUE;
+ };
+ return FALSE;
+}
+
void
g_idl_node_add_member (GIdlNode *node,
GIdlNodeFunction *member)
Modified: trunk/tools/gidlnode.h
==============================================================================
--- trunk/tools/gidlnode.h (original)
+++ trunk/tools/gidlnode.h Mon Feb 18 16:42:14 2008
@@ -319,6 +319,7 @@
guint32 *offset2);
int g_idl_node_cmp (GIdlNode *node,
GIdlNode *other);
+gboolean g_idl_node_can_have_member (GIdlNode *node);
void g_idl_node_add_member (GIdlNode *node,
GIdlNodeFunction *member);
guint32 write_string (const gchar *str,
Modified: trunk/tools/scanner.c
==============================================================================
--- trunk/tools/scanner.c (original)
+++ trunk/tools/scanner.c Mon Feb 18 16:42:14 2008
@@ -613,7 +613,7 @@
node = g_hash_table_lookup (igenerator->type_by_lower_case_prefix,
prefix);
- if (node != NULL)
+ if (node != NULL && g_idl_node_can_have_member (node))
{
func->node.name = g_strdup (last_underscore + 1);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]