gobject-introspection r324 - in branches/gir-compiler: girepository tools



Author: johan
Date: Thu Aug  7 22:15:22 2008
New Revision: 324
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=324&view=rev

Log:
Add string/any/sequence to the parser/typelib

Modified:
   branches/gir-compiler/girepository/gtypelib.h
   branches/gir-compiler/tools/girnode.c
   branches/gir-compiler/tools/girnode.h
   branches/gir-compiler/tools/girparser.c

Modified: branches/gir-compiler/girepository/gtypelib.h
==============================================================================
--- branches/gir-compiler/girepository/gtypelib.h	(original)
+++ branches/gir-compiler/girepository/gtypelib.h	Thu Aug  7 22:15:22 2008
@@ -126,7 +126,10 @@
   TYPE_TAG_LIST      = 22,
   TYPE_TAG_SLIST     = 23,
   TYPE_TAG_HASH      = 24,
-  TYPE_TAG_ERROR     = 25
+  TYPE_TAG_ERROR     = 25,
+  TYPE_TAG_STRING    = 26,
+  TYPE_TAG_SEQUENCE  = 27,
+  TYPE_TAG_ANY       = 28
 } TypeTag;
 
 typedef union

Modified: branches/gir-compiler/tools/girnode.c
==============================================================================
--- branches/gir-compiler/tools/girnode.c	(original)
+++ branches/gir-compiler/tools/girnode.c	Thu Aug  7 22:15:22 2008
@@ -1107,9 +1107,12 @@
     "ssize",
     "size",
     "float", 
-    "double", 
+    "double",
     "utf8", 
-    "filename"
+    "filename",
+    "string",
+    "sequence",
+    "any"
   };
   
   if (node->tag < 20)
@@ -1224,8 +1227,10 @@
 
 	*offset += 4;
 	
-	if (type->tag < TYPE_TAG_ARRAY)
-	  {
+	if (type->tag < TYPE_TAG_ARRAY ||
+	    type->tag == TYPE_TAG_STRING ||
+	    type->tag == TYPE_TAG_ANY)
+	  { 
 	    blob->reserved = 0;
 	    blob->reserved2 = 0;
 	    blob->pointer = type->is_pointer;

Modified: branches/gir-compiler/tools/girnode.h
==============================================================================
--- branches/gir-compiler/tools/girnode.h	(original)
+++ branches/gir-compiler/tools/girnode.h	Thu Aug  7 22:15:22 2008
@@ -45,26 +45,26 @@
 
 typedef enum 
 {
-  G_IR_NODE_INVALID,
-  G_IR_NODE_FUNCTION,
-  G_IR_NODE_CALLBACK,
-  G_IR_NODE_STRUCT,
-  G_IR_NODE_BOXED,
-  G_IR_NODE_ENUM,
-  G_IR_NODE_FLAGS,
-  G_IR_NODE_OBJECT,
-  G_IR_NODE_INTERFACE,
-  G_IR_NODE_CONSTANT,
-  G_IR_NODE_ERROR_DOMAIN,
-  G_IR_NODE_UNION,
-  G_IR_NODE_PARAM,
-  G_IR_NODE_TYPE,
-  G_IR_NODE_PROPERTY,
-  G_IR_NODE_SIGNAL,
-  G_IR_NODE_VALUE,
-  G_IR_NODE_VFUNC,
-  G_IR_NODE_FIELD,
-  G_IR_NODE_XREF
+  G_IR_NODE_INVALID      =  0,
+  G_IR_NODE_FUNCTION     =  1,
+  G_IR_NODE_CALLBACK     =  2,
+  G_IR_NODE_STRUCT       =  3,
+  G_IR_NODE_BOXED        =  4,
+  G_IR_NODE_ENUM         =  5,
+  G_IR_NODE_FLAGS        =  6, 
+  G_IR_NODE_OBJECT       =  7,
+  G_IR_NODE_INTERFACE    =  8,
+  G_IR_NODE_CONSTANT     =  9,
+  G_IR_NODE_ERROR_DOMAIN = 10,
+  G_IR_NODE_UNION        = 11,
+  G_IR_NODE_PARAM        = 12,
+  G_IR_NODE_TYPE         = 13,
+  G_IR_NODE_PROPERTY     = 14,
+  G_IR_NODE_SIGNAL       = 15,
+  G_IR_NODE_VALUE        = 16,
+  G_IR_NODE_VFUNC        = 17,
+  G_IR_NODE_FIELD        = 18,
+  G_IR_NODE_XREF         = 19
 } GIrNodeTypeId;
 
 struct _GIrNode

Modified: branches/gir-compiler/tools/girparser.c
==============================================================================
--- branches/gir-compiler/tools/girparser.c	(original)
+++ branches/gir-compiler/tools/girparser.c	Thu Aug  7 22:15:22 2008
@@ -184,7 +184,8 @@
     { "gdouble",  TYPE_TAG_DOUBLE,  0 },
     { "utf8",     TYPE_TAG_UTF8,    1 },  
     { "gchar*",   TYPE_TAG_UTF8,    1 },  
-    { "filename", TYPE_TAG_FILENAME,1 }
+    { "filename", TYPE_TAG_FILENAME,1 },
+    { "string",   TYPE_TAG_STRING,  1 }
   };  
 
   gint n_basic = G_N_ELEMENTS (basic);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]