Use symbolic names for type tags instead of hardcoded integers
authorColin Walters <walters@src.gnome.org>
Tue, 23 Sep 2008 22:18:06 +0000 (22:18 +0000)
committerColin Walters <walters@src.gnome.org>
Tue, 23 Sep 2008 22:18:06 +0000 (22:18 +0000)
svn path=/trunk/; revision=626

giscanner/minixpath.py
tools/generate.c

index a14afa907d329c9676cfe94b554578728420636c..b142e8b650b3c357a6be11899cde86a843b07ac2 100644 (file)
@@ -49,11 +49,15 @@ def myxpath(node, expr):
         if not curnodes:
             return None
         found = True
+        #print "LOOKING %d nodes" % (len(curnodes), )
         for node in curnodes:
+            #print "LOOKING: %r expecting: %r attrib: %r" \
+            #    % (node, exp_attrs, node.attrib)
             passes = True
-            for (name, val) in exp_attrs:
+            for name, val in exp_attrs:
                 a = node.attrib.get(name)
                 if not a or a != val:
+                    #print "ATTR FAIL: %r=%r" % (val, a)
                     passes = False
                     break
             if passes:
index f10bdf9159f355210106e7da7b6ea23a24b1ee6c..dca2cdac07494fb38d4eb5d2f164a4e16f89c64c 100644 (file)
@@ -100,9 +100,9 @@ write_type_info (const gchar *namespace,
       else
        g_fprintf (file, "%s", "none");
     } 
-  else if (tag < 20)
+  else if (tag < GI_TYPE_TAG_ARRAY)
     g_fprintf (file, "%s", basic[tag]);
-  else if (tag == 20)
+  else if (tag == GI_TYPE_TAG_ARRAY)
     {
       gint length;
 
@@ -121,13 +121,13 @@ write_type_info (const gchar *namespace,
      g_fprintf (file, "]"); 
       g_base_info_unref ((GIBaseInfo *)type);
     }
-  else if (tag == 21)
+  else if (tag == GI_TYPE_TAG_INTERFACE)
     {
       GIBaseInfo *iface = g_type_info_get_interface (info);
       write_type_name (namespace, iface, file);
       g_base_info_unref (iface);
     }
-  else if (tag == 22)
+  else if (tag == GI_TYPE_TAG_GLIST)
     {
       type = g_type_info_get_param_type (info, 0);
       g_fprintf (file, "GLib.List");
@@ -139,7 +139,7 @@ write_type_info (const gchar *namespace,
          g_base_info_unref ((GIBaseInfo *)type);
        }
     }
-  else if (tag == 23)
+  else if (tag == GI_TYPE_TAG_GSLIST)
     {
       type = g_type_info_get_param_type (info, 0);
       g_fprintf (file, "GLib.SList");
@@ -151,7 +151,7 @@ write_type_info (const gchar *namespace,
          g_base_info_unref ((GIBaseInfo *)type);
        }
     }
-  else if (tag == 24)
+  else if (tag == GI_TYPE_TAG_GHASH)
     {
       type = g_type_info_get_param_type (info, 0);
       g_fprintf (file, "GLib.HashTable");
@@ -167,7 +167,7 @@ write_type_info (const gchar *namespace,
          g_base_info_unref ((GIBaseInfo *)type);
        }
     }
-  else if (tag == 25
+  else if (tag == GI_TYPE_TAG_ERROR
     {
       gint n;
 
@@ -188,7 +188,10 @@ write_type_info (const gchar *namespace,
        }
     }
   else
-    g_assert_not_reached ();
+    {
+      g_printerr ("Unhandled type tag %d\n", tag);
+      g_assert_not_reached ();
+    }
 }
 
 static void