platform/upstream/gobject-introspection.git
16 years agoDo not save the content of the deprecated variable, only if it's set or
Johan Dahlin [Fri, 11 Jan 2008 23:01:41 +0000 (23:01 +0000)]
Do not save the content of the deprecated variable, only if it's set or

2008-01-11  Johan Dahlin  <johan@gnome.org>

* src/scanner.c: (g_igenerator_process_function_symbol):
* src/scannerlexer.l:
Do not save the content of the deprecated variable, only
if it's set or not.

svn path=/trunk/; revision=98

16 years agoAdd a couple of comment parser tests.
Johan Dahlin [Fri, 11 Jan 2008 23:00:48 +0000 (23:00 +0000)]
Add a couple of comment parser tests.

2008-01-11  Johan Dahlin  <johan@gnome.org>

* tests/parser/foo-object.h: Add a couple of comment parser tests.

svn path=/trunk/; revision=97

16 years agoFix libffi configure check - libffi still doesn' have package config, so stealing...
Robert James Taylor [Fri, 11 Jan 2008 21:59:13 +0000 (21:59 +0000)]
Fix libffi configure check - libffi still doesn' have package config, so stealing the checks from pygobject.

svn path=/trunk/; revision=96

16 years agoFix GTK-Doc parsing.
Juerg Billeter [Fri, 11 Jan 2008 21:38:42 +0000 (21:38 +0000)]
Fix GTK-Doc parsing.

2008-01-11  Juerg Billeter  <j@bitron.ch>

* src/scannerlexer.l:
Fix GTK-Doc parsing.

svn path=/trunk/; revision=95

16 years agoReturn unresolved name if we find unknown symbol.
Juerg Billeter [Fri, 11 Jan 2008 21:10:44 +0000 (21:10 +0000)]
Return unresolved name if we find unknown symbol.

2008-01-11  Juerg Billeter  <j@bitron.ch>

* src/scanner.c: (lookup_symbol):
Return unresolved name if we find unknown symbol.

svn path=/trunk/; revision=94

16 years agoInitialize GObject to fix scanning interface properties.
Juerg Billeter [Fri, 11 Jan 2008 17:52:29 +0000 (17:52 +0000)]
Initialize GObject to fix scanning interface properties.

2008-01-11  Juerg Billeter  <j@bitron.ch>

* src/scanner.c: (g_igenerator_generate):
Initialize GObject to fix scanning interface properties.

* tests/parser/Foo-expected.gidl:
* tests/parser/foo-object.h:
* tests/parser/foo.c: (foo_interface_get_type):
Test interfaces with GObject prerequisite.

* tests/parser/Makefile.am:
Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.

svn path=/trunk/; revision=93

16 years agoParse gtk-doc comments.
Johan Dahlin [Fri, 28 Dec 2007 01:03:35 +0000 (01:03 +0000)]
Parse gtk-doc comments.

2007-12-27  Johan Dahlin  <johan@gnome.org>

* src/scannerlexer.l:
Parse gtk-doc comments.

* src/gidlwriter.c: (function_generate):
Reorganize, avoid duplication and add support for
writing deprecated functions.

* src/scannerparser.y:
* src/scanner.h:
Add new structure CDirective and functions to create/free them.

* src/scanner.c: (g_igenerator_process_function_symbol),
(g_igenerator_process_unregistered_struct_typedef),
(g_igenerator_process_struct_typedef),
(g_igenerator_process_union_typedef),
(g_igenerator_process_enum_typedef),
(g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
(g_igenerator_start_preprocessor):
Parse @deprecated directive for functions.
Remove some more C99isms.
Send in -C to cpp to avoid stripping comments.

* tests/parser/foo-object.h:
* tests/parser/Foo-expected.gidl:
Add deprecated directive

svn path=/trunk/; revision=92

16 years agoAdd emacs mode line and escape ' and " so it looks more like C.
Johan Dahlin [Thu, 27 Dec 2007 22:43:41 +0000 (22:43 +0000)]
Add emacs mode line and escape ' and " so it looks more like C.

2007-12-27  Johan Dahlin  <johan@gnome.org>

* src/scannerlexer.l (intsuffix): Add emacs mode line and
escape ' and " so it looks more like C.

svn path=/trunk/; revision=91

16 years agoUnlink temporary file used.
Johan Dahlin [Thu, 27 Dec 2007 21:01:09 +0000 (21:01 +0000)]
Unlink temporary file used.

2007-12-27  Johan Dahlin  <johan@gnome.org>

* src/scanner.c:
Unlink temporary file used.

svn path=/trunk/; revision=90

16 years agoPlug a couple of simple memory leaks.
Johan Dahlin [Thu, 27 Dec 2007 20:39:55 +0000 (20:39 +0000)]
Plug a couple of simple memory leaks.

2007-12-27  Johan Dahlin  <johan@gnome.org>

* src/scanner.c: (g_igenerator_new), (g_igenerator_free),
(g_igenerator_start_preprocessor), (main):
* src/scanner.h:
* src/scannerparser.y:
Plug a couple of simple memory leaks.

svn path=/trunk/; revision=89

16 years agoImprove error reporting, return when the preprocessor fails. Add a verbose
Johan Dahlin [Thu, 27 Dec 2007 20:13:34 +0000 (20:13 +0000)]
Improve error reporting, return when the preprocessor fails. Add a verbose

2007-12-27  Johan Dahlin  <johan@gnome.org>

* src/scanner.c: (g_igenerator_parse_macros),
(g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
(main):
* src/scanner.h:
* src/scannerparser.y:
* tests/parser/Makefile.am:

Improve error reporting, return when the preprocessor fails.
Add a verbose parameter, to aid debugging.
Revert to using a temporary file to communicate between the
preprocessor and the parser, because we need to wait for
the exit code from the pre-processor before starting to parse.

svn path=/trunk/; revision=88

16 years agoremove an unused variable and avoid const to disable compilation warnings
Johan Dahlin [Sun, 16 Dec 2007 19:12:46 +0000 (19:12 +0000)]
remove an unused variable and avoid const to disable compilation warnings

svn path=/trunk/; revision=87

16 years agoRename clexer.l to scannerlexer.l and cparser.y to scannerparser.y
Johan Dahlin [Sun, 16 Dec 2007 17:04:42 +0000 (17:04 +0000)]
Rename clexer.l to scannerlexer.l and cparser.y to scannerparser.y

2007-12-16  Johan Dahlin  <jdahlin@async.com.br>

    * src/Makefile.am: Rename clexer.l to scannerlexer.l and
    cparser.y to scannerparser.y

svn path=/trunk/; revision=86

16 years agoGet rid of the global the_generator variable.
Johan Dahlin [Mon, 10 Dec 2007 23:54:23 +0000 (23:54 +0000)]
Get rid of the global the_generator variable.

2007-12-11  Johan Dahlin  <johan@gnome.org>

* src/clexer.l:
* src/cparser.y:
* src/scanner.c: (g_igenerator_new):
* src/scanner.h:
Get rid of the global the_generator variable.

svn path=/trunk/; revision=85

16 years agoDon't steal my stdout and just send in relative path now when g-idl-scanner does...
Johan Dahlin [Mon, 10 Dec 2007 09:10:12 +0000 (09:10 +0000)]
Don't steal my stdout and just send in relative path now when g-idl-scanner does the right thing

svn path=/trunk/; revision=84

16 years agoAdd an output option, add checks for required parameters
Johan Dahlin [Mon, 10 Dec 2007 09:01:15 +0000 (09:01 +0000)]
Add an output option, add checks for required parameters

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/scanner.c (main): Add an output option,
add checks for required parameters

svn path=/trunk/; revision=83

16 years agoset BUILD_SOURCES and CLEANFILES properly
Johan Dahlin [Mon, 10 Dec 2007 01:02:59 +0000 (01:02 +0000)]
set BUILD_SOURCES and CLEANFILES properly

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/Makefile.am:
set BUILD_SOURCES and CLEANFILES properly

svn path=/trunk/; revision=82

16 years agoRefactor scannerwriter to only be tied to a GIdlModule and move it
Johan Dahlin [Mon, 10 Dec 2007 00:54:52 +0000 (00:54 +0000)]
Refactor scannerwriter to only be tied to a GIdlModule and move it

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/Makefile.am:
* src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
(g_writer_write_indent), (g_writer_write_unindent),
(field_generate), (value_generate), (constant_generate),
(property_generate), (function_generate), (vfunc_generate),
(signal_generate), (interface_generate), (struct_generate),
(union_generate), (boxed_generate), (enum_generate),
(node_generate), (g_writer_write_module), (g_idl_writer_save_file):
* src/gidlwriter.h:
* src/scanner.c: (g_igenerator_generate):
* src/scanner.h:
* src/scannerwriter.c:

Refactor scannerwriter to only be tied to a GIdlModule and move
it (again!) to gidlwriter.c. Change the writer function to take
a filename.

svn path=/trunk/; revision=81

16 years agoMove the scanner gidl writing to a separate source file.
Johan Dahlin [Mon, 10 Dec 2007 00:45:29 +0000 (00:45 +0000)]
Move the scanner gidl writing to a separate source file.

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/Makefile.am:
* src/scanner.c: (g_igenerator_generate):
* src/scanner.h:
* src/scannerwriter.c: (g_igenerator_write_inline),
(g_igenerator_write), (g_igenerator_write_indent),
(g_igenerator_write_unindent), (field_generate), (value_generate),
(constant_generate), (property_generate), (function_generate),
(vfunc_generate), (signal_generate), (interface_generate),
(struct_generate), (union_generate), (boxed_generate),
(enum_generate), (node_generate), (module_generate),
(g_scanner_write_file):

Move the scanner gidl writing to a separate source file.

svn path=/trunk/; revision=80

16 years agoMove over all CType construction functions.
Johan Dahlin [Mon, 10 Dec 2007 00:35:59 +0000 (00:35 +0000)]
Move over all CType construction functions.

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/cparser.y:
* src/scanner.c:
* src/scanner.h:
Move over all CType construction functions.

* tests/parser/Makefile.am:
Be verbose when printing parsing tests results.

svn path=/trunk/; revision=79

16 years agoOops, typo
Johan Dahlin [Mon, 10 Dec 2007 00:30:30 +0000 (00:30 +0000)]
Oops, typo

svn path=/trunk/; revision=78

16 years agoRefactor preprocessor handling to here. Start cpp insteado of cc -E,
Johan Dahlin [Mon, 10 Dec 2007 00:26:04 +0000 (00:26 +0000)]
Refactor preprocessor handling to here. Start cpp insteado of cc -E,

2007-12-10  Johan Dahlin  <johan@gnome.org>

* src/scanner.c (g_igenerator_start_preprocessor): Refactor
preprocessor handling to here. Start cpp insteado of cc -E,
always include -U__GNUC__, since it's specific to the preprocessor
we use.

* tests/parser/Makefile.am (check-local): Silent diff and skip
-U__GNUC__ which is always defined now

svn path=/trunk/; revision=77

16 years ago (g_igenerator_new, main): Simplify constructor and they way
Johan Dahlin [Sun, 9 Dec 2007 17:51:39 +0000 (17:51 +0000)]
(g_igenerator_new, main): Simplify constructor and they way
parameters are passed into it.

svn path=/trunk/; revision=76

16 years agoUse GOption for command line options.
Johan Dahlin [Sun, 9 Dec 2007 17:04:08 +0000 (17:04 +0000)]
Use GOption for command line options.

2007-12-09  Johan Dahlin  <johan@gnome.org>

* src/scanner.c:
Use GOption for command line options.

svn path=/trunk/; revision=75

16 years agoRename gen-introspect.[ch] to scanner.[ch]
Johan Dahlin [Sun, 9 Dec 2007 16:07:48 +0000 (16:07 +0000)]
Rename gen-introspect.[ch] to scanner.[ch]

2007-12-09  Johan Dahlin  <johan@gnome.org>

* src/cparser.y:
* src/Makefile.am:
* src/clexer.l:
* src/cparser.y:
* src/gen-introspect.c:
* src/gen-introspect.h:
* src/scanner.c:
Rename gen-introspect.[ch] to scanner.[ch]

svn path=/trunk/; revision=74

16 years agoUpdate
Johan Dahlin [Sun, 9 Dec 2007 16:02:49 +0000 (16:02 +0000)]
Update

2007-12-09  Johan Dahlin  <johan@gnome.org>

* TODO: Update

* src/Makefile.am: Rename gen-introspect to g-idl-scanner,
don't make the repository library and the other utilites link against
gthread-2.0

svn path=/trunk/; revision=73

16 years agoRefactor g_igenerator_process_types into smaller pieces.
Johan Dahlin [Sun, 9 Dec 2007 15:45:55 +0000 (15:45 +0000)]
Refactor g_igenerator_process_types into smaller pieces.

2007-12-09  Johan Dahlin  <johan@gnome.org>

* src/gen-introspect.c: (g_igenerator_create_object),
(g_igenerator_create_interface), (g_igenerator_create_boxed),
(g_igenerator_create_enum), (g_igenerator_create_flags),
(g_igenerator_process_module_symbol),
(g_igenerator_process_module), (g_igenerator_generate), (main):
* src/gen-introspect.h:
Refactor g_igenerator_process_types into smaller pieces.

* tests/parser/Makefile.am:
Depend on the gen-introspect binary

svn path=/trunk/; revision=72

16 years agoBreak into smaller pieces, one for each generated node type.
Johan Dahlin [Sun, 9 Dec 2007 12:00:44 +0000 (12:00 +0000)]
Break into smaller pieces, one for each generated node type.

2007-12-09  Johan Dahlin  <johan@gnome.org>

* src/gen-introspect.c (g_igenerator_process_types):
Break into smaller pieces, one for each generated node type.

svn path=/trunk/; revision=71

16 years agoAdd a subobject test and make sure to register defined classes in the
Johan Dahlin [Sat, 8 Dec 2007 18:30:15 +0000 (18:30 +0000)]
Add a subobject test and make sure to register defined classes in the

2007-12-08  Johan Dahlin  <johan@gnome.org>

* src/gen-introspect.c: (g_igenerator_process_types),
(g_igenerator_add_module):
* tests/parser/Foo-expected.gidl:
* tests/parser/foo-object.h:
* tests/parser/foo.c: (foo_subobject_class_init),
(foo_subobject_init):

Add a subobject test and make sure to register defined classes
in the lookup symbol hash table.

svn path=/trunk/; revision=70

16 years agoChange the gen-introspect to generate namespaced module names, such as
Johan Dahlin [Sat, 8 Dec 2007 18:04:15 +0000 (18:04 +0000)]
Change the gen-introspect to generate namespaced module names, such as

2007-12-08  Johan Dahlin  <johan@gnome.org>

* gidl/GLib.gidl:
* src/Makefile.am:
* src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
(g_igenerator_process_types), (g_igenerator_add_module),
(g_igenerator_add_include_idl), (main):
* src/gen-introspect.h:
* tests/parser/Makefile.am:
* tests/parser/Foo-expected.gidl:

Change the gen-introspect to generate namespaced module names,
such as GLib.Object instead of GObject.
Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
add a --include-idl parameter to gen-introspect,
and update the parser test.

svn path=/trunk/; revision=69

16 years agoMove main to the end of the file and attempt to make it valid ansi c.
Johan Dahlin [Sat, 8 Dec 2007 16:41:46 +0000 (16:41 +0000)]
Move main to the end of the file and attempt to make it valid ansi c.

2007-12-08  Johan Dahlin  <johan@gnome.org>

* src/gen-introspect.c:
Move main to the end of the file and attempt to make it valid
ansi c.

svn path=/trunk/; revision=68

16 years agoAdd a simple gen-introspect parser test 2007-12-08 Johan Dahlin
Johan Dahlin [Sat, 8 Dec 2007 16:39:50 +0000 (16:39 +0000)]
Add a simple gen-introspect parser test 2007-12-08 Johan Dahlin

2007-12-08  Johan Dahlin  <johan@gnome.org>

* tests/parser/:
* configure.ac:

Add a simple gen-introspect parser test
2007-12-08  Johan Dahlin  <johan@gnome.org>

* tests/parser/:
* configure.ac:

Add a simple gen-introspect parser test

svn path=/trunk/; revision=67

16 years agoreviewed by: Johan Dahlin <johan@gnome.org>
Gustavo J. A. M. Carneiro [Thu, 6 Dec 2007 00:16:15 +0000 (00:16 +0000)]
reviewed by: Johan Dahlin <johan@gnome.org>

2007-12-06  Gustavo J. A. M. Carneiro  <gjc@gnome.org>

reviewed by: Johan Dahlin  <johan@gnome.org>

* configure.ac:
* gobject-introspection.pc.in:
* src/Makefile.am:
* src/compiler.c: (format_output), (write_out_metadata), (main):
* src/gen-introspect.c: (main):
* src/gen-introspect.h:
* src/generate.c: (write_callable_info), (write_repository),
(load_metadata), (main):
* src/gidlmodule.c: (g_idl_module_new),
(g_idl_module_build_metadata):
* src/gidlmodule.h:
* src/gidlparser.c: (start_element_handler):
* src/ginfo.c: (g_info_new), (g_info_from_entry),
(g_base_info_get_name), (g_base_info_get_namespace),
(g_base_info_is_deprecated), (g_base_info_get_annotation),
(g_base_info_get_metadata), (g_function_info_get_symbol),
(g_function_info_get_flags), (g_function_info_get_property),
(g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
(g_callable_info_may_return_null),
(g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
(g_callable_info_get_arg), (g_arg_info_get_direction),
(g_arg_info_is_return_value), (g_arg_info_is_dipper),
(g_arg_info_is_optional), (g_arg_info_may_be_null),
(g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
(g_type_info_get_tag), (g_type_info_get_param_type),
(g_type_info_get_interface), (g_type_info_get_array_length),
(g_type_info_is_zero_terminated),
(g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
(g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
(g_value_info_get_value), (g_field_info_get_flags),
(g_field_info_get_size), (g_field_info_get_offset),
(g_registered_type_info_get_type_name),
(g_registered_type_info_get_type_init),
(g_struct_info_get_n_fields), (g_struct_info_get_field),
(g_struct_info_get_n_methods), (g_struct_info_get_method),
(find_method), (g_struct_info_find_method),
(g_enum_info_get_n_values), (g_enum_info_get_value),
(g_object_info_get_parent), (g_object_info_get_type_name),
(g_object_info_get_type_init), (g_object_info_get_n_interfaces),
(g_object_info_get_interface), (g_object_info_get_n_fields),
(g_object_info_get_field), (g_object_info_get_n_properties),
(g_object_info_get_property), (g_object_info_get_n_methods),
(g_object_info_get_method), (g_object_info_find_method),
(g_object_info_get_n_signals), (g_object_info_get_signal),
(g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
(g_object_info_get_n_constants), (g_object_info_get_constant),
(g_interface_info_get_n_prerequisites),
(g_interface_info_get_prerequisite),
(g_interface_info_get_n_properties),
(g_interface_info_get_property), (g_interface_info_get_n_methods),
(g_interface_info_get_method), (g_interface_info_find_method),
(g_interface_info_get_n_signals), (g_interface_info_get_signal),
(g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
(g_interface_info_get_n_constants),
(g_interface_info_get_constant), (g_property_info_get_flags),
(g_signal_info_get_flags), (g_signal_info_get_class_closure),
(g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
(g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
(g_constant_info_get_value), (g_union_info_get_n_fields),
(g_union_info_get_field), (g_union_info_get_n_methods),
(g_union_info_get_method), (g_union_info_is_discriminated),
(g_union_info_get_discriminator_offset),
(g_union_info_get_discriminator):
* src/ginvoke.c: (g_function_info_invoke):
* src/girepository.c: (g_irepository_register),
(g_irepository_unregister), (g_irepository_get_default),
(count_interfaces), (g_irepository_get_n_infos), (find_interface),
(g_irepository_get_info), (g_irepository_find_by_name),
(g_irepository_get_shared_library),
(g_irepository_build_search_path), (g_irepository_register_file),
(g_irepository_error_quark):
* src/girepository.h:
* src/gmetadata.c: (g_metadata_get_dir_entry),
(g_metadata_check_sanity), (validate_header),
(validate_array_type_blob), (validate_iface_type_blob),
(validate_param_type_blob), (validate_error_type_blob),
(validate_type_blob), (validate_arg_blob),
(validate_signature_blob), (validate_function_blob),
(validate_callback_blob), (validate_constant_blob),
(validate_value_blob), (validate_field_blob),
(validate_property_blob), (validate_signal_blob),
(validate_vfunc_blob), (validate_struct_blob),
(validate_enum_blob), (validate_object_blob),
(validate_interface_blob), (validate_errordomain_blob),
(validate_union_blob), (validate_blob), (validate_directory),
(validate_annotations), (g_metadata_validate), (_g_metadata_init),
(g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
(g_metadata_new_from_mapped_file), (g_metadata_free),
(g_metadata_set_module), (g_metadata_get_namespace):
* src/gmetadata.h:
* tests/Makefile.am:
* tests/invoke/Makefile.am:
* tests/invoke/invoke-namespace-find.sh:
* tests/invoke/invoke.c: (main):

Add a namespace/shared library mapping. fixes #313268.

svn path=/trunk/; revision=66

16 years agoDisable char/gchar and guchar for now.
Johan Dahlin [Mon, 3 Dec 2007 22:30:09 +0000 (22:30 +0000)]
Disable char/gchar and guchar for now.

2007-12-03  Johan Dahlin  <johan@gnome.org>

* src/gidlparser.c (parse_type_internal): Disable char/gchar and
guchar for now.

svn path=/trunk/; revision=64

16 years agoImport gen-introspect to generate introspection information by parsing C
Juerg Billeter [Fri, 30 Nov 2007 22:46:43 +0000 (22:46 +0000)]
Import gen-introspect to generate introspection information by parsing C

2007-11-30  Juerg Billeter  <j@bitron.ch>

* configure.ac:
* src/Makefile.am:
* src/clexer.l:
* src/cparser.y:
* src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
(g_igenerator_write_inline), (g_igenerator_write),
(g_igenerator_write_indent), (g_igenerator_write_unindent),
(field_generate), (value_generate), (constant_generate),
(property_generate), (function_generate), (vfunc_generate),
(signal_generate), (interface_generate), (struct_generate),
(union_generate), (boxed_generate), (enum_generate),
(node_generate), (module_generate), (get_type_from_type_id),
(str_replace), (g_igenerator_process_properties),
(g_igenerator_process_signals), (g_igenerator_process_types),
(get_type_from_ctype), (g_igenerator_process_function_symbol),
(g_igenerator_process_unregistered_struct_typedef),
(g_igenerator_process_struct_typedef),
(g_igenerator_process_union_typedef),
(g_igenerator_process_enum_typedef),
(g_igenerator_process_function_typedef),
(g_igenerator_process_constant), (g_igenerator_process_symbols),
(g_igenerator_add_symbol), (g_igenerator_is_typedef),
(g_igenerator_generate), (main), (csymbol_new),
(csymbol_get_const_boolean), (ctype_new), (ctype_copy),
(cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
(cenum_new), (cpointer_new), (carray_new), (cfunction_new),
(eat_hspace), (eat_line), (read_identifier),
(g_igenerator_parse_macros):
* src/gen-introspect.h:

Import gen-introspect to generate introspection information by
parsing C headers.

svn path=/trunk/; revision=63

16 years agosupport creating callback nodes
Juerg Billeter [Fri, 30 Nov 2007 22:12:54 +0000 (22:12 +0000)]
support creating callback nodes

2007-11-30  Juerg Billeter  <j@bitron.ch>

* src/gidlnode.c: (g_idl_node_new): support creating callback nodes

svn path=/trunk/; revision=62

16 years agoDon't leave requires state too early.
Juerg Billeter [Fri, 30 Nov 2007 22:11:49 +0000 (22:11 +0000)]
Don't leave requires state too early.

2007-11-30  Juerg Billeter  <j@bitron.ch>

* src/gidlparser.c: (end_element_handler): Don't leave requires
state too early.

svn path=/trunk/; revision=61

16 years agoAdd char, gchar and guchar to the builtin types.
Johan Dahlin [Thu, 29 Nov 2007 19:03:58 +0000 (19:03 +0000)]
Add char, gchar and guchar to the builtin types.

2007-11-29  Johan Dahlin  <johan@gnome.org>

* src/gidlparser.c (parse_type_internal): Add char,
gchar and guchar to the builtin types.

svn path=/trunk/; revision=60

16 years agoAdd g_object_info_get_type_name, g_object_info_get_type_init and
Johan Dahlin [Mon, 26 Nov 2007 17:55:23 +0000 (17:55 +0000)]
Add g_object_info_get_type_name, g_object_info_get_type_init and

2007-11-26  Johan Dahlin  <johan@gnome.org>

* src/ginfo.c: (g_object_info_get_type_name),
(g_object_info_get_type_init):
* src/girepository.c: (g_irepository_is_registered):
* src/girepository.h:

Add g_object_info_get_type_name, g_object_info_get_type_init and
g_irepository_is_registered.

svn path=/trunk/; revision=59

16 years agoDon't leave namespace and implements states too early. Fixes #351264
Jürg Billeter [Mon, 26 Nov 2007 17:53:06 +0000 (17:53 +0000)]
Don't leave namespace and implements states too early. Fixes #351264

2006-08-14  Jürg Billeter  <j@bitron.ch>

      * src/gidlparser.c: (end_element_handler): Don't leave
        namespace and implements states too early.
Fixes #351264

svn path=/trunk/; revision=58

16 years agopass blob_type to validate_function_blob instead of hard-coding
Johan Dahlin [Mon, 26 Nov 2007 17:50:42 +0000 (17:50 +0000)]
pass blob_type to validate_function_blob instead of hard-coding

2007-11-26  Johan Dahlin  <johan@gnome.org>

* src/gmetadata.c (validate_struct_blob):
pass blob_type to validate_function_blob instead of
hard-coding BLOB_TYPE_STRUCT.

Patch by Torsten Schoenfeld, fixes #314190

svn path=/trunk/; revision=57

16 years agoAdd a MAINTAINERS file
Johan Dahlin [Mon, 26 Nov 2007 17:49:00 +0000 (17:49 +0000)]
Add a MAINTAINERS file

svn path=/trunk/; revision=55

18 years agoHush compiler warnings about return values, signedness mismatches, unused
Torsten Schönfeld [Tue, 3 Oct 2006 14:38:07 +0000 (14:38 +0000)]
Hush compiler warnings about return values, signedness mismatches, unused

* src/compiler.c, src/generate.c, src/gidlnode.c,
src/gidlparser.c, src/ginfo.c, src/girepository.c,
tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
warnings about return values, signedness mismatches, unused
variables, and unhandles enum values in switch statements.

* tests/invoke/Makefile.am: Don't install the invoke test program.
Add -I ../../src to the cflags used for the test functions files.

19 years agoExport g_invoke_error_quark.
Torsten Schönfeld [Wed, 31 Aug 2005 19:15:30 +0000 (19:15 +0000)]
Export g_invoke_error_quark.

* src/girepository.h: Export g_invoke_error_quark.

19 years agoRemove the fallback implementation of g_function_info_invoke since we now
Torsten Schönfeld [Wed, 31 Aug 2005 19:13:27 +0000 (19:13 +0000)]
Remove the fallback implementation of g_function_info_invoke since we now

* src/ginvoke.c: Remove the fallback implementation of
g_function_info_invoke since we now formally depend on libffi.

19 years agoRemove generated files from cvs
Matthias Clasen [Mon, 25 Jul 2005 19:31:20 +0000 (19:31 +0000)]
Remove generated files from cvs

19 years agoDon't complain if blob->pointer is not set, since that happens for enum
Matthias Clasen [Mon, 25 Jul 2005 18:48:39 +0000 (18:48 +0000)]
Don't complain if blob->pointer is not set, since that happens for enum

2005-07-25  Matthias Clasen  <mclasen@redhat.com>

* src/gmetadata.c (validate_iface_type_blob): Don't
complain if blob->pointer is not set, since that
happens for enum and flag types.  (#308935, Gustavo
Carneiro)

19 years agoAlso add this file
Matthias Clasen [Mon, 25 Jul 2005 18:20:56 +0000 (18:20 +0000)]
Also add this file

19 years agoCommit an autoconf-conversion patch by Gustavo Carneiro (#308708)
Matthias Clasen [Mon, 25 Jul 2005 18:17:29 +0000 (18:17 +0000)]
Commit an autoconf-conversion patch by Gustavo Carneiro (#308708)

2005-07-25  Matthias Clasen  <mclasen@redhat.com>

* Commit an autoconf-conversion patch by
Gustavo Carneiro (#308708)

19 years agoForgotten log entry
Matthias Clasen [Tue, 24 May 2005 20:46:28 +0000 (20:46 +0000)]
Forgotten log entry

19 years agoFix a segfault
Matthias Clasen [Tue, 24 May 2005 20:45:26 +0000 (20:45 +0000)]
Fix a segfault

19 years agoAdd some comments
Matthias Clasen [Tue, 24 May 2005 16:46:53 +0000 (16:46 +0000)]
Add some comments

19 years agoUpdates
Matthias Clasen [Tue, 24 May 2005 15:37:08 +0000 (15:37 +0000)]
Updates

19 years agoUse it here to validate the generated metadata.
Matthias Clasen [Tue, 24 May 2005 15:36:42 +0000 (15:36 +0000)]
Use it here to validate the generated metadata.

2005-05-24  Matthias Clasen  <mclasen@redhat.com>

* src/compiler.c (main): Use it here to validate
the generated metadata.

* src/gmetadata.[hc]: Add code to validate a
metadata blob.

19 years agoUpdates
Matthias Clasen [Tue, 24 May 2005 14:07:33 +0000 (14:07 +0000)]
Updates

19 years agoAdded first draft of proposal for typed annotations support
Maciej Katafiasz [Tue, 24 May 2005 11:59:16 +0000 (11:59 +0000)]
Added first draft of proposal for typed annotations support

19 years agoAdd struct offsets to field and vfunc elements.
Matthias Clasen [Sun, 22 May 2005 04:22:51 +0000 (04:22 +0000)]
Add struct offsets to field and vfunc elements.

2005-05-22  Matthias Clasen  <mclasen@redhat.com>

* tests/*: Add struct offsets to field and vfunc
elements.

* src/generate.c (write_vfunc_info): Write offset
information for vfuncs.

* src/gidlnode.c (g_idl_node_build_metadata): Write
the struct offsets into the metadata.

* src/gidlparser.c: Parse the offset attributes of
field and vfunc elements.

* src/gidlnode.h: Add offset members to field and
vfunc nodes.

19 years agoForgotten files
Matthias Clasen [Sun, 22 May 2005 03:32:44 +0000 (03:32 +0000)]
Forgotten files

19 years agoUpdates.
Matthias Clasen [Sat, 21 May 2005 05:26:02 +0000 (05:26 +0000)]
Updates.

2005-05-21  Matthias Clasen  <mclasen@redhat.com>

* TODO: Updates.

* gidl.dtd: Updates.

* src/g-idl-offsets.pl: A perl script which reads a .gidl
file, creates, compiles and runs a C file, and folds the
resulting struct offsets back into the .gidl file.

19 years agoA perl script which reads a .gidl file, creates, compiles and runs a C
Matthias Clasen [Sat, 21 May 2005 05:22:03 +0000 (05:22 +0000)]
A perl script which reads a .gidl file, creates, compiles and runs a C

2005-05-21  Matthias Clasen  <mclasen@redhat.com>

* src/g-idl-offsets.pl: A perl script which reads a .gidl
file, creates, compiles and runs a C file, and folds the
resulting struct offsets back into the .gidl file.

19 years agoMake fields in objects work.
Matthias Clasen [Sat, 21 May 2005 03:03:01 +0000 (03:03 +0000)]
Make fields in objects work.

2005-05-20  Matthias Clasen  <mclasen@redhat.com>

* src/gidlparser.c (start_field): Make fields in objects
work.

19 years agoFix includes
Matthias Clasen [Sat, 21 May 2005 00:37:26 +0000 (00:37 +0000)]
Fix includes

19 years agoBasic type cleanup
Matthias Clasen [Sat, 21 May 2005 00:08:27 +0000 (00:08 +0000)]
Basic type cleanup

19 years agoReport the correct size for enum blobs. (g_idl_node_get_full_size): Report
Matthias Clasen [Fri, 20 May 2005 05:05:21 +0000 (05:05 +0000)]
Report the correct size for enum blobs. (g_idl_node_get_full_size): Report

2005-05-20  Matthias Clasen  <mclasen@redhat.com>

        * src/gidlnode.c (g_idl_node_get_size): Report the correct
        size for enum blobs.
        (g_idl_node_get_full_size): Report the correct size for
        function blobs.

        * src/gidlmodule.c (g_idl_module_build_metadata): Add some
        error checking for blob sizes.

19 years agoUpdates
Matthias Clasen [Fri, 20 May 2005 03:15:01 +0000 (03:15 +0000)]
Updates

19 years agonew_with_mime+type -> new_with_mime_type
Johan Dahlin [Thu, 19 May 2005 19:42:23 +0000 (19:42 +0000)]
new_with_mime+type -> new_with_mime_type

19 years agoRemove debug spew
Matthias Clasen [Thu, 19 May 2005 19:15:31 +0000 (19:15 +0000)]
Remove debug spew

19 years agoAdd gdk-pixbuf.gidl as an example, and fix the code to handle it.
Matthias Clasen [Thu, 19 May 2005 19:05:05 +0000 (19:05 +0000)]
Add gdk-pixbuf.gidl as an example, and fix the code to handle it.

19 years agoUpdates
Matthias Clasen [Thu, 19 May 2005 17:37:56 +0000 (17:37 +0000)]
Updates

19 years agoUpdates
Matthias Clasen [Tue, 17 May 2005 21:05:02 +0000 (21:05 +0000)]
Updates

19 years agoCleanups
Matthias Clasen [Tue, 17 May 2005 19:11:43 +0000 (19:11 +0000)]
Cleanups

19 years agoChange the directory to be addressed by 1-based indexes, and use an index
Matthias Clasen [Sun, 15 May 2005 05:11:53 +0000 (05:11 +0000)]
Change the directory to be addressed by 1-based indexes, and use an index

2005-05-15  Matthias Clasen  <mclasen@redhat.com>

        * src/*.c: Change the directory to be addressed by
        1-based indexes, and use an index of zero to mean
        'no object'.

19 years agoAdd union.test.
Matthias Clasen [Sun, 15 May 2005 04:30:43 +0000 (04:30 +0000)]
Add union.test.

2005-05-15  Matthias Clasen  <mclasen@redhat.com>

        * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.

        * tests/union.test: Add a union test.

        * src/generate.c: Handle unions.

        * src/girepository.h:
        * src/ginfo.c: Add GIUnionInfo and functions to access it.

        * src/gidlnode.c: Handle GIdlNodeUnion nodes.

        * src/gidlparser.c (start_union): Parse <union> elements.

        * src/gidlnode.h: Add a GIdlNodeUnion.

        * gidl.dtd: Add a <union> element.

        * src/gmetadata.c (g_metadata_check_sanity): Check
        union_blob_size.

        * src/gmetadata.h: Add union_blob_size to Header,
        add a UnionBlob.

        * metadata-format.txt: Add a UnionBlob.

19 years agoUpdates
Matthias Clasen [Fri, 13 May 2005 17:33:11 +0000 (17:33 +0000)]
Updates

19 years agoUpdate testcases.
Matthias Clasen [Fri, 13 May 2005 17:31:10 +0000 (17:31 +0000)]
Update testcases.

2005-05-13  Matthias Clasen  <mclasen@redhat.com>

* tests/*: Update testcases.

* src/generate.c (write_callable_info): Don't forget to
write transfer and null-ok attributes for return types
and parameters.

* src/girepository.h:
* src/ginfo.c (g_callable_info_may_return_null):
New function to find out if a function may return NULL.

19 years agoMake the generated C code compile.
Matthias Clasen [Fri, 13 May 2005 15:58:43 +0000 (15:58 +0000)]
Make the generated C code compile.

2005-05-13  Matthias Clasen  <mclasen@redhat.com>

* src/compiler.c (format_output): Make the generated
C code compile.

* README: Point to a recent libffi snapshot.

* tests/invoke/*: Some invoke tests.

* src/Makefile: Add ginvoke.c and the necessary
libffi information.

* src/girepository.h (g_function_info_invoke): Add
a GError argument.

* src/ginvoke.c (g_function_info_invoke): Initial
implementation of invoke functionality based on libffi.

19 years agoFree the name parts.
Matthias Clasen [Fri, 13 May 2005 14:35:04 +0000 (14:35 +0000)]
Free the name parts.

2005-05-13  Matthias Clasen  <mclasen@redhat.com>

* src/gidlnode.c (find_entry_node): Free the name parts.

19 years agoPass the strings and types hash tables in the right order when recursing.
Matthias Clasen [Fri, 13 May 2005 04:42:12 +0000 (04:42 +0000)]
Pass the strings and types hash tables in the right order when recursing.

2005-05-13  Matthias Clasen  <mclasen@redhat.com>

        * src/gidlnode.c (g_idl_node_build_metadata): Pass the
        strings and types hash tables in the right order when
        recursing.

19 years agoGenerate consistent end tags.
Johan Dahlin [Fri, 13 May 2005 02:54:03 +0000 (02:54 +0000)]
Generate consistent end tags.

* src/generate.c: Generate consistent end tags.

* tests/*: Update

19 years agoUpdates
Matthias Clasen [Fri, 13 May 2005 02:44:04 +0000 (02:44 +0000)]
Updates

2005-05-12  Matthias Clasen  <mclasen@redhat.com>

        * TODO: Updates

19 years agoActually add methods to objects. (Steven Walter)
Matthias Clasen [Fri, 13 May 2005 02:42:21 +0000 (02:42 +0000)]
Actually add methods to objects. (Steven Walter)

2005-05-12  Matthias Clasen  <mclasen@redhat.com>

        * src/gidlparser.c (start_function): Actually add
        methods to objects.  (Steven Walter)

        * src/girepository.h:
        * src/ginfo.c: Rename Transfer and Direction to
        GITransfer and GIDirection. (Torsten Schoenfeld)

19 years agoRename Transfer and Direction to GITransfer and GIDirection. (Torsten
Matthias Clasen [Fri, 13 May 2005 02:36:01 +0000 (02:36 +0000)]
Rename Transfer and Direction to GITransfer and GIDirection. (Torsten

2005-05-12  Matthias Clasen  <mclasen@redhat.com>

        * src/girepository.h:
        * src/ginfo.c: Rename Transfer and Direction to
        GITransfer and GIDirection. (Torsten Schoenfeld)

19 years agoFix test cases
Matthias Clasen [Thu, 12 May 2005 22:51:16 +0000 (22:51 +0000)]
Fix test cases

19 years agoSome fixes
Matthias Clasen [Thu, 12 May 2005 22:49:59 +0000 (22:49 +0000)]
Some fixes

19 years agoAdd a --verbose cmdline option and only log messages if it is specified.
Matthias Clasen [Wed, 11 May 2005 19:31:37 +0000 (19:31 +0000)]
Add a --verbose cmdline option and only log messages if it is specified.

2005-05-11  Matthias Clasen  <mclasen@redhat.com>

* src/compiler.c (main): Add a --verbose cmdline option
and only log messages if it is specified.

* src/gidlnode.h:
* src/gidlnode.c (init_stats, dump_stats): Collect some
statistics on string and type sharing.

* src/gidlmodule.c (g_idl_module_build_metadata): Use
g_message() instead of fprintf().

* src/gidlnode.c (g_idl_node_free): Make this more robust.
(g_idl_node_get_size): Implement for structs.
(g_idl_node_get_full_size): Handle parent being NULL.
(serialize_type): Handle lookup failures more gracefully.

19 years agoCorrect the size calculation for 2-parameter types and for objects.
Matthias Clasen [Tue, 10 May 2005 17:43:21 +0000 (17:43 +0000)]
Correct the size calculation for 2-parameter types and for objects.

2005-05-10  Matthias Clasen  <mclasen@redhat.com>

* src/gidlnode.c (g_idl_node_get_full_size): Correct the
size calculation for 2-parameter types and for objects.

* src/compiler.c: Add a cmdline option for debug output
and install a log handler to implement it.
* src/gidlnode.c: Add some debug spew.

19 years agoUpdates
Matthias Clasen [Tue, 10 May 2005 05:14:32 +0000 (05:14 +0000)]
Updates

19 years agoDon't forget to count the module name when calculating the required size
Matthias Clasen [Tue, 10 May 2005 05:08:40 +0000 (05:08 +0000)]
Don't forget to count the module name when calculating the required size

2005-05-10  Matthias Clasen  <mclasen@redhat.com>

* src/gidlmodule.c (g_idl_module_build_metadata): Don't
forget to count the module name when calculating the
required size for the metadata.

* src/gidlnode.c:
* src/gidlparser.c: Fix compiler warnings.

19 years agoFree the option context.
Matthias Clasen [Tue, 10 May 2005 03:52:16 +0000 (03:52 +0000)]
Free the option context.

2005-05-09  Matthias Clasen  <mclasen@redhat.com>

* src/compiler.c (main): Free the option context.

19 years agoClean up handling of names. All elements have a "name", only the elements
Matthias Clasen [Mon, 9 May 2005 19:32:10 +0000 (19:32 +0000)]
Clean up handling of names. All elements have a "name", only the elements

2005-05-09  Matthias Clasen  <mclasen@redhat.com>

* gidl.dtd: Clean up handling of names. All elements
have a "name", only the elements corresponding to
actual callable functions (function, method, constructor),
have an additional "symbol" attribute holding the
dlsym()-able function name.

* src/generate.c: Adapt to generate xml matching the
new dtd.

* src/gidlparser.c:
* src/gidlnode.c: Adapt to parse the new dtd.

* tests/*.test: Adjust to the new dtd.

* metadata-format.txt:
* src/gmetadata.h: Remove the short_name field
from the ValueBlob.
* src/gmetadata.c: Shrink size of ValueBlob to 12.
* src/girepository.h:
* src/ginfo.c (g_value_info_get_short_name): Removed

19 years agoAllow constructors in boxed
Matthias Clasen [Mon, 9 May 2005 16:08:26 +0000 (16:08 +0000)]
Allow constructors in boxed

19 years agoImport the GObject introspection prototype INITIAL_RELEASE
Matthias Clasen [Mon, 9 May 2005 14:24:46 +0000 (14:24 +0000)]
Import the GObject introspection prototype

19 years agoInitial revision
Matthias Clasen [Mon, 9 May 2005 14:24:46 +0000 (14:24 +0000)]
Initial revision