From 78bec866b86a315c8c7eb78eea9e0191dba5dc9c Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 6 Aug 2008 00:17:25 +0000 Subject: Rename lots of things to be GIr namespaced, start to convert tests svn path=/branches/gir-compiler/; revision=300 --- girepository/gtypelib.c | 2 +- girepository/gtypelib.h | 2 +- tests/array.test | 29 +- tests/boxed.test | 41 +-- tests/constant.test | 7 +- tests/enum.test | 7 +- tests/errors.test | 7 +- tests/function.test | 7 +- tests/gobject.test | 7 +- tests/interface.test | 7 +- tests/invoke/Makefile.am | 10 +- tests/invoke/testfns.gir | 64 +++++ tests/invoke/testfns.xml | 62 ----- tests/object.test | 7 +- tests/parser/Makefile.am | 4 +- tests/struct.test | 7 +- tests/types.test | 7 +- tests/union.test | 7 +- tests/xref1.test | 7 +- tests/xref2.test | 7 +- tools/compiler.c | 12 +- tools/girmodule.c | 38 +-- tools/girmodule.h | 20 +- tools/girnode.c | 680 +++++++++++++++++++++++------------------------ tools/girnode.h | 2 +- tools/girparser.c | 375 +++++++++++++------------- 26 files changed, 731 insertions(+), 694 deletions(-) create mode 100755 tests/invoke/testfns.gir delete mode 100644 tests/invoke/testfns.xml diff --git a/girepository/gtypelib.c b/girepository/gtypelib.c index 3df1918b..cc07e96e 100644 --- a/girepository/gtypelib.c +++ b/girepository/gtypelib.c @@ -113,7 +113,7 @@ validate_header (GTypelib *metadata, header = (Header *)metadata->data; - if (strncmp (header->magic, G_IDL_MAGIC, 16) != 0) + if (strncmp (header->magic, G_IR_MAGIC, 16) != 0) { g_set_error (error, G_TYPELIB_ERROR, diff --git a/girepository/gtypelib.h b/girepository/gtypelib.h index 352c3a8e..e97d7b68 100644 --- a/girepository/gtypelib.h +++ b/girepository/gtypelib.h @@ -27,7 +27,7 @@ G_BEGIN_DECLS -#define G_IDL_MAGIC "GOBJ\nMETADATA\r\n\032" +#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032" enum { diff --git a/tests/array.test b/tests/array.test index f204389b..8d392c29 100644 --- a/tests/array.test +++ b/tests/array.test @@ -1,25 +1,28 @@ - + - - + + - - + + - - + + - - + + - - + + - + - + diff --git a/tests/boxed.test b/tests/boxed.test index 29ae8854..466afa15 100644 --- a/tests/boxed.test +++ b/tests/boxed.test @@ -1,35 +1,38 @@ - + - - - - - + + + + + - - - - + + + + - - + + - - + + - - + + - - + + - + diff --git a/tests/constant.test b/tests/constant.test index ed3671c5..f5da5358 100644 --- a/tests/constant.test +++ b/tests/constant.test @@ -1,5 +1,8 @@ - + @@ -7,4 +10,4 @@ - + diff --git a/tests/enum.test b/tests/enum.test index 1e056248..f91e6a95 100644 --- a/tests/enum.test +++ b/tests/enum.test @@ -1,5 +1,8 @@ - + @@ -17,4 +20,4 @@ - + diff --git a/tests/errors.test b/tests/errors.test index ac67c369..206640f2 100644 --- a/tests/errors.test +++ b/tests/errors.test @@ -1,5 +1,8 @@ - + @@ -19,4 +22,4 @@ - + diff --git a/tests/function.test b/tests/function.test index 74691d38..cabeb2e8 100644 --- a/tests/function.test +++ b/tests/function.test @@ -1,5 +1,8 @@ - + @@ -18,4 +21,4 @@ - + diff --git a/tests/gobject.test b/tests/gobject.test index 4715e26a..aa4aa3ae 100644 --- a/tests/gobject.test +++ b/tests/gobject.test @@ -1,7 +1,10 @@ - + - + diff --git a/tests/interface.test b/tests/interface.test index 08921bce..35ea45eb 100644 --- a/tests/interface.test +++ b/tests/interface.test @@ -1,5 +1,8 @@ - + @@ -35,4 +38,4 @@ - + diff --git a/tests/invoke/Makefile.am b/tests/invoke/Makefile.am index b56ca4dc..fa83d7be 100644 --- a/tests/invoke/Makefile.am +++ b/tests/invoke/Makefile.am @@ -16,11 +16,11 @@ testfns_la_LIBADD = $(GIREPO_LIBS) $(top_builddir)/girepository/libgirepository. BUILT_SOURCES = testfns-metadata.c test.repo CLEANFILES = testfns-metadata.c test.repo -testfns-metadata.c: testfns.xml $(top_builddir)/tools/g-idl-compiler - $(top_builddir)/tools/g-idl-compiler $(srcdir)/testfns.xml -o testfns-metadata.c +testfns-metadata.c: testfns.gir $(top_builddir)/tools/g-ir-compiler + $(CHECK_DEBUG) $(top_builddir)/tools/g-ir-compiler $(srcdir)/testfns.gir -o testfns-metadata.c -test.repo: testfns.xml - $(top_builddir)/tools/g-idl-compiler --shared-library testfns.la $< --raw -o $@ +test.repo: testfns.gir + $(CHECK_DEBUG) $(top_builddir)/tools/g-ir-compiler --shared-library testfns.la $< --raw -o $@ invoke_SOURCES = invoke.c invoke_CFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository @@ -28,6 +28,6 @@ invoke_LDADD = $(GIREPO_LIBS) $(top_builddir)/girepository/libgirepository.la TESTS = invoke invoke-namespace-find.sh -EXTRA_DIST = invoke-namespace-find.sh testfns.xml +EXTRA_DIST = invoke-namespace-find.sh testfns.gir TESTS_ENVIRONMENT = GIREPOPATH="." diff --git a/tests/invoke/testfns.gir b/tests/invoke/testfns.gir new file mode 100755 index 00000000..d6cd3340 --- /dev/null +++ b/tests/invoke/testfns.gir @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/invoke/testfns.xml b/tests/invoke/testfns.xml deleted file mode 100644 index 7997bfa8..00000000 --- a/tests/invoke/testfns.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/object.test b/tests/object.test index d0f26bc1..394c02aa 100644 --- a/tests/object.test +++ b/tests/object.test @@ -1,5 +1,8 @@ - + @@ -37,4 +40,4 @@ - + diff --git a/tests/parser/Makefile.am b/tests/parser/Makefile.am index 93c7d324..1debff3f 100644 --- a/tests/parser/Makefile.am +++ b/tests/parser/Makefile.am @@ -20,7 +20,7 @@ EXTRA_DIST = utility-expected.gir Foo-expected.gir SCANNER = $(top_srcdir)/tools/g-ir-scanner utility.gir: libutility.la utility.h $(SCANNER) - @$(SCANNER) -v \ + @$(CHECK_DEBUG) $(SCANNER) -v \ --include=$(top_srcdir)/gir/gobject-2.0.gir \ --library=libutility.la \ --namespace=utility \ @@ -29,7 +29,7 @@ utility.gir: libutility.la utility.h $(SCANNER) --output $@ Foo.gir: libfoo.la foo-object.h $(SCANNER) - @$(SCANNER) -v \ + @$(CHECK_DEBUG) $(SCANNER) -v \ --include=$(top_srcdir)/gir/gobject-2.0.gir \ --include=$(top_builddir)/tests/parser/utility.gir \ --library=libfoo.la \ diff --git a/tests/struct.test b/tests/struct.test index 3596eb18..e94a4352 100644 --- a/tests/struct.test +++ b/tests/struct.test @@ -1,5 +1,8 @@ - + @@ -13,4 +16,4 @@ - + diff --git a/tests/types.test b/tests/types.test index e08d67a4..1c5b9028 100644 --- a/tests/types.test +++ b/tests/types.test @@ -1,5 +1,8 @@ - + @@ -11,4 +14,4 @@ - + diff --git a/tests/union.test b/tests/union.test index 329512e1..9c4ae61a 100644 --- a/tests/union.test +++ b/tests/union.test @@ -1,5 +1,8 @@ - + @@ -11,4 +14,4 @@ - + diff --git a/tests/xref1.test b/tests/xref1.test index bef65f6d..8eb57af6 100644 --- a/tests/xref1.test +++ b/tests/xref1.test @@ -1,5 +1,8 @@ - + @@ -10,4 +13,4 @@ - + diff --git a/tests/xref2.test b/tests/xref2.test index 069c9c67..053e3223 100644 --- a/tests/xref2.test +++ b/tests/xref2.test @@ -1,5 +1,8 @@ - + @@ -10,4 +13,4 @@ - + diff --git a/tools/compiler.c b/tools/compiler.c index 68fc3cae..e503c013 100644 --- a/tools/compiler.c +++ b/tools/compiler.c @@ -24,9 +24,9 @@ #include #include -#include "gidlmodule.h" -#include "gidlnode.h" -#include "gidlparser.h" +#include "girmodule.h" +#include "girnode.h" +#include "girparser.h" #include "gtypelib.h" gboolean raw = FALSE; @@ -193,7 +193,7 @@ main (int argc, char ** argv) for (i = 0; input[i]; i++) { GList *mods; - mods = g_idl_parse_file (input[i], &error); + mods = g_ir_parse_file (input[i], &error); if (mods == NULL) { @@ -208,7 +208,7 @@ main (int argc, char ** argv) for (m = modules; m; m = m->next) { - GIdlModule *module = m->data; + GIrModule *module = m->data; gchar *prefix; GTypelib *metadata; @@ -220,7 +220,7 @@ main (int argc, char ** argv) g_free (module->shared_library); module->shared_library = g_strdup (shlib); } - metadata = g_idl_module_build_metadata (module, modules); + metadata = g_ir_module_build_metadata (module, modules); if (metadata == NULL) { g_error ("Failed to build metadata for module '%s'\n", module->name); diff --git a/tools/girmodule.c b/tools/girmodule.c index d543346b..8f09fb4a 100644 --- a/tools/girmodule.c +++ b/tools/girmodule.c @@ -21,19 +21,19 @@ #include #include -#include "gidlmodule.h" -#include "gidlnode.h" +#include "girmodule.h" +#include "girnode.h" #define ALIGN_VALUE(this, boundary) \ (( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1))) -GIdlModule * -g_idl_module_new (const gchar *name, const gchar *shared_library) +GIrModule * +g_ir_module_new (const gchar *name, const gchar *shared_library) { - GIdlModule *module; + GIrModule *module; - module = g_new (GIdlModule, 1); + module = g_new (GIrModule, 1); module->name = g_strdup (name); if (shared_library) @@ -46,14 +46,14 @@ g_idl_module_new (const gchar *name, const gchar *shared_library) } void -g_idl_module_free (GIdlModule *module) +g_ir_module_free (GIrModule *module) { GList *e; g_free (module->name); for (e = module->entries; e; e = e->next) - g_idl_node_free ((GIdlNode *)e->data); + g_ir_node_free ((GIrNode *)e->data); g_list_free (module->entries); @@ -61,7 +61,7 @@ g_idl_module_free (GIdlModule *module) } GTypelib * -g_idl_module_build_metadata (GIdlModule *module, +g_ir_module_build_metadata (GIrModule *module, GList *modules) { guchar *metadata; @@ -97,9 +97,9 @@ g_idl_module_build_metadata (GIdlModule *module, for (e = module->entries; e; e = e->next) { - GIdlNode *node = e->data; + GIrNode *node = e->data; - size += g_idl_node_get_full_size (node); + size += g_ir_node_get_full_size (node); } g_message ("allocating %d bytes (%d header, %d directory, %d entries)\n", @@ -109,7 +109,7 @@ g_idl_module_build_metadata (GIdlModule *module, /* fill in header */ header = (Header *)data; - memcpy (header, G_IDL_MAGIC, 16); + memcpy (header, G_IR_MAGIC, 16); header->major_version = 1; header->minor_version = 0; header->reserved = 0; @@ -149,7 +149,7 @@ g_idl_module_build_metadata (GIdlModule *module, for (e = module->entries, i = 0; e; e = e->next, i++) { - GIdlNode *node = e->data; + GIrNode *node = e->data; if (strchr (node->name, '.')) { @@ -173,28 +173,28 @@ g_idl_module_build_metadata (GIdlModule *module, offset = offset2; - if (node->type == G_IDL_NODE_XREF) + if (node->type == G_IR_NODE_XREF) { entry->blob_type = 0; entry->local = FALSE; - entry->offset = write_string (((GIdlNodeXRef*)node)->namespace, strings, data, &offset2); + entry->offset = write_string (((GIrNodeXRef*)node)->namespace, strings, data, &offset2); entry->name = write_string (node->name, strings, data, &offset2); } else { old_offset = offset; - offset2 = offset + g_idl_node_get_size (node); + offset2 = offset + g_ir_node_get_size (node); entry->blob_type = node->type; entry->local = TRUE; entry->offset = offset; entry->name = write_string (node->name, strings, data, &offset2); - g_idl_node_build_metadata (node, module, modules, + g_ir_node_build_metadata (node, module, modules, strings, types, data, &offset, &offset2); - if (offset2 > old_offset + g_idl_node_get_full_size (node)) - g_error ("left a hole of %d bytes\n", offset2 - old_offset - g_idl_node_get_full_size (node)); + if (offset2 > old_offset + g_ir_node_get_full_size (node)) + g_error ("left a hole of %d bytes\n", offset2 - old_offset - g_ir_node_get_full_size (node)); } entry++; diff --git a/tools/girmodule.h b/tools/girmodule.h index 0814ed51..a59e9961 100644 --- a/tools/girmodule.h +++ b/tools/girmodule.h @@ -18,8 +18,8 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __G_IDL_MODULE_H__ -#define __G_IDL_MODULE_H__ +#ifndef __G_IR_MODULE_H__ +#define __G_IR_MODULE_H__ #include #include "gtypelib.h" @@ -27,22 +27,22 @@ G_BEGIN_DECLS -typedef struct _GIdlModule GIdlModule; +typedef struct _GIrModule GIrModule; -struct _GIdlModule +struct _GIrModule { gchar *name; gchar *shared_library; GList *entries; }; -GIdlModule *g_idl_module_new (const gchar *name, - const gchar *module_filename); -void g_idl_module_free (GIdlModule *module); +GIrModule *g_ir_module_new (const gchar *name, + const gchar *module_filename); +void g_ir_module_free (GIrModule *module); -GTypelib * g_idl_module_build_metadata (GIdlModule *module, - GList *modules); +GTypelib * g_ir_module_build_metadata (GIrModule *module, + GList *modules); G_END_DECLS -#endif /* __G_IDL_MODULE_H__ */ +#endif /* __G_IR_MODULE_H__ */ diff --git a/tools/girnode.c b/tools/girnode.c index 09f3f072..5fa112e2 100644 --- a/tools/girnode.c +++ b/tools/girnode.c @@ -22,8 +22,8 @@ #include #include -#include "gidlmodule.h" -#include "gidlnode.h" +#include "girmodule.h" +#include "girnode.h" #include "gtypelib.h" static gulong string_count = 0; @@ -56,78 +56,78 @@ dump_stats (void) (( ((unsigned long)(this)) + (((unsigned long)(boundary)) -1)) & (~(((unsigned long)(boundary))-1))) -GIdlNode * -g_idl_node_new (GIdlNodeTypeId type) +GIrNode * +g_ir_node_new (GIrNodeTypeId type) { - GIdlNode *node = NULL; + GIrNode *node = NULL; switch (type) { - case G_IDL_NODE_FUNCTION: - case G_IDL_NODE_CALLBACK: - node = g_malloc0 (sizeof (GIdlNodeFunction)); + case G_IR_NODE_FUNCTION: + case G_IR_NODE_CALLBACK: + node = g_malloc0 (sizeof (GIrNodeFunction)); break; - case G_IDL_NODE_PARAM: - node = g_malloc0 (sizeof (GIdlNodeParam)); + case G_IR_NODE_PARAM: + node = g_malloc0 (sizeof (GIrNodeParam)); break; - case G_IDL_NODE_TYPE: - node = g_malloc0 (sizeof (GIdlNodeType)); + case G_IR_NODE_TYPE: + node = g_malloc0 (sizeof (GIrNodeType)); break; - case G_IDL_NODE_OBJECT: - case G_IDL_NODE_INTERFACE: - node = g_malloc0 (sizeof (GIdlNodeInterface)); + case G_IR_NODE_OBJECT: + case G_IR_NODE_INTERFACE: + node = g_malloc0 (sizeof (GIrNodeInterface)); break; - case G_IDL_NODE_SIGNAL: - node = g_malloc0 (sizeof (GIdlNodeSignal)); + case G_IR_NODE_SIGNAL: + node = g_malloc0 (sizeof (GIrNodeSignal)); break; - case G_IDL_NODE_PROPERTY: - node = g_malloc0 (sizeof (GIdlNodeProperty)); + case G_IR_NODE_PROPERTY: + node = g_malloc0 (sizeof (GIrNodeProperty)); break; - case G_IDL_NODE_VFUNC: - node = g_malloc0 (sizeof (GIdlNodeFunction)); + case G_IR_NODE_VFUNC: + node = g_malloc0 (sizeof (GIrNodeFunction)); break; - case G_IDL_NODE_FIELD: - node = g_malloc0 (sizeof (GIdlNodeField)); + case G_IR_NODE_FIELD: + node = g_malloc0 (sizeof (GIrNodeField)); break; - case G_IDL_NODE_ENUM: - case G_IDL_NODE_FLAGS: - node = g_malloc0 (sizeof (GIdlNodeEnum)); + case G_IR_NODE_ENUM: + case G_IR_NODE_FLAGS: + node = g_malloc0 (sizeof (GIrNodeEnum)); break; - case G_IDL_NODE_BOXED: - node = g_malloc0 (sizeof (GIdlNodeBoxed)); + case G_IR_NODE_BOXED: + node = g_malloc0 (sizeof (GIrNodeBoxed)); break; - case G_IDL_NODE_STRUCT: - node = g_malloc0 (sizeof (GIdlNodeStruct)); + case G_IR_NODE_STRUCT: + node = g_malloc0 (sizeof (GIrNodeStruct)); break; - case G_IDL_NODE_VALUE: - node = g_malloc0 (sizeof (GIdlNodeValue)); + case G_IR_NODE_VALUE: + node = g_malloc0 (sizeof (GIrNodeValue)); break; - case G_IDL_NODE_CONSTANT: - node = g_malloc0 (sizeof (GIdlNodeConstant)); + case G_IR_NODE_CONSTANT: + node = g_malloc0 (sizeof (GIrNodeConstant)); break; - case G_IDL_NODE_ERROR_DOMAIN: - node = g_malloc0 (sizeof (GIdlNodeErrorDomain)); + case G_IR_NODE_ERROR_DOMAIN: + node = g_malloc0 (sizeof (GIrNodeErrorDomain)); break; - case G_IDL_NODE_XREF: - node = g_malloc0 (sizeof (GIdlNodeXRef)); + case G_IR_NODE_XREF: + node = g_malloc0 (sizeof (GIrNodeXRef)); break; - case G_IDL_NODE_UNION: - node = g_malloc0 (sizeof (GIdlNodeUnion)); + case G_IR_NODE_UNION: + node = g_malloc0 (sizeof (GIrNodeUnion)); break; default: @@ -141,7 +141,7 @@ g_idl_node_new (GIdlNodeTypeId type) } void -g_idl_node_free (GIdlNode *node) +g_ir_node_free (GIrNode *node) { GList *l; @@ -150,27 +150,27 @@ g_idl_node_free (GIdlNode *node) switch (node->type) { - case G_IDL_NODE_FUNCTION: - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_FUNCTION: + case G_IR_NODE_CALLBACK: { - GIdlNodeFunction *function = (GIdlNodeFunction *)node; + GIrNodeFunction *function = (GIrNodeFunction *)node; g_free (node->name); g_free (function->symbol); - g_idl_node_free ((GIdlNode *)function->result); + g_ir_node_free ((GIrNode *)function->result); for (l = function->parameters; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (function->parameters); } break; - case G_IDL_NODE_TYPE: + case G_IR_NODE_TYPE: { - GIdlNodeType *type = (GIdlNodeType *)node; + GIrNodeType *type = (GIrNodeType *)node; g_free (node->name); - g_idl_node_free ((GIdlNode *)type->parameter_type1); - g_idl_node_free ((GIdlNode *)type->parameter_type2); + g_ir_node_free ((GIrNode *)type->parameter_type1); + g_ir_node_free ((GIrNode *)type->parameter_type2); g_free (type->interface); g_strfreev (type->errors); @@ -178,61 +178,61 @@ g_idl_node_free (GIdlNode *node) } break; - case G_IDL_NODE_PARAM: + case G_IR_NODE_PARAM: { - GIdlNodeParam *param = (GIdlNodeParam *)node; + GIrNodeParam *param = (GIrNodeParam *)node; g_free (node->name); - g_idl_node_free ((GIdlNode *)param->type); + g_ir_node_free ((GIrNode *)param->type); } break; - case G_IDL_NODE_PROPERTY: + case G_IR_NODE_PROPERTY: { - GIdlNodeProperty *property = (GIdlNodeProperty *)node; + GIrNodeProperty *property = (GIrNodeProperty *)node; g_free (node->name); - g_idl_node_free ((GIdlNode *)property->type); + g_ir_node_free ((GIrNode *)property->type); } break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: { - GIdlNodeSignal *signal = (GIdlNodeSignal *)node; + GIrNodeSignal *signal = (GIrNodeSignal *)node; g_free (node->name); for (l = signal->parameters; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (signal->parameters); - g_idl_node_free ((GIdlNode *)signal->result); + g_ir_node_free ((GIrNode *)signal->result); } break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: { - GIdlNodeVFunc *vfunc = (GIdlNodeVFunc *)node; + GIrNodeVFunc *vfunc = (GIrNodeVFunc *)node; g_free (node->name); for (l = vfunc->parameters; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (vfunc->parameters); - g_idl_node_free ((GIdlNode *)vfunc->result); + g_ir_node_free ((GIrNode *)vfunc->result); } break; - case G_IDL_NODE_FIELD: + case G_IR_NODE_FIELD: { - GIdlNodeField *field = (GIdlNodeField *)node; + GIrNodeField *field = (GIrNodeField *)node; g_free (node->name); - g_idl_node_free ((GIdlNode *)field->type); + g_ir_node_free ((GIrNode *)field->type); } break; - case G_IDL_NODE_OBJECT: - case G_IDL_NODE_INTERFACE: + case G_IR_NODE_OBJECT: + case G_IR_NODE_INTERFACE: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; g_free (node->name); g_free (iface->gtype_name); @@ -241,75 +241,75 @@ g_idl_node_free (GIdlNode *node) g_free (iface->parent); for (l = iface->interfaces; l; l = l->next) - g_free ((GIdlNode *)l->data); + g_free ((GIrNode *)l->data); g_list_free (iface->interfaces); for (l = iface->members; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (iface->members); } break; - case G_IDL_NODE_VALUE: + case G_IR_NODE_VALUE: { g_free (node->name); } break; - case G_IDL_NODE_ENUM: - case G_IDL_NODE_FLAGS: + case G_IR_NODE_ENUM: + case G_IR_NODE_FLAGS: { - GIdlNodeEnum *enum_ = (GIdlNodeEnum *)node; + GIrNodeEnum *enum_ = (GIrNodeEnum *)node; g_free (node->name); g_free (enum_->gtype_name); g_free (enum_->gtype_init); for (l = enum_->values; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (enum_->values); } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed = (GIdlNodeBoxed *)node; + GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; g_free (node->name); g_free (boxed->gtype_name); g_free (boxed->gtype_init); for (l = boxed->members; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (boxed->members); } break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_ = (GIdlNodeStruct *)node; + GIrNodeStruct *struct_ = (GIrNodeStruct *)node; g_free (node->name); for (l = struct_->members; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); g_list_free (struct_->members); } break; - case G_IDL_NODE_CONSTANT: + case G_IR_NODE_CONSTANT: { - GIdlNodeConstant *constant = (GIdlNodeConstant *)node; + GIrNodeConstant *constant = (GIrNodeConstant *)node; g_free (node->name); g_free (constant->value); - g_idl_node_free ((GIdlNode *)constant->type); + g_ir_node_free ((GIrNode *)constant->type); } break; - case G_IDL_NODE_ERROR_DOMAIN: + case G_IR_NODE_ERROR_DOMAIN: { - GIdlNodeErrorDomain *domain = (GIdlNodeErrorDomain *)node; + GIrNodeErrorDomain *domain = (GIrNodeErrorDomain *)node; g_free (node->name); g_free (domain->getquark); @@ -317,28 +317,28 @@ g_idl_node_free (GIdlNode *node) } break; - case G_IDL_NODE_XREF: + case G_IR_NODE_XREF: { - GIdlNodeXRef *xref = (GIdlNodeXRef *)node; + GIrNodeXRef *xref = (GIrNodeXRef *)node; g_free (node->name); g_free (xref->namespace); } break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_ = (GIdlNodeUnion *)node; + GIrNodeUnion *union_ = (GIrNodeUnion *)node; g_free (node->name); g_free (union_->gtype_name); g_free (union_->gtype_init); - g_idl_node_free ((GIdlNode *)union_->discriminator_type); + g_ir_node_free ((GIrNode *)union_->discriminator_type); for (l = union_->members; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); for (l = union_->discriminators; l; l = l->next) - g_idl_node_free ((GIdlNode *)l->data); + g_ir_node_free ((GIrNode *)l->data); } break; @@ -352,125 +352,125 @@ g_idl_node_free (GIdlNode *node) /* returns the fixed size of the blob */ guint32 -g_idl_node_get_size (GIdlNode *node) +g_ir_node_get_size (GIrNode *node) { GList *l; gint size, n; switch (node->type) { - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_CALLBACK: size = 12; break; - case G_IDL_NODE_FUNCTION: + case G_IR_NODE_FUNCTION: size = 16; break; - case G_IDL_NODE_PARAM: + case G_IR_NODE_PARAM: size = 12; break; - case G_IDL_NODE_TYPE: + case G_IR_NODE_TYPE: size = 4; break; - case G_IDL_NODE_OBJECT: + case G_IR_NODE_OBJECT: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; n = g_list_length (iface->interfaces); size = 32 + 2 * (n + (n % 2)); for (l = iface->members; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_INTERFACE: + case G_IR_NODE_INTERFACE: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; n = g_list_length (iface->prerequisites); size = 28 + 2 * (n + (n % 2)); for (l = iface->members; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_ENUM: - case G_IDL_NODE_FLAGS: + case G_IR_NODE_ENUM: + case G_IR_NODE_FLAGS: { - GIdlNodeEnum *enum_ = (GIdlNodeEnum *)node; + GIrNodeEnum *enum_ = (GIrNodeEnum *)node; size = 20; for (l = enum_->values; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_VALUE: + case G_IR_NODE_VALUE: size = 12; break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_ = (GIdlNodeStruct *)node; + GIrNodeStruct *struct_ = (GIrNodeStruct *)node; size = 20; for (l = struct_->members; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed = (GIdlNodeBoxed *)node; + GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; size = 20; for (l = boxed->members; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_PROPERTY: + case G_IR_NODE_PROPERTY: size = 12; break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: size = 12; break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: size = 16; break; - case G_IDL_NODE_FIELD: + case G_IR_NODE_FIELD: size = 12; break; - case G_IDL_NODE_CONSTANT: + case G_IR_NODE_CONSTANT: size = 20; break; - case G_IDL_NODE_ERROR_DOMAIN: + case G_IR_NODE_ERROR_DOMAIN: size = 16; break; - case G_IDL_NODE_XREF: + case G_IR_NODE_XREF: size = 0; break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_ = (GIdlNodeUnion *)node; + GIrNodeUnion *union_ = (GIrNodeUnion *)node; size = 28; for (l = union_->members; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); for (l = union_->discriminators; l; l = l->next) - size += g_idl_node_get_size ((GIdlNode *)l->data); + size += g_ir_node_get_size ((GIrNode *)l->data); } break; @@ -486,7 +486,7 @@ g_idl_node_get_size (GIdlNode *node) /* returns the full size of the blob including variable-size parts */ guint32 -g_idl_node_get_full_size (GIdlNode *node) +g_ir_node_get_full_size (GIrNode *node) { GList *l; gint size, n; @@ -495,43 +495,43 @@ g_idl_node_get_full_size (GIdlNode *node) switch (node->type) { - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_CALLBACK: { - GIdlNodeFunction *function = (GIdlNodeFunction *)node; + GIrNodeFunction *function = (GIrNodeFunction *)node; size = 12; size += ALIGN_VALUE (strlen (node->name) + 1, 4); for (l = function->parameters; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); - size += g_idl_node_get_full_size ((GIdlNode *)function->result); + size += g_ir_node_get_full_size ((GIrNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)function->result); } break; - case G_IDL_NODE_FUNCTION: + case G_IR_NODE_FUNCTION: { - GIdlNodeFunction *function = (GIdlNodeFunction *)node; + GIrNodeFunction *function = (GIrNodeFunction *)node; size = 24; size += ALIGN_VALUE (strlen (node->name) + 1, 4); size += ALIGN_VALUE (strlen (function->symbol) + 1, 4); for (l = function->parameters; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); - size += g_idl_node_get_full_size ((GIdlNode *)function->result); + size += g_ir_node_get_full_size ((GIrNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)function->result); } break; - case G_IDL_NODE_PARAM: + case G_IR_NODE_PARAM: { - GIdlNodeParam *param = (GIdlNodeParam *)node; + GIrNodeParam *param = (GIrNodeParam *)node; size = 12; if (node->name) size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += g_idl_node_get_full_size ((GIdlNode *)param->type); + size += g_ir_node_get_full_size ((GIrNode *)param->type); } break; - case G_IDL_NODE_TYPE: + case G_IR_NODE_TYPE: { - GIdlNodeType *type = (GIdlNodeType *)node; + GIrNodeType *type = (GIrNodeType *)node; if (type->tag < TYPE_TAG_ARRAY) size = 4; else @@ -541,7 +541,7 @@ g_idl_node_get_full_size (GIdlNode *node) case TYPE_TAG_ARRAY: size = 4 + 4; if (type->parameter_type1) - size += g_idl_node_get_full_size ((GIdlNode *)type->parameter_type1); + size += g_ir_node_get_full_size ((GIrNode *)type->parameter_type1); break; case TYPE_TAG_INTERFACE: size = 4 + 4; @@ -550,14 +550,14 @@ g_idl_node_get_full_size (GIdlNode *node) case TYPE_TAG_SLIST: size = 4 + 4; if (type->parameter_type1) - size += g_idl_node_get_full_size ((GIdlNode *)type->parameter_type1); + size += g_ir_node_get_full_size ((GIrNode *)type->parameter_type1); break; case TYPE_TAG_HASH: size = 4 + 4 + 4; if (type->parameter_type1) - size += g_idl_node_get_full_size ((GIdlNode *)type->parameter_type1); + size += g_ir_node_get_full_size ((GIrNode *)type->parameter_type1); if (type->parameter_type2) - size += g_idl_node_get_full_size ((GIdlNode *)type->parameter_type2); + size += g_ir_node_get_full_size ((GIrNode *)type->parameter_type2); break; case TYPE_TAG_ERROR: { @@ -579,9 +579,9 @@ g_idl_node_get_full_size (GIdlNode *node) } break; - case G_IDL_NODE_OBJECT: + case G_IR_NODE_OBJECT: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; n = g_list_length (iface->interfaces); size = 32; @@ -593,13 +593,13 @@ g_idl_node_get_full_size (GIdlNode *node) size += 2 * (n + (n % 2)); for (l = iface->members; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_INTERFACE: + case G_IR_NODE_INTERFACE: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; n = g_list_length (iface->prerequisites); size = 28; @@ -609,14 +609,14 @@ g_idl_node_get_full_size (GIdlNode *node) size += 2 * (n + (n % 2)); for (l = iface->members; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_ENUM: - case G_IDL_NODE_FLAGS: + case G_IR_NODE_ENUM: + case G_IR_NODE_FLAGS: { - GIdlNodeEnum *enum_ = (GIdlNodeEnum *)node; + GIrNodeEnum *enum_ = (GIrNodeEnum *)node; size = 20; size += ALIGN_VALUE (strlen (node->name) + 1, 4); @@ -627,31 +627,31 @@ g_idl_node_get_full_size (GIdlNode *node) } for (l = enum_->values; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_VALUE: + case G_IR_NODE_VALUE: { size = 12; size += ALIGN_VALUE (strlen (node->name) + 1, 4); } break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_ = (GIdlNodeStruct *)node; + GIrNodeStruct *struct_ = (GIrNodeStruct *)node; size = 20; size += ALIGN_VALUE (strlen (node->name) + 1, 4); for (l = struct_->members; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed = (GIdlNodeBoxed *)node; + GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; size = 20; size += ALIGN_VALUE (strlen (node->name) + 1, 4); @@ -661,69 +661,69 @@ g_idl_node_get_full_size (GIdlNode *node) size += ALIGN_VALUE (strlen (boxed->gtype_init) + 1, 4); } for (l = boxed->members; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; - case G_IDL_NODE_PROPERTY: + case G_IR_NODE_PROPERTY: { - GIdlNodeProperty *prop = (GIdlNodeProperty *)node; + GIrNodeProperty *prop = (GIrNodeProperty *)node; size = 12; size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += g_idl_node_get_full_size ((GIdlNode *)prop->type); + size += g_ir_node_get_full_size ((GIrNode *)prop->type); } break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: { - GIdlNodeSignal *signal = (GIdlNodeSignal *)node; + GIrNodeSignal *signal = (GIrNodeSignal *)node; size = 12; size += ALIGN_VALUE (strlen (node->name) + 1, 4); for (l = signal->parameters; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); - size += g_idl_node_get_full_size ((GIdlNode *)signal->result); + size += g_ir_node_get_full_size ((GIrNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)signal->result); } break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: { - GIdlNodeVFunc *vfunc = (GIdlNodeVFunc *)node; + GIrNodeVFunc *vfunc = (GIrNodeVFunc *)node; size = 16; size += ALIGN_VALUE (strlen (node->name) + 1, 4); for (l = vfunc->parameters; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); - size += g_idl_node_get_full_size ((GIdlNode *)vfunc->result); + size += g_ir_node_get_full_size ((GIrNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)vfunc->result); } break; - case G_IDL_NODE_FIELD: + case G_IR_NODE_FIELD: { - GIdlNodeField *field = (GIdlNodeField *)node; + GIrNodeField *field = (GIrNodeField *)node; size = 12; size += ALIGN_VALUE (strlen (node->name) + 1, 4); - size += g_idl_node_get_full_size ((GIdlNode *)field->type); + size += g_ir_node_get_full_size ((GIrNode *)field->type); } break; - case G_IDL_NODE_CONSTANT: + case G_IR_NODE_CONSTANT: { - GIdlNodeConstant *constant = (GIdlNodeConstant *)node; + GIrNodeConstant *constant = (GIrNodeConstant *)node; size = 20; size += ALIGN_VALUE (strlen (node->name) + 1, 4); /* FIXME non-string values */ size += ALIGN_VALUE (strlen (constant->value) + 1, 4); - size += g_idl_node_get_full_size ((GIdlNode *)constant->type); + size += g_ir_node_get_full_size ((GIrNode *)constant->type); } break; - case G_IDL_NODE_ERROR_DOMAIN: + case G_IR_NODE_ERROR_DOMAIN: { - GIdlNodeErrorDomain *domain = (GIdlNodeErrorDomain *)node; + GIrNodeErrorDomain *domain = (GIrNodeErrorDomain *)node; size = 16; size += ALIGN_VALUE (strlen (node->name) + 1, 4); @@ -731,9 +731,9 @@ g_idl_node_get_full_size (GIdlNode *node) } break; - case G_IDL_NODE_XREF: + case G_IR_NODE_XREF: { - GIdlNodeXRef *xref = (GIdlNodeXRef *)node; + GIrNodeXRef *xref = (GIrNodeXRef *)node; size = 0; size += ALIGN_VALUE (strlen (node->name) + 1, 4); @@ -741,16 +741,16 @@ g_idl_node_get_full_size (GIdlNode *node) } break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_ = (GIdlNodeUnion *)node; + GIrNodeUnion *union_ = (GIrNodeUnion *)node; size = 28; size += ALIGN_VALUE (strlen (node->name) + 1, 4); for (l = union_->members; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); for (l = union_->discriminators; l; l = l->next) - size += g_idl_node_get_full_size ((GIdlNode *)l->data); + size += g_ir_node_get_full_size ((GIrNode *)l->data); } break; @@ -765,8 +765,8 @@ g_idl_node_get_full_size (GIdlNode *node) } int -g_idl_node_cmp (GIdlNode *node, - GIdlNode *other) +g_ir_node_cmp (GIrNode *node, + GIrNode *other) { if (node->type < other->type) return -1; @@ -777,60 +777,60 @@ g_idl_node_cmp (GIdlNode *node, } gboolean -g_idl_node_can_have_member (GIdlNode *node) +g_ir_node_can_have_member (GIrNode *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: + case G_IR_NODE_OBJECT: + case G_IR_NODE_INTERFACE: + case G_IR_NODE_BOXED: + case G_IR_NODE_STRUCT: + case G_IR_NODE_UNION: return TRUE; }; return FALSE; } void -g_idl_node_add_member (GIdlNode *node, - GIdlNodeFunction *member) +g_ir_node_add_member (GIrNode *node, + GIrNodeFunction *member) { g_return_if_fail (node != NULL); g_return_if_fail (member != NULL); switch (node->type) { - case G_IDL_NODE_OBJECT: - case G_IDL_NODE_INTERFACE: + case G_IR_NODE_OBJECT: + case G_IR_NODE_INTERFACE: { - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; iface->members = g_list_insert_sorted (iface->members, member, - (GCompareFunc) g_idl_node_cmp); + (GCompareFunc) g_ir_node_cmp); break; } - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed = (GIdlNodeBoxed *)node; + GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; boxed->members = g_list_insert_sorted (boxed->members, member, - (GCompareFunc) g_idl_node_cmp); + (GCompareFunc) g_ir_node_cmp); break; } - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_ = (GIdlNodeStruct *)node; + GIrNodeStruct *struct_ = (GIrNodeStruct *)node; struct_->members = g_list_insert_sorted (struct_->members, member, - (GCompareFunc) g_idl_node_cmp); + (GCompareFunc) g_ir_node_cmp); break; } - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_ = (GIdlNodeUnion *)node; + GIrNodeUnion *union_ = (GIrNodeUnion *)node; union_->members = g_list_insert_sorted (union_->members, member, - (GCompareFunc) g_idl_node_cmp); + (GCompareFunc) g_ir_node_cmp); break; } default: @@ -841,7 +841,7 @@ g_idl_node_add_member (GIdlNode *node, } const gchar * -g_idl_node_param_direction_string (GIdlNodeParam * node) +g_ir_node_param_direction_string (GIrNodeParam * node) { if (node->out) { @@ -883,8 +883,8 @@ parse_boolean_value (const gchar *str) return parse_int_value (str) ? TRUE : FALSE; } -static GIdlNode * -find_entry_node (GIdlModule *module, +static GIrNode * +find_entry_node (GIrModule *module, GList *modules, const gchar *name, guint16 *idx) @@ -894,7 +894,7 @@ find_entry_node (GIdlModule *module, gint i; gchar **names; gint n_names; - GIdlNode *result = NULL; + GIrNode *result = NULL; names = g_strsplit (name, ".", 0); n_names = g_strv_length (names); @@ -903,15 +903,15 @@ find_entry_node (GIdlModule *module, for (l = module->entries, i = 1; l; l = l->next, i++) { - GIdlNode *node = (GIdlNode *)l->data; + GIrNode *node = (GIrNode *)l->data; if (n_names > 1) { - if (node->type != G_IDL_NODE_XREF) + if (node->type != G_IR_NODE_XREF) continue; - if (((GIdlNodeXRef *)node)->namespace == NULL || - strcmp (((GIdlNodeXRef *)node)->namespace, names[0]) != 0) + if (((GIrNodeXRef *)node)->namespace == NULL || + strcmp (((GIrNodeXRef *)node)->namespace, names[0]) != 0) continue; } @@ -927,9 +927,9 @@ find_entry_node (GIdlModule *module, if (n_names > 1) { - GIdlNode *node = g_idl_node_new (G_IDL_NODE_XREF); + GIrNode *node = g_ir_node_new (G_IR_NODE_XREF); - ((GIdlNodeXRef *)node)->namespace = g_strdup (names[0]); + ((GIrNodeXRef *)node)->namespace = g_strdup (names[0]); node->name = g_strdup (names[1]); module->entries = g_list_append (module->entries, node); @@ -952,7 +952,7 @@ find_entry_node (GIdlModule *module, } static guint16 -find_entry (GIdlModule *module, +find_entry (GIrModule *module, GList *modules, const gchar *name) { @@ -964,9 +964,9 @@ find_entry (GIdlModule *module, } static void -serialize_type (GIdlModule *module, +serialize_type (GIrModule *module, GList *modules, - GIdlNodeType *node, + GIrNodeType *node, GString *str) { gint i; @@ -1014,7 +1014,7 @@ serialize_type (GIdlModule *module, } else if (node->tag == 21) { - GIdlNode *iface; + GIrNode *iface; gchar *name; iface = find_entry_node (module, modules, node->interface, NULL); @@ -1078,8 +1078,8 @@ serialize_type (GIdlModule *module, } void -g_idl_node_build_metadata (GIdlNode *node, - GIdlModule *module, +g_ir_node_build_metadata (GIrNode *node, + GIrModule *module, GList *modules, GHashTable *strings, GHashTable *types, @@ -1093,9 +1093,9 @@ g_idl_node_build_metadata (GIdlNode *node, switch (node->type) { - case G_IDL_NODE_TYPE: + case G_IR_NODE_TYPE: { - GIdlNodeType *type = (GIdlNodeType *)node; + GIrNodeType *type = (GIrNodeType *)node; SimpleTypeBlob *blob = (SimpleTypeBlob *)&data[*offset]; *offset += 4; @@ -1149,7 +1149,7 @@ g_idl_node_build_metadata (GIdlNode *node, pos = *offset2 + 4; *offset2 += 8; - g_idl_node_build_metadata ((GIdlNode *)type->parameter_type1, + g_ir_node_build_metadata ((GIrNode *)type->parameter_type1, module, modules, strings, types, data, &pos, offset2); } @@ -1184,7 +1184,7 @@ g_idl_node_build_metadata (GIdlNode *node, pos = *offset2 + 4; *offset2 += 8; - g_idl_node_build_metadata ((GIdlNode *)type->parameter_type1, + g_ir_node_build_metadata ((GIrNode *)type->parameter_type1, module, modules, strings, types, data, &pos, offset2); } @@ -1204,10 +1204,10 @@ g_idl_node_build_metadata (GIdlNode *node, pos = *offset2 + 4; *offset2 += 12; - g_idl_node_build_metadata ((GIdlNode *)type->parameter_type1, + g_ir_node_build_metadata ((GIrNode *)type->parameter_type1, module, modules, strings, types, data, &pos, offset2); - g_idl_node_build_metadata ((GIdlNode *)type->parameter_type2, + g_ir_node_build_metadata ((GIrNode *)type->parameter_type2, module, modules, strings, types, data, &pos, offset2); } @@ -1242,9 +1242,9 @@ g_idl_node_build_metadata (GIdlNode *node, } break; - case G_IDL_NODE_FIELD: + case G_IR_NODE_FIELD: { - GIdlNodeField *field = (GIdlNodeField *)node; + GIrNodeField *field = (GIrNodeField *)node; FieldBlob *blob; blob = (FieldBlob *)&data[*offset]; @@ -1257,15 +1257,15 @@ g_idl_node_build_metadata (GIdlNode *node, blob->bits = 0; blob->struct_offset = field->offset; - g_idl_node_build_metadata ((GIdlNode *)field->type, + g_ir_node_build_metadata ((GIrNode *)field->type, module, modules, strings, types, data, offset, offset2); } break; - case G_IDL_NODE_PROPERTY: + case G_IR_NODE_PROPERTY: { - GIdlNodeProperty *prop = (GIdlNodeProperty *)node; + GIrNodeProperty *prop = (GIrNodeProperty *)node; PropertyBlob *blob = (PropertyBlob *)&data[*offset]; *offset += 8; @@ -1277,17 +1277,17 @@ g_idl_node_build_metadata (GIdlNode *node, blob->construct_only = prop->construct_only; blob->reserved = 0; - g_idl_node_build_metadata ((GIdlNode *)prop->type, + g_ir_node_build_metadata ((GIrNode *)prop->type, module, modules, strings, types, data, offset, offset2); } break; - case G_IDL_NODE_FUNCTION: + case G_IR_NODE_FUNCTION: { FunctionBlob *blob = (FunctionBlob *)&data[*offset]; SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIdlNodeFunction *function = (GIdlNodeFunction *)node; + GIrNodeFunction *function = (GIrNodeFunction *)node; guint32 signature; gint n; @@ -1309,7 +1309,7 @@ g_idl_node_build_metadata (GIdlNode *node, blob->symbol = write_string (function->symbol, strings, data, offset2); blob->signature = signature; - g_idl_node_build_metadata ((GIdlNode *)function->result->type, + g_ir_node_build_metadata ((GIrNode *)function->result->type, module, modules, strings, types, data, &signature, offset2); @@ -1323,20 +1323,20 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = function->parameters; l; l = l->next) { - GIdlNode *param = (GIdlNode *)l->data; + GIrNode *param = (GIrNode *)l->data; - g_idl_node_build_metadata (param, + g_ir_node_build_metadata (param, module, modules, strings, types, data, &signature, offset2); } } break; - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_CALLBACK: { CallbackBlob *blob = (CallbackBlob *)&data[*offset]; SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIdlNodeFunction *function = (GIdlNodeFunction *)node; + GIrNodeFunction *function = (GIrNodeFunction *)node; guint32 signature; gint n; @@ -1352,7 +1352,7 @@ g_idl_node_build_metadata (GIdlNode *node, blob->name = write_string (node->name, strings, data, offset2); blob->signature = signature; - g_idl_node_build_metadata ((GIdlNode *)function->result->type, + g_ir_node_build_metadata ((GIrNode *)function->result->type, module, modules, strings, types, data, &signature, offset2); @@ -1366,20 +1366,20 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = function->parameters; l; l = l->next) { - GIdlNode *param = (GIdlNode *)l->data; + GIrNode *param = (GIrNode *)l->data; - g_idl_node_build_metadata (param, + g_ir_node_build_metadata (param, module, modules, strings, types, data, &signature, offset2); } } break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: { SignalBlob *blob = (SignalBlob *)&data[*offset]; SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIdlNodeSignal *signal = (GIdlNodeSignal *)node; + GIrNodeSignal *signal = (GIrNodeSignal *)node; guint32 signature; gint n; @@ -1404,7 +1404,7 @@ g_idl_node_build_metadata (GIdlNode *node, blob->name = write_string (node->name, strings, data, offset2); blob->signature = signature; - g_idl_node_build_metadata ((GIdlNode *)signal->result->type, + g_ir_node_build_metadata ((GIrNode *)signal->result->type, module, modules, strings, types, data, &signature, offset2); @@ -1418,19 +1418,19 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = signal->parameters; l; l = l->next) { - GIdlNode *param = (GIdlNode *)l->data; + GIrNode *param = (GIrNode *)l->data; - g_idl_node_build_metadata (param, module, modules, strings, types, + g_ir_node_build_metadata (param, module, modules, strings, types, data, &signature, offset2); } } break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: { VFuncBlob *blob = (VFuncBlob *)&data[*offset]; SignatureBlob *blob2 = (SignatureBlob *)&data[*offset2]; - GIdlNodeVFunc *vfunc = (GIdlNodeVFunc *)node; + GIrNodeVFunc *vfunc = (GIrNodeVFunc *)node; guint32 signature; gint n; @@ -1451,7 +1451,7 @@ g_idl_node_build_metadata (GIdlNode *node, blob->reserved2 = 0; blob->signature = signature; - g_idl_node_build_metadata ((GIdlNode *)vfunc->result->type, + g_ir_node_build_metadata ((GIrNode *)vfunc->result->type, module, modules, strings, types, data, &signature, offset2); @@ -1465,18 +1465,18 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = vfunc->parameters; l; l = l->next) { - GIdlNode *param = (GIdlNode *)l->data; + GIrNode *param = (GIrNode *)l->data; - g_idl_node_build_metadata (param, module, modules, strings, + g_ir_node_build_metadata (param, module, modules, strings, types, data, &signature, offset2); } } break; - case G_IDL_NODE_PARAM: + case G_IR_NODE_PARAM: { ArgBlob *blob = (ArgBlob *)&data[*offset]; - GIdlNodeParam *param = (GIdlNodeParam *)node; + GIrNodeParam *param = (GIrNodeParam *)node; *offset += 8; @@ -1491,15 +1491,15 @@ g_idl_node_build_metadata (GIdlNode *node, blob->return_value = param->retval; blob->reserved = 0; - g_idl_node_build_metadata ((GIdlNode *)param->type, module, modules, + g_ir_node_build_metadata ((GIrNode *)param->type, module, modules, strings, types, data, offset, offset2); } break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { StructBlob *blob = (StructBlob *)&data[*offset]; - GIdlNodeStruct *struct_ = (GIdlNodeStruct *)node; + GIrNodeStruct *struct_ = (GIrNodeStruct *)node; blob->blob_type = BLOB_TYPE_STRUCT; blob->deprecated = struct_->deprecated; @@ -1515,34 +1515,34 @@ g_idl_node_build_metadata (GIdlNode *node, *offset += 20; for (l = struct_->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FIELD) + if (member->type == G_IR_NODE_FIELD) { blob->n_fields++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } for (l = struct_->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FUNCTION) + if (member->type == G_IR_NODE_FUNCTION) { blob->n_methods++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { StructBlob *blob = (StructBlob *)&data[*offset]; - GIdlNodeBoxed *boxed = (GIdlNodeBoxed *)node; + GIrNodeBoxed *boxed = (GIrNodeBoxed *)node; blob->blob_type = BLOB_TYPE_BOXED; blob->deprecated = boxed->deprecated; @@ -1558,34 +1558,34 @@ g_idl_node_build_metadata (GIdlNode *node, *offset += 20; for (l = boxed->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FIELD) + if (member->type == G_IR_NODE_FIELD) { blob->n_fields++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } for (l = boxed->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FUNCTION) + if (member->type == G_IR_NODE_FUNCTION) { blob->n_methods++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } } break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { UnionBlob *blob = (UnionBlob *)&data[*offset]; - GIdlNodeUnion *union_ = (GIdlNodeUnion *)node; + GIrNodeUnion *union_ = (GIrNodeUnion *)node; blob->blob_type = BLOB_TYPE_UNION; blob->deprecated = union_->deprecated; @@ -1613,7 +1613,7 @@ g_idl_node_build_metadata (GIdlNode *node, { *offset += 24; blob->discriminated = TRUE; - g_idl_node_build_metadata ((GIdlNode *)union_->discriminator_type, + g_ir_node_build_metadata ((GIrNode *)union_->discriminator_type, module, modules, strings, types, data, offset, offset2); } @@ -1627,24 +1627,24 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = union_->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FIELD) + if (member->type == G_IR_NODE_FIELD) { blob->n_fields++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } for (l = union_->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FUNCTION) + if (member->type == G_IR_NODE_FUNCTION) { blob->n_functions++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1653,24 +1653,24 @@ g_idl_node_build_metadata (GIdlNode *node, { for (l = union_->discriminators; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } } break; - case G_IDL_NODE_ENUM: - case G_IDL_NODE_FLAGS: + case G_IR_NODE_ENUM: + case G_IR_NODE_FLAGS: { EnumBlob *blob = (EnumBlob *)&data[*offset]; - GIdlNodeEnum *enum_ = (GIdlNodeEnum *)node; + GIrNodeEnum *enum_ = (GIrNodeEnum *)node; *offset += 20; - if (node->type == G_IDL_NODE_ENUM) + if (node->type == G_IR_NODE_ENUM) blob->blob_type = BLOB_TYPE_ENUM; else blob->blob_type = BLOB_TYPE_FLAGS; @@ -1696,19 +1696,19 @@ g_idl_node_build_metadata (GIdlNode *node, for (l = enum_->values; l; l = l->next) { - GIdlNode *value = (GIdlNode *)l->data; + GIrNode *value = (GIrNode *)l->data; blob->n_values++; - g_idl_node_build_metadata (value, module, modules, strings, types, + g_ir_node_build_metadata (value, module, modules, strings, types, data, offset, offset2); } } break; - case G_IDL_NODE_OBJECT: + case G_IR_NODE_OBJECT: { ObjectBlob *blob = (ObjectBlob *)&data[*offset]; - GIdlNodeInterface *object = (GIdlNodeInterface *)node; + GIrNodeInterface *object = (GIrNodeInterface *)node; blob->blob_type = BLOB_TYPE_OBJECT; blob->deprecated = object->deprecated; @@ -1740,12 +1740,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FIELD) + if (member->type == G_IR_NODE_FIELD) { blob->n_fields++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1753,12 +1753,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_PROPERTY) + if (member->type == G_IR_NODE_PROPERTY) { blob->n_properties++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1766,12 +1766,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FUNCTION) + if (member->type == G_IR_NODE_FUNCTION) { blob->n_methods++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1779,12 +1779,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_SIGNAL) + if (member->type == G_IR_NODE_SIGNAL) { blob->n_signals++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1792,12 +1792,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_VFUNC) + if (member->type == G_IR_NODE_VFUNC) { blob->n_vfuncs++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1805,22 +1805,22 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = object->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_CONSTANT) + if (member->type == G_IR_NODE_CONSTANT) { blob->n_constants++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } } break; - case G_IDL_NODE_INTERFACE: + case G_IR_NODE_INTERFACE: { InterfaceBlob *blob = (InterfaceBlob *)&data[*offset]; - GIdlNodeInterface *iface = (GIdlNodeInterface *)node; + GIrNodeInterface *iface = (GIrNodeInterface *)node; blob->blob_type = BLOB_TYPE_INTERFACE; blob->deprecated = iface->deprecated; @@ -1846,12 +1846,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = iface->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_PROPERTY) + if (member->type == G_IR_NODE_PROPERTY) { blob->n_properties++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1859,12 +1859,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = iface->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_FUNCTION) + if (member->type == G_IR_NODE_FUNCTION) { blob->n_methods++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1872,12 +1872,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = iface->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_SIGNAL) + if (member->type == G_IR_NODE_SIGNAL) { blob->n_signals++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1885,12 +1885,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = iface->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_VFUNC) + if (member->type == G_IR_NODE_VFUNC) { blob->n_vfuncs++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1898,12 +1898,12 @@ g_idl_node_build_metadata (GIdlNode *node, *offset = ALIGN_VALUE (*offset, 4); for (l = iface->members; l; l = l->next) { - GIdlNode *member = (GIdlNode *)l->data; + GIrNode *member = (GIrNode *)l->data; - if (member->type == G_IDL_NODE_CONSTANT) + if (member->type == G_IR_NODE_CONSTANT) { blob->n_constants++; - g_idl_node_build_metadata (member, module, modules, strings, + g_ir_node_build_metadata (member, module, modules, strings, types, data, offset, offset2); } } @@ -1911,9 +1911,9 @@ g_idl_node_build_metadata (GIdlNode *node, break; - case G_IDL_NODE_VALUE: + case G_IR_NODE_VALUE: { - GIdlNodeValue *value = (GIdlNodeValue *)node; + GIrNodeValue *value = (GIrNodeValue *)node; ValueBlob *blob = (ValueBlob *)&data[*offset]; *offset += 12; @@ -1924,9 +1924,9 @@ g_idl_node_build_metadata (GIdlNode *node, } break; - case G_IDL_NODE_ERROR_DOMAIN: + case G_IR_NODE_ERROR_DOMAIN: { - GIdlNodeErrorDomain *domain = (GIdlNodeErrorDomain *)node; + GIrNodeErrorDomain *domain = (GIrNodeErrorDomain *)node; ErrorDomainBlob *blob = (ErrorDomainBlob *)&data[*offset]; *offset += 16; @@ -1940,9 +1940,9 @@ g_idl_node_build_metadata (GIdlNode *node, } break; - case G_IDL_NODE_CONSTANT: + case G_IR_NODE_CONSTANT: { - GIdlNodeConstant *constant = (GIdlNodeConstant *)node; + GIrNodeConstant *constant = (GIrNodeConstant *)node; ConstantBlob *blob = (ConstantBlob *)&data[*offset]; guint32 pos; @@ -2027,7 +2027,7 @@ g_idl_node_build_metadata (GIdlNode *node, } *offset2 += ALIGN_VALUE (blob->size, 4); - g_idl_node_build_metadata ((GIdlNode *)constant->type, module, modules, + g_ir_node_build_metadata ((GIrNode *)constant->type, module, modules, strings, types, data, &pos, offset2); } break; @@ -2038,7 +2038,7 @@ g_idl_node_build_metadata (GIdlNode *node, g_debug ("node %p type %d, offset %d -> %d, offset2 %d -> %d", node, node->type, old_offset, *offset, old_offset2, *offset2); - if (*offset2 - old_offset2 + *offset - old_offset > g_idl_node_get_full_size (node)) + if (*offset2 - old_offset2 + *offset - old_offset > g_ir_node_get_full_size (node)) g_error ("exceeding space reservation !!"); } diff --git a/tools/girnode.h b/tools/girnode.h index 2e878890..351ab641 100644 --- a/tools/girnode.h +++ b/tools/girnode.h @@ -310,7 +310,7 @@ void g_ir_node_free (GIrNode *node); guint32 g_ir_node_get_size (GIrNode *node); guint32 g_ir_node_get_full_size (GIrNode *node); void g_ir_node_build_metadata (GIrNode *node, - GIdlModule *module, + GIrModule *module, GList *modules, GHashTable *strings, GHashTable *types, diff --git a/tools/girparser.c b/tools/girparser.c index a60fd223..7dc8509c 100644 --- a/tools/girparser.c +++ b/tools/girparser.c @@ -23,8 +23,8 @@ #include #include -#include "gidlmodule.h" -#include "gidlnode.h" +#include "girmodule.h" +#include "girnode.h" #include "gtypelib.h" typedef enum @@ -56,8 +56,8 @@ struct _ParseContext GList *modules; - GIdlModule *current_module; - GIdlNode *current_node; + GIrModule *current_module; + GIrNode *current_node; }; #define MISSING_ATTRIBUTE(error,element,attribute) \ @@ -81,7 +81,7 @@ find_attribute (const gchar *name, return 0; } -static GIdlNodeType * +static GIrNodeType * parse_type_internal (gchar *str, gchar **rest) { gint i; @@ -148,9 +148,9 @@ parse_type_internal (gchar *str, gchar **rest) gint n_basic = G_N_ELEMENTS (basic); gchar *start, *end; - GIdlNodeType *type; + GIrNodeType *type; - type = (GIdlNodeType *)g_idl_node_new (G_IDL_NODE_TYPE); + type = (GIrNodeType *)g_ir_node_new (G_IR_NODE_TYPE); str = g_strstrip (str); @@ -294,9 +294,9 @@ parse_type_internal (gchar *str, gchar **rest) *rest = g_strchug (*rest); if (g_str_has_prefix (*rest, "[")) { - GIdlNodeType *array; + GIrNodeType *array; - array = (GIdlNodeType *)g_idl_node_new (G_IDL_NODE_TYPE); + array = (GIrNodeType *)g_ir_node_new (G_IR_NODE_TYPE); array->tag = TYPE_TAG_ARRAY; array->is_pointer = TRUE; @@ -345,17 +345,17 @@ parse_type_internal (gchar *str, gchar **rest) return type; error: - g_idl_node_free ((GIdlNode *)type); + g_ir_node_free ((GIrNode *)type); return NULL; } -static GIdlNodeType * +static GIrNodeType * parse_type (const gchar *type) { gchar *str; gchar *rest; - GIdlNodeType *node; + GIrNodeType *node; str = g_strdup (type); node = parse_type_internal (str, &rest); @@ -393,11 +393,11 @@ start_boxed (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "glib:get-type"); else { - GIdlNodeBoxed *boxed; + GIrNodeBoxed *boxed; - boxed = (GIdlNodeBoxed *) g_idl_node_new (G_IDL_NODE_BOXED); + boxed = (GIrNodeBoxed *) g_ir_node_new (G_IR_NODE_BOXED); - ((GIdlNode *)boxed)->name = g_strdup (name); + ((GIrNode *)boxed)->name = g_strdup (name); boxed->gtype_name = g_strdup (typename); boxed->gtype_init = g_strdup (typeinit); if (deprecated && strcmp (deprecated, "1") == 0) @@ -405,7 +405,7 @@ start_boxed (GMarkupParseContext *context, else boxed->deprecated = FALSE; - ctx->current_node = (GIdlNode *)boxed; + ctx->current_node = (GIrNode *)boxed; ctx->current_module->entries = g_list_append (ctx->current_module->entries, boxed); @@ -455,11 +455,11 @@ start_function (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "c:identifier"); else { - GIdlNodeFunction *function; + GIrNodeFunction *function; - function = (GIdlNodeFunction *) g_idl_node_new (G_IDL_NODE_FUNCTION); + function = (GIrNodeFunction *) g_ir_node_new (G_IR_NODE_FUNCTION); - ((GIdlNode *)function)->name = g_strdup (name); + ((GIrNode *)function)->name = g_strdup (name); function->symbol = g_strdup (symbol); function->parameters = NULL; if (deprecated && strcmp (deprecated, "1") == 0) @@ -489,7 +489,7 @@ start_function (GMarkupParseContext *context, function->is_getter = FALSE; function->is_constructor = FALSE; if (strcmp (element_name, "callback") == 0) - ((GIdlNode *)function)->type = G_IDL_NODE_CALLBACK; + ((GIrNode *)function)->type = G_IR_NODE_CALLBACK; } if (ctx->current_node == NULL) @@ -500,35 +500,35 @@ start_function (GMarkupParseContext *context, else switch (ctx->current_node->type) { - case G_IDL_NODE_INTERFACE: - case G_IDL_NODE_OBJECT: + case G_IR_NODE_INTERFACE: + case G_IR_NODE_OBJECT: { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, function); } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed; + GIrNodeBoxed *boxed; - boxed = (GIdlNodeBoxed *)ctx->current_node; + boxed = (GIrNodeBoxed *)ctx->current_node; boxed->members = g_list_append (boxed->members, function); } break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_; + GIrNodeStruct *struct_; - struct_ = (GIdlNodeStruct *)ctx->current_node; + struct_ = (GIrNodeStruct *)ctx->current_node; struct_->members = g_list_append (struct_->members, function); } break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_; + GIrNodeUnion *union_; - union_ = (GIdlNodeUnion *)ctx->current_node; + union_ = (GIrNodeUnion *)ctx->current_node; union_->members = g_list_append (union_->members, function); } break; @@ -536,7 +536,7 @@ start_function (GMarkupParseContext *context, g_assert_not_reached (); } - ctx->current_node = (GIdlNode *)function; + ctx->current_node = (GIrNode *)function; ctx->state = STATE_FUNCTION; return TRUE; @@ -581,9 +581,9 @@ start_parameter (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeParam *param; + GIrNodeParam *param; - param = (GIdlNodeParam *)g_idl_node_new (G_IDL_NODE_PARAM); + param = (GIrNodeParam *)g_ir_node_new (G_IR_NODE_PARAM); if (direction && strcmp (direction, "out") == 0) { @@ -637,33 +637,33 @@ start_parameter (GMarkupParseContext *context, param->shallow_transfer = FALSE; } - ((GIdlNode *)param)->name = g_strdup (name); + ((GIrNode *)param)->name = g_strdup (name); param->type = parse_type (type); switch (ctx->current_node->type) { - case G_IDL_NODE_FUNCTION: - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_FUNCTION: + case G_IR_NODE_CALLBACK: { - GIdlNodeFunction *func; + GIrNodeFunction *func; - func = (GIdlNodeFunction *)ctx->current_node; + func = (GIrNodeFunction *)ctx->current_node; func->parameters = g_list_append (func->parameters, param); } break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: { - GIdlNodeSignal *signal; + GIrNodeSignal *signal; - signal = (GIdlNodeSignal *)ctx->current_node; + signal = (GIrNodeSignal *)ctx->current_node; signal->parameters = g_list_append (signal->parameters, param); } break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: { - GIdlNodeVFunc *vfunc; + GIrNodeVFunc *vfunc; - vfunc = (GIdlNodeVFunc *)ctx->current_node; + vfunc = (GIrNodeVFunc *)ctx->current_node; vfunc->parameters = g_list_append (vfunc->parameters, param); } break; @@ -714,10 +714,10 @@ start_field (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "type"); else { - GIdlNodeField *field; + GIrNodeField *field; - field = (GIdlNodeField *)g_idl_node_new (G_IDL_NODE_FIELD); - ((GIdlNode *)field)->name = g_strdup (name); + field = (GIrNodeField *)g_ir_node_new (G_IR_NODE_FIELD); + ((GIrNode *)field)->name = g_strdup (name); if (readable && strcmp (readable, "1") == 0) field->readable = TRUE; else @@ -742,42 +742,42 @@ start_field (GMarkupParseContext *context, switch (ctx->current_node->type) { - case G_IDL_NODE_OBJECT: + case G_IR_NODE_OBJECT: { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, field); } break; - case G_IDL_NODE_BOXED: + case G_IR_NODE_BOXED: { - GIdlNodeBoxed *boxed; + GIrNodeBoxed *boxed; - boxed = (GIdlNodeBoxed *)ctx->current_node; + boxed = (GIrNodeBoxed *)ctx->current_node; boxed->members = g_list_append (boxed->members, field); } break; - case G_IDL_NODE_STRUCT: + case G_IR_NODE_STRUCT: { - GIdlNodeStruct *struct_; + GIrNodeStruct *struct_; - struct_ = (GIdlNodeStruct *)ctx->current_node; + struct_ = (GIrNodeStruct *)ctx->current_node; struct_->members = g_list_append (struct_->members, field); } break; - case G_IDL_NODE_UNION: + case G_IR_NODE_UNION: { - GIdlNodeUnion *union_; + GIrNodeUnion *union_; - union_ = (GIdlNodeUnion *)ctx->current_node; + union_ = (GIrNodeUnion *)ctx->current_node; union_->members = g_list_append (union_->members, field); if (branch) { - GIdlNodeConstant *constant; + GIrNodeConstant *constant; - constant = (GIdlNodeConstant *) g_idl_node_new (G_IDL_NODE_CONSTANT); - ((GIdlNode *)constant)->name = g_strdup (name); + constant = (GIrNodeConstant *) g_ir_node_new (G_IR_NODE_CONSTANT); + ((GIrNode *)constant)->name = g_strdup (name); constant->value = g_strdup (branch); constant->type = union_->discriminator_type; constant->deprecated = FALSE; @@ -821,13 +821,13 @@ start_enum (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeEnum *enum_; + GIrNodeEnum *enum_; if (strcmp (element_name, "enum") == 0) - enum_ = (GIdlNodeEnum *) g_idl_node_new (G_IDL_NODE_ENUM); + enum_ = (GIrNodeEnum *) g_ir_node_new (G_IR_NODE_ENUM); else - enum_ = (GIdlNodeEnum *) g_idl_node_new (G_IDL_NODE_FLAGS); - ((GIdlNode *)enum_)->name = g_strdup (name); + enum_ = (GIrNodeEnum *) g_ir_node_new (G_IR_NODE_FLAGS); + ((GIrNode *)enum_)->name = g_strdup (name); enum_->gtype_name = g_strdup (typename); enum_->gtype_init = g_strdup (typeinit); if (deprecated && strcmp (deprecated, "1") == 0) @@ -835,7 +835,7 @@ start_enum (GMarkupParseContext *context, else enum_->deprecated = FALSE; - ctx->current_node = (GIdlNode *) enum_; + ctx->current_node = (GIrNode *) enum_; ctx->current_module->entries = g_list_append (ctx->current_module->entries, enum_); @@ -879,12 +879,12 @@ start_property (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "type"); else { - GIdlNodeProperty *property; - GIdlNodeInterface *iface; + GIrNodeProperty *property; + GIrNodeInterface *iface; - property = (GIdlNodeProperty *) g_idl_node_new (G_IDL_NODE_PROPERTY); + property = (GIrNodeProperty *) g_ir_node_new (G_IR_NODE_PROPERTY); - ((GIdlNode *)property)->name = g_strdup (name); + ((GIrNode *)property)->name = g_strdup (name); if (readable && strcmp (readable, "1") == 0) property->readable = TRUE; @@ -905,7 +905,7 @@ start_property (GMarkupParseContext *context, property->type = parse_type (type); - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, property); } @@ -960,12 +960,12 @@ start_member (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeEnum *enum_; - GIdlNodeValue *value_; + GIrNodeEnum *enum_; + GIrNodeValue *value_; - value_ = (GIdlNodeValue *) g_idl_node_new (G_IDL_NODE_VALUE); + value_ = (GIrNodeValue *) g_ir_node_new (G_IR_NODE_VALUE); - ((GIdlNode *)value_)->name = g_strdup (name); + ((GIrNode *)value_)->name = g_strdup (name); value_->value = parse_value (value); @@ -974,7 +974,7 @@ start_member (GMarkupParseContext *context, else value_->deprecated = FALSE; - enum_ = (GIdlNodeEnum *)ctx->current_node; + enum_ = (GIrNodeEnum *)ctx->current_node; enum_->values = g_list_append (enum_->values, value_); } @@ -1014,11 +1014,11 @@ start_constant (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "value"); else { - GIdlNodeConstant *constant; + GIrNodeConstant *constant; - constant = (GIdlNodeConstant *) g_idl_node_new (G_IDL_NODE_CONSTANT); + constant = (GIrNodeConstant *) g_ir_node_new (G_IR_NODE_CONSTANT); - ((GIdlNode *)constant)->name = g_strdup (name); + ((GIrNode *)constant)->name = g_strdup (name); constant->value = g_strdup (value); constant->type = parse_type (type); @@ -1030,15 +1030,15 @@ start_constant (GMarkupParseContext *context, if (ctx->state == STATE_NAMESPACE) { - ctx->current_node = (GIdlNode *) constant; + ctx->current_node = (GIrNode *) constant; ctx->current_module->entries = g_list_append (ctx->current_module->entries, constant); } else { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, constant); } } @@ -1077,11 +1077,11 @@ start_errordomain (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "codes"); else { - GIdlNodeErrorDomain *domain; + GIrNodeErrorDomain *domain; - domain = (GIdlNodeErrorDomain *) g_idl_node_new (G_IDL_NODE_ERROR_DOMAIN); + domain = (GIrNodeErrorDomain *) g_ir_node_new (G_IR_NODE_ERROR_DOMAIN); - ((GIdlNode *)domain)->name = g_strdup (name); + ((GIrNode *)domain)->name = g_strdup (name); domain->getquark = g_strdup (getquark); domain->codes = g_strdup (codes); @@ -1090,7 +1090,7 @@ start_errordomain (GMarkupParseContext *context, else domain->deprecated = FALSE; - ctx->current_node = (GIdlNode *) domain; + ctx->current_node = (GIrNode *) domain; ctx->current_module->entries = g_list_append (ctx->current_module->entries, domain); @@ -1131,10 +1131,10 @@ start_interface (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "glib:get-type"); else { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *) g_idl_node_new (G_IDL_NODE_INTERFACE); - ((GIdlNode *)iface)->name = g_strdup (name); + iface = (GIrNodeInterface *) g_ir_node_new (G_IR_NODE_INTERFACE); + ((GIrNode *)iface)->name = g_strdup (name); iface->gtype_name = g_strdup (typename); iface->gtype_init = g_strdup (typeinit); if (deprecated && strcmp (deprecated, "1") == 0) @@ -1142,7 +1142,7 @@ start_interface (GMarkupParseContext *context, else iface->deprecated = FALSE; - ctx->current_node = (GIdlNode *) iface; + ctx->current_node = (GIrNode *) iface; ctx->current_module->entries = g_list_append (ctx->current_module->entries, iface); @@ -1186,10 +1186,10 @@ start_class (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "glib:get-type"); else { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *) g_idl_node_new (G_IDL_NODE_OBJECT); - ((GIdlNode *)iface)->name = g_strdup (name); + iface = (GIrNodeInterface *) g_ir_node_new (G_IR_NODE_OBJECT); + ((GIrNode *)iface)->name = g_strdup (name); iface->gtype_name = g_strdup (typename); iface->gtype_init = g_strdup (typeinit); iface->parent = g_strdup (parent); @@ -1198,7 +1198,7 @@ start_class (GMarkupParseContext *context, else iface->deprecated = FALSE; - ctx->current_node = (GIdlNode *) iface; + ctx->current_node = (GIrNode *) iface; ctx->current_module->entries = g_list_append (ctx->current_module->entries, iface); @@ -1232,9 +1232,9 @@ start_return_type (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "type"); else { - GIdlNodeParam *param; + GIrNodeParam *param; - param = (GIdlNodeParam *)g_idl_node_new (G_IDL_NODE_PARAM); + param = (GIrNodeParam *)g_ir_node_new (G_IR_NODE_PARAM); param->in = FALSE; param->out = FALSE; param->retval = TRUE; @@ -1262,22 +1262,22 @@ start_return_type (GMarkupParseContext *context, switch (ctx->current_node->type) { - case G_IDL_NODE_FUNCTION: - case G_IDL_NODE_CALLBACK: + case G_IR_NODE_FUNCTION: + case G_IR_NODE_CALLBACK: { - GIdlNodeFunction *func = (GIdlNodeFunction *)ctx->current_node; + GIrNodeFunction *func = (GIrNodeFunction *)ctx->current_node; func->result = param; } break; - case G_IDL_NODE_SIGNAL: + case G_IR_NODE_SIGNAL: { - GIdlNodeSignal *signal = (GIdlNodeSignal *)ctx->current_node; + GIrNodeSignal *signal = (GIrNodeSignal *)ctx->current_node; signal->result = param; } break; - case G_IDL_NODE_VFUNC: + case G_IR_NODE_VFUNC: { - GIdlNodeVFunc *vfunc = (GIdlNodeVFunc *)ctx->current_node; + GIrNodeVFunc *vfunc = (GIrNodeVFunc *)ctx->current_node; vfunc->result = param; } break; @@ -1326,12 +1326,12 @@ start_signal (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "when"); else { - GIdlNodeInterface *iface; - GIdlNodeSignal *signal; + GIrNodeInterface *iface; + GIrNodeSignal *signal; - signal = (GIdlNodeSignal *)g_idl_node_new (G_IDL_NODE_SIGNAL); + signal = (GIrNodeSignal *)g_ir_node_new (G_IR_NODE_SIGNAL); - ((GIdlNode *)signal)->name = g_strdup (name); + ((GIrNode *)signal)->name = g_strdup (name); signal->run_first = FALSE; signal->run_last = FALSE; @@ -1364,10 +1364,10 @@ start_signal (GMarkupParseContext *context, else signal->has_class_closure = FALSE; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, signal); - ctx->current_node = (GIdlNode *)signal; + ctx->current_node = (GIrNode *)signal; ctx->state = STATE_FUNCTION; } @@ -1404,12 +1404,12 @@ start_vfunc (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeInterface *iface; - GIdlNodeVFunc *vfunc; + GIrNodeInterface *iface; + GIrNodeVFunc *vfunc; - vfunc = (GIdlNodeVFunc *)g_idl_node_new (G_IDL_NODE_VFUNC); + vfunc = (GIrNodeVFunc *)g_ir_node_new (G_IR_NODE_VFUNC); - ((GIdlNode *)vfunc)->name = g_strdup (name); + ((GIrNode *)vfunc)->name = g_strdup (name); if (must_chain_up && strcmp (must_chain_up, "1") == 0) vfunc->must_chain_up = TRUE; @@ -1442,10 +1442,10 @@ start_vfunc (GMarkupParseContext *context, else vfunc->offset = 0; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface->members = g_list_append (iface->members, vfunc); - ctx->current_node = (GIdlNode *)vfunc; + ctx->current_node = (GIrNode *)vfunc; ctx->state = STATE_FUNCTION; } @@ -1476,17 +1476,17 @@ start_struct (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeStruct *struct_; + GIrNodeStruct *struct_; - struct_ = (GIdlNodeStruct *) g_idl_node_new (G_IDL_NODE_STRUCT); + struct_ = (GIrNodeStruct *) g_ir_node_new (G_IR_NODE_STRUCT); - ((GIdlNode *)struct_)->name = g_strdup (name); + ((GIrNode *)struct_)->name = g_strdup (name); if (deprecated && strcmp (deprecated, "1") == 0) struct_->deprecated = TRUE; else struct_->deprecated = FALSE; - ctx->current_node = (GIdlNode *)struct_; + ctx->current_node = (GIrNode *)struct_; ctx->current_module->entries = g_list_append (ctx->current_module->entries, struct_); @@ -1523,11 +1523,11 @@ start_union (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeUnion *union_; + GIrNodeUnion *union_; - union_ = (GIdlNodeUnion *) g_idl_node_new (G_IDL_NODE_UNION); + union_ = (GIrNodeUnion *) g_ir_node_new (G_IR_NODE_UNION); - ((GIdlNode *)union_)->name = g_strdup (name); + ((GIrNode *)union_)->name = g_strdup (name); union_->gtype_name = g_strdup (typename); union_->gtype_init = g_strdup (typeinit); if (deprecated && strcmp (deprecated, "1") == 0) @@ -1535,7 +1535,7 @@ start_union (GMarkupParseContext *context, else union_->deprecated = FALSE; - ctx->current_node = (GIdlNode *)union_; + ctx->current_node = (GIrNode *)union_; ctx->current_module->entries = g_list_append (ctx->current_module->entries, union_); @@ -1567,9 +1567,9 @@ start_discriminator (GMarkupParseContext *context, else if (offset == NULL) MISSING_ATTRIBUTE (error, element_name, "offset"); { - ((GIdlNodeUnion *)ctx->current_node)->discriminator_type + ((GIrNodeUnion *)ctx->current_node)->discriminator_type = parse_type (type); - ((GIdlNodeUnion *)ctx->current_node)->discriminator_offset + ((GIrNodeUnion *)ctx->current_node)->discriminator_offset = atoi (offset); } @@ -1592,28 +1592,6 @@ start_element_handler (GMarkupParseContext *context, switch (element_name[0]) { - case 'r': - if (strcmp (element_name, "repository") == 0 && ctx->state == STATE_START) - { - const gchar *version; - - version = find_attribute ("version", attribute_names, attribute_values); - - if (version == NULL) - MISSING_ATTRIBUTE (error, element_name, "version"); - else if (strcmp (version, "1.0") != 0) - g_set_error (error, - G_MARKUP_ERROR, - G_MARKUP_ERROR_INVALID_CONTENT, - "Unsupported version '%s'", - version); - else - ctx->state = STATE_NAMESPACE; - - goto out; - } - break; - case 'b': if (start_boxed (context, element_name, attribute_names, attribute_values, @@ -1630,6 +1608,29 @@ start_element_handler (GMarkupParseContext *context, attribute_names, attribute_values, ctx, error)) goto out; + else if (start_class (context, element_name, + attribute_names, attribute_values, + ctx, error)) + goto out; + else if (strcmp (element_name, "class") == 0 && + ctx->state == STATE_REQUIRES) + { + const gchar *name; + + name = find_attribute ("name", attribute_names, attribute_values); + + if (name == NULL) + MISSING_ATTRIBUTE (error, element_name, "name"); + else + { + GIrNodeInterface *iface; + + iface = (GIrNodeInterface *)ctx->current_node; + iface ->prerequisites = g_list_append (iface->prerequisites, g_strdup (name)); + } + + goto out; + } break; case 'd': @@ -1689,9 +1690,9 @@ start_element_handler (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface ->interfaces = g_list_append (iface->interfaces, g_strdup (name)); } @@ -1708,9 +1709,9 @@ start_element_handler (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - GIdlNodeInterface *iface; + GIrNodeInterface *iface; - iface = (GIdlNodeInterface *)ctx->current_node; + iface = (GIrNodeInterface *)ctx->current_node; iface ->prerequisites = g_list_append (iface->prerequisites, g_strdup (name)); } @@ -1730,7 +1731,7 @@ start_element_handler (GMarkupParseContext *context, break; case 'n': - if (strcmp (element_name, "namespace") == 0 && ctx->state == STATE_ROOT) + if (strcmp (element_name, "namespace") == 0 && ctx->state == STATE_REPOSITORY) { const gchar *name, *shared_library; @@ -1741,7 +1742,7 @@ start_element_handler (GMarkupParseContext *context, MISSING_ATTRIBUTE (error, element_name, "name"); else { - ctx->current_module = g_idl_module_new (name, shared_library); + ctx->current_module = g_ir_module_new (name, shared_library); ctx->modules = g_list_append (ctx->modules, ctx->current_module); ctx->state = STATE_NAMESPACE; @@ -1751,32 +1752,6 @@ start_element_handler (GMarkupParseContext *context, } break; - case 'c': - if (start_class (context, element_name, - attribute_names, attribute_values, - ctx, error)) - goto out; - else if (strcmp (element_name, "class") == 0 && - ctx->state == STATE_REQUIRES) - { - const gchar *name; - - name = find_attribute ("name", attribute_names, attribute_values); - - if (name == NULL) - MISSING_ATTRIBUTE (error, element_name, "name"); - else - { - GIdlNodeInterface *iface; - - iface = (GIdlNodeInterface *)ctx->current_node; - iface ->prerequisites = g_list_append (iface->prerequisites, g_strdup (name)); - } - - goto out; - } - break; - case 'p': if (start_property (context, element_name, attribute_names, attribute_values, @@ -1797,7 +1772,26 @@ start_element_handler (GMarkupParseContext *context, break; case 'r': - if (start_return_type (context, element_name, + if (strcmp (element_name, "repository") == 0 && ctx->state == STATE_START) + { + const gchar *version; + + version = find_attribute ("version", attribute_names, attribute_values); + + if (version == NULL) + MISSING_ATTRIBUTE (error, element_name, "version"); + else if (strcmp (version, "1.0") != 0) + g_set_error (error, + G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "Unsupported version '%s'", + version); + else + ctx->state = STATE_REPOSITORY; + + goto out; + } + else if (start_return_type (context, element_name, attribute_names, attribute_values, ctx, error)) goto out; @@ -1808,7 +1802,6 @@ start_element_handler (GMarkupParseContext *context, goto out; } - break; case 's': @@ -1890,15 +1883,15 @@ end_element_handler (GMarkupParseContext *context, else { ctx->current_node = g_list_last (ctx->current_module->entries)->data; - if (ctx->current_node->type == G_IDL_NODE_INTERFACE) + if (ctx->current_node->type == G_IR_NODE_INTERFACE) ctx->state = STATE_INTERFACE; - else if (ctx->current_node->type == G_IDL_NODE_OBJECT) + else if (ctx->current_node->type == G_IR_NODE_OBJECT) ctx->state = STATE_OBJECT; - else if (ctx->current_node->type == G_IDL_NODE_BOXED) + else if (ctx->current_node->type == G_IR_NODE_BOXED) ctx->state = STATE_BOXED; - else if (ctx->current_node->type == G_IDL_NODE_STRUCT) + else if (ctx->current_node->type == G_IR_NODE_STRUCT) ctx->state = STATE_STRUCT; - else if (ctx->current_node->type == G_IDL_NODE_UNION) + else if (ctx->current_node->type == G_IR_NODE_UNION) ctx->state = STATE_UNION; } break; @@ -1995,7 +1988,7 @@ cleanup (GMarkupParseContext *context, GList *m; for (m = ctx->modules; m; m = m->next) - g_idl_module_free (m->data); + g_ir_module_free (m->data); g_list_free (ctx->modules); ctx->modules = NULL; -- cgit v1.2.1