diff options
author | Owen Taylor <otaylor@src.gnome.org> | 2008-11-12 17:17:01 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2008-11-12 17:17:01 +0000 |
commit | 09423f25cd99f0999ff3e0b710d34461a5cfa54a (patch) | |
tree | 5559043ee3c55001728706979127a44d1a228a43 /girepository/girmodule.h | |
parent | 755ec2cc858997dd87e41cc5b8114d136d2434f6 (diff) | |
download | gobject-introspection-09423f25cd99f0999ff3e0b710d34461a5cfa54a.tar.gz |
Keep aliases and disguised_structures local to each module (#560419)
When parsing, keep keep a separate hash tables of aliases and
'disguised' flags for each module, and store that on the module.
After parsing an include merge the aliases/disguised flags to the
including module.
Remove 'prefix_aliases' flag and always prefix aliases/disguised
structure types when parsing; this simplifies the code considerably.
svn path=/trunk/; revision=904
Diffstat (limited to 'girepository/girmodule.h')
-rw-r--r-- | girepository/girmodule.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/girepository/girmodule.h b/girepository/girmodule.h index 5008c4e9..c658e179 100644 --- a/girepository/girmodule.h +++ b/girepository/girmodule.h @@ -36,7 +36,16 @@ struct _GIrModule gchar *shared_library; GList *dependencies; GList *entries; + + /* All modules that are included directly or indirectly */ GList *include_modules; + + /* Aliases defined in the module or in included modules */ + GHashTable *aliases; + + /* Structures with the 'disguised' flag (typedef struct _X *X) + * in the module or in included modules */ + GHashTable *disguised_structures; }; GIrModule *g_ir_module_new (const gchar *name, @@ -44,6 +53,9 @@ GIrModule *g_ir_module_new (const gchar *name, const gchar *module_filename); void g_ir_module_free (GIrModule *module); +void g_ir_module_add_include_module (GIrModule *module, + GIrModule *include_module); + GTypelib * g_ir_module_build_typelib (GIrModule *module, GList *modules); |