girepository/ginvoke.c girepository/girepository.h

2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>

    * girepository/ginvoke.c
    * girepository/girepository.h
    * girepository/gmetadata.c
    * girepository/gmetadata.h
    * tools/generate.c
    * tools/gidlparser.c

      Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
      to avoid confusion with the interface blob.

    * tools/generate.c
    * tools/gidlparser.c

      Remove magic numbers and replace with type-tag
      enumeration symbols.

    * girepository/gmetadata.c
      Add validate declaration.

WARNING: This commit does not compile. It is a partial change.

svn path=/trunk/; revision=129
This commit is contained in:
Mark Doffman 2008-03-10 17:44:06 +00:00 committed by Philip Withnall
parent a7d0962d46
commit 9e6472853a

View File

@ -79,11 +79,11 @@ write_type_info (const gchar *namespace,
tag = g_type_info_get_tag (info); tag = g_type_info_get_tag (info);
if (tag < 18) if (tag < TYPE_TAG_UTF8)
g_fprintf (file, "%s%s", basic[tag], g_type_info_is_pointer (info) ? "*" : ""); g_fprintf (file, "%s%s", basic[tag], g_type_info_is_pointer (info) ? "*" : "");
else if (tag < 20) else if (tag <= TYPE_TAG_FILENAME)
g_fprintf (file, "%s", basic[tag]); g_fprintf (file, "%s", basic[tag]);
else if (tag == 20) else if (tag == TYPE_TAG_ARRAY)
{ {
gint length; gint length;
@ -102,7 +102,7 @@ write_type_info (const gchar *namespace,
g_fprintf (file, "]"); g_fprintf (file, "]");
g_base_info_unref ((GIBaseInfo *)type); g_base_info_unref ((GIBaseInfo *)type);
} }
else if (tag == 21) else if (tag == TYPE_TAG_SYMBOL)
{ {
GIBaseInfo *iface = g_type_info_get_interface (info); GIBaseInfo *iface = g_type_info_get_interface (info);
write_type_name (namespace, iface, file); write_type_name (namespace, iface, file);
@ -110,7 +110,7 @@ write_type_info (const gchar *namespace,
g_fprintf (file, "*"); g_fprintf (file, "*");
g_base_info_unref (iface); g_base_info_unref (iface);
} }
else if (tag == 22) else if (tag == TYPE_TAG_LIST)
{ {
type = g_type_info_get_param_type (info, 0); type = g_type_info_get_param_type (info, 0);
g_fprintf (file, "GList"); g_fprintf (file, "GList");
@ -123,7 +123,7 @@ write_type_info (const gchar *namespace,
} }
g_fprintf (file, "*"); g_fprintf (file, "*");
} }
else if (tag == 23) else if (tag == TYPE_TAG_SLIST)
{ {
type = g_type_info_get_param_type (info, 0); type = g_type_info_get_param_type (info, 0);
g_fprintf (file, "GSList"); g_fprintf (file, "GSList");
@ -136,7 +136,7 @@ write_type_info (const gchar *namespace,
} }
g_fprintf (file, "*"); g_fprintf (file, "*");
} }
else if (tag == 24) else if (tag == TYPE_TAG_HASH)
{ {
type = g_type_info_get_param_type (info, 0); type = g_type_info_get_param_type (info, 0);
g_fprintf (file, "GHashTable"); g_fprintf (file, "GHashTable");
@ -153,7 +153,7 @@ write_type_info (const gchar *namespace,
} }
g_fprintf (file, "*"); g_fprintf (file, "*");
} }
else if (tag == 25) else if (tag == TYPE_TAG_ERROR)
{ {
gint n; gint n;
@ -532,8 +532,11 @@ write_constant_value (const gchar *namespace,
case GI_TYPE_TAG_FILENAME: case GI_TYPE_TAG_FILENAME:
g_fprintf (file, "%s", value->v_string); g_fprintf (file, "%s", value->v_string);
break; break;
case GI_TYPE_TAG_SYMBOL:
g_fprintf (file, "%s", value->v_string);
break;
default: default:
g_assert_not_reached (); g_warning ("Could not get type tag for constant");
} }
} }