Regenerate.
[platform/upstream/gobject-introspection.git] / ChangeLog
1 2008-08-18  Johan Dahlin  <johan@gnome.org>
2
3         * gir/gio-2.0-good.gir:
4         * gir/glib-2.0-good.gir:
5         * gir/gobject-2.0-good.gir:
6         Regenerate.
7
8 2008-08-18  Johan Dahlin  <johan@gnome.org>
9
10         * giscanner/ast.py:
11         * giscanner/girparser.py:
12         * giscanner/girwriter.py:
13         * giscanner/glibast.py:
14         * giscanner/glibtransformer.py:
15         * giscanner/transformer.py:
16         * tests/scanner/Foo-expected.gir:
17         * tests/scanner/foo-object.h:
18         * tests/scanner/utility-expected.gir:
19         * tests/scanner/utility.h:
20         Redo type resolving and validation.
21         Add a couple of new tests.
22         Patch mostly written by Colin.
23
24 2008-08-18  Johan Dahlin  <johan@gnome.org>
25
26         * gir/Makefile.am:
27         * giscanner/girparser.py:
28         Set ctype of enums
29         * giscanner/transformer.py:
30         Improve enum parsing for enums without a GType.
31         Make flags/enum references to other girs work
32         * giscanner/utils.py:
33         Simplify this a bit
34         * tests/scanner/Makefile.am:
35         * tests/scanner/foo-object.h:
36         * tests/scanner/utility-expected.gir:
37         * tests/scanner/utility.h:
38         Add a new test for external enum references
39
40 2008-08-18  Johan Dahlin  <johan@gnome.org>
41
42         * docs/global-module-registry.txt: Update
43
44         * tests/array.gir: Update with new type proposal
45
46         * girepository/girepository.c (g_type_tag_to_string):
47         * girepository/girepository.h:
48         * girepository/girnode.c (g_ir_node_get_full_size_internal),
49         (find_entry_node):
50         * girepository/girnode.h:
51         Make enum serializing functions public. Clean up some whitespace.
52
53 2008-08-17  Johan Dahlin  <johan@gnome.org>
54
55         * docs/global-module-registry.txt:
56         Add a document for an on disk module registry format
57
58 2008-08-17  Johan Dahlin  <johan@gnome.org>
59
60         * gir/Makefile.am:
61         * gir/gio-2.0-good.gir:
62         Add a gio gir.
63
64 2008-08-17  Johan Dahlin  <johan@gnome.org>
65
66         * gir/Makefile.am:
67         * gir/glib-2.0-good.gir:
68         * gir/gobject-2.0-good.gir:
69         * giscanner/cgobject.py:
70         * giscanner/glibtransformer.py:
71         Regenerate GObject & GType.
72         Avoid warnings when generating gobject-2.0.gir.
73         Introspect a little more, and skip *_get_type functions.
74
75 2008-08-17  Colin Walters  <walters@verbum.org>
76
77         * gir/glib-2.0.gir, gir/gobject-2.0.gir:
78         Rename to -good, always generate during build.
79         * gir/Makefile.am: Ensure .gir files dep on
80         all scanner sources.
81         * Makefile.am: Switch build order to ensure
82         the scanner is ready before we do gir/.
83         * tools/g-ir-scanner: Look for .git too.
84
85 2008-08-17  Johan Dahlin  <johan@gnome.org>
86
87         * girepository/gtypelib.c (validate_enum_blob):
88         * giscanner/glibtransformer.py:
89         * giscanner/transformer.py:
90         Remove resolve_possible_typedefs, it was unused.
91         Allow multiple enum values of the sample value in an enum,
92         since it's actually pretty common.
93         Register enums so they can be resolved too.
94
95 2008-08-16  Johan Dahlin  <johan@gnome.org>
96
97         * giscanner/girparser.py:
98         Parse enumeration/bitfield.
99
100 2008-08-16  Johan Dahlin  <johan@gnome.org>
101
102         * giscanner/girparser.py:
103         Parse boxed types.
104
105 2008-08-16  Johan Dahlin  <johan@gnome.org>
106
107         * giscanner/glibtransformer.py:
108         Resolve type names for alias targets
109         * giscanner/transformer.py:
110         Skip FILE* parameters fow now
111
112 2008-08-16  Johan Dahlin  <johan@gnome.org>
113
114         * gir/glib-2.0.gir:
115         * gir/gobject-2.0.gir:
116         Regenerate
117
118         * tests/scanner/Makefile.am:
119         parser -> scanner
120
121 2008-08-15  Colin Walters  <walters@verbum.org>
122
123         * giscanner/glibtransformer.py: Explicitly construct
124         new list, since we're deleting as we iterate.
125         Don't delete all structures which end in Class; just
126         ones which have a paired GObject.
127         Fix printing of type warning.
128         * giscanner/transformer.py: Make strip_namespace_object
129         be the identity function if it doesn't match the 
130         namespace.
131
132 2008-08-15  Colin Walters  <walters@verbum.org>
133
134         * giscanner/cgobject.py: Define yet more argument
135         prototypes; fix prototype for g_type_fundamental.
136
137 2008-08-14  Johan Dahlin  <johan@gnome.org>
138
139         * tests/Makefile.am:
140         * tests/constant.gir:
141         * tests/gobject.gir:
142         * tests/struct.gir:
143         * tools/generate.c (write_struct_info):
144         Fix generator for constant/gobject/struct
145
146 2008-08-14  Johan Dahlin  <johan@gnome.org>
147
148         * tests/Makefile.am:
149         * tests/enum.gir:
150         * tools/generate.c (write_enum_info):
151         Fix generation of enum/bitfields
152
153 2008-08-14  Johan Dahlin  <johan@gnome.org>
154
155         * girepository/girparser.c (start_field), (start_constant),
156         (start_type), (end_element_handler):
157         Clear up constant parsing
158
159         * tests/object.gir:
160         Update
161
162         * tools/generate.c (write_callable_info), (write_function_info),
163         (write_callback_info), (write_constant_info), (write_signal_info),
164         (write_vfunc_info), (write_property_info), (write_object_info),
165         (write_interface_info):
166         Constants/Signals are handled now.
167
168 2008-08-14  Johan Dahlin  <johan@gnome.org>
169
170         * girepository/girparser.c (start_type):
171         Don't require c:type.
172         * tests/Makefile.am:
173         Test boxed.gir
174         * tests/boxed.gir:
175         Update, remove parts we don't support yet
176         * tests/roundtrips.sh:
177         Remove
178         * tools/generate.c (write_type_info), (write_field_info),
179         (write_callable_info), (write_struct_info):
180         Make it emit proper gir.
181
182 2008-08-14  Johan Dahlin  <johan@gnome.org>
183
184         * giscanner/transformer.py:
185         New internal function for adding a new node.
186
187 2008-08-14  Johan Dahlin  <johan@gnome.org>
188
189         * gir/Makefile.am:
190         Define an internal _H_ variable so we skip parsing both
191         i18n headers, only one is needed.
192         * gir/glib-2.0.gir:
193         Add the glib-2.0.gir too.
194         * giscanner/glibast.py:
195         Add gconstpointer as an alias for ANY
196         * giscanner/transformer.py:
197         Do not lower case enumeration names per se.
198         Skip functions which has parameters called 'va_list'
199
200 2008-08-14  Colin Walters  <walters@verbum.org>
201
202         * giscanner/transformer.py: Comment data structures.
203         Also squash pointers in resolve_type_name to correspond
204         with what we do for params.
205         * giscanner/glibtransformer.py: Print warnings in more
206         situations.  Rework checks for method/constructor to
207         look up in our GType database instead of just checking
208         for *.   Avoid generating <record> for GObject which
209         duplicate the <class>.
210         * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
211         in here.
212
213 2008-08-14  Johan Dahlin  <johan@gnome.org>
214
215         * giscanner/girwriter.py:
216         * giscanner/glibast.py:
217         * giscanner/glibtransformer.py:
218         * giscanner/transformer.py:
219         * misc/pyflakes.py:
220         * tests/Makefile.am:
221         Add pyflakes.py and run it in make check.
222         Update the source code to fix the errors reported by
223         pyflakes.
224
225 2008-08-14  Johan Dahlin  <johan@gnome.org>
226
227         * giscanner/ast.py:
228         * giscanner/girparser.py:
229         * giscanner/glibast.py:
230         * giscanner/glibtransformer.py:
231         Refactor the parser a bit.
232         Add parent type to interfaces and update callsites.
233
234 2008-08-14  Johan Dahlin  <johan@gnome.org>
235
236         * giscanner/glibtransformer.py:
237         * giscanner/utils.py:
238         Refactor a bit, avoid isinstance and add a method
239         for each type we parse.
240
241 2008-08-14  Johan Dahlin  <johan@gnome.org>
242
243         * giscanner/ast.py:
244         * giscanner/girparser.py:
245         * giscanner/glibtransformer.py:
246         * tests/Makefile.am:
247         Run pep8.py in make check, fix old errors.
248
249 2008-08-13  Colin Walters  <walters@verbum.org>
250
251         * giscanner/girparser.py: Parse records.
252
253 2008-08-13  Colin Walters  <walters@verbum.org>
254
255         * gir/Makefile.am: Install again.
256         * gir/gobject-2.0.gir: Add some more bits.
257
258 2008-08-13  Colin Walters  <walters@verbum.org>
259
260         * gir/gobject-2.0.gir: Use correct namespace, add GType.
261         * giscanner/girparser.py: Handle aliases.
262         * giscanner/transformer.py: Record aliases.  Make resolver
263         functions public; we now call into these explicitly from
264         glibtransformer.  Handle resolving aliases.
265         * giscanner/glibtransformer.py: Separate our internal namespace
266         from included ones.  Call up into transformer's resolver functions.
267
268 2008-08-13  Johan Dahlin  <johan@gnome.org>
269
270         * girepository/girnode.c (g_ir_node_get_full_size_internal):
271         * girepository/girparser.c (start_class):
272         * giscanner/glibtransformer.py:
273         Allow get_type to be None, set a get_type for GInitiallyUnowned too.
274
275 2008-08-13  Johan Dahlin  <johan@gnome.org>
276
277         * giscanner/cgobject.py:
278         Register GInitiallyUnowned
279         * giscanner/girwriter.py:
280         * giscanner/glibtransformer.py:
281         Special case GObject/GInitially owned as they are a bit special to use.
282
283 2008-08-13  Colin Walters  <walters@verbum.org>
284
285         * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
286         Object is in GObject namespace.
287
288 2008-08-13  Colin Walters  <walters@verbum.org>
289
290         * giscanner/girparser.py: Fix processing of functions
291         from last commit.
292
293 2008-08-13  Colin Walters  <walters@verbum.org>
294
295         * giscanner/girparser.py: Parse more than just <class.
296         * giscanner/glibtransformer.py: Put aliases in a separate
297         data structure since their name is not canonicall.
298         * giscanner/transformer.py: Handle resolving type names
299         from includes.
300
301 2008-08-13  Johan Dahlin  <johan@gnome.org>
302
303         * tools/g-ir-scanner:
304         Allow multiple libraries
305         * giscanner/glibtransformer.py:
306         Rename load_library to add_library, traverse over all libraries
307         when trying to resolve a function
308
309 2008-08-12  Colin Walters  <walters@verbum.org>
310
311         * giscanner/transformer.py: Record typedefs as <alias> elements.
312           Also attempt to look up types in external namespaces.
313         * giscanner/girwriter.py: Write them.
314         * giscanner/glibtransformer.py: Rework resolver using real instanceof
315         checks.  Resolve interface methods and properties.
316         * tests/scanner/foo-object.h: Add a method with typedef.
317         * tests/scanner/Foo-expected.gir: Update.
318         * girepository/girnode.c: Debug tweaks.
319         * girepository/girparser.c: Make a first pass through the XML where we
320         record all the aliases.  This lets us resolve them as we go through the
321         second pass.
322         * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
323         from gir-repository.
324
325 2008-08-12  Colin Walters  <walters@verbum.org>
326
327         * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
328         Correctly do subclasseing in 2nd pass resolution.  Handle callbacks in structure
329         fields.
330         * giscanner/transformer.py: Record typedefs and expose public API for resolving
331         them.
332         * tests/scanner/Foo-expected.gir: Fix expected callback types.
333
334 2008-08-12  Colin Walters  <walters@verbum.org>
335
336         * giscanner/glibtransformer.py: Also transform object properties.
337
338 2008-08-12  Colin Walters  <walters@verbum.org>
339
340         * giscanner/glibtransformer.py: Also transform callbacks
341         and structure field types.
342         * tests/scanner/Fooe-expected.gir: Update to expect correct
343         names for callbacks and structs.
344
345 2008-08-12  Colin Walters  <walters@verbum.org>
346
347         * girepository/girparser.c: Handle 'any'.
348         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
349         Add test for void *.
350
351 2008-08-12  Colin Walters  <walters@verbum.org>
352
353         * giscanner/glibtransformer.py: We need to do type
354         resolution in a second pass after we've seen all the
355         enums, records, etc.
356
357 2008-08-12  Colin Walters  <walters@verbum.org>
358
359         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
360         Add enum return value.
361         * giscanner/glibtransformer.py: Transform function return types
362         too.
363
364 2008-08-12  Colin Walters  <walters@verbum.org>
365
366         * tests/scanner/Makefile.am: Dep .gir files on scanner
367         sources too.  Also remove @ so we see scanner invocations.
368
369 2008-08-12  Colin Walters  <walters@verbum.org>
370
371         * girepository/girparser.c, girepository/gtypelib.c,
372         girepository/gtypelib.h, girepository/girnode.c:
373         Remove usage of (GAPI-oriented) TypeTag in favor of
374         GITypeTag from girepository.h.
375
376 2008-08-10  Colin Walters  <walters@verbum.org>
377
378         * tests/roundtrips.sh: Use the correct tests.
379
380 2008-08-10  Colin Walters  <walters@verbum.org>
381
382         * giscanner/cgobject.py: Declare/wrap a few more functions.
383         Fix parameter types for g_object_new and g_type_fundamental.
384
385 2008-08-10  Colin Walters  <walters@verbum.org>
386
387         * giscanner/cgobject.py: Add new decorator @gwrap which forces
388         us to declare types for both return value and parameters.  The
389         ctypes default of 'int' is bad because it hides 32/64 bit
390         problems.  Convert all existing functions to use it.
391
392 2008-08-09  Johan Dahlin  <johan@gnome.org>
393
394         * giscanner/__init__.py:
395         * giscanner/ast.py:
396         * giscanner/cgobject.py:
397         * giscanner/gidlparser.py:
398         * giscanner/gidlwriter.py:
399         * giscanner/girparser.py:
400         * giscanner/girwriter.py:
401         * giscanner/glibast.py:
402         * giscanner/glibtransformer.py:
403         * giscanner/odict.py:
404         * giscanner/sourcescanner.py:
405         * giscanner/transformer.py:
406         * giscanner/utils.py:
407         * giscanner/xmlwriter.py:
408         * tools/g-ir-scanner:
409
410         PEP8ify
411
412 2008-08-09  Johan Dahlin  <johan@gnome.org>
413
414         * relaxng/api.xml:
415         * relaxng/c-types.xml:
416         * relaxng/g-types.xml:
417         * relaxng/relaxng.rng:
418         * relaxng/util.xml:
419         Remove outdated relaxng schemas.
420
421 2008-08-09  Johan Dahlin  <johan@gnome.org>
422
423         * *.[ch]:
424         Rename metadata to typelib in variable names,
425         comments and apis.
426
427 2008-08-09  Johan Dahlin  <johan@gnome.org>
428
429         * tools/scanner.c:
430         * tools/scanner.h:
431         Remove old C scanner, which got rewritten in python.
432
433 2008-08-09  Johan Dahlin  <johan@gnome.org>
434
435         * girepository/Makefile.am:
436         * tools/Makefile.am:
437         * tools/girmodule.c:
438         * tools/girmodule.h:
439         * tools/girnode.c:
440         * tools/girnode.h:
441         * tools/girparser.c:
442         * tools/girparser.h:
443         * tools/girwriter.c:
444         * tools/girwriter.h:
445         Move shared *.[ch] files to girepository from tools
446
447 2008-08-09  Johan Dahlin  <johan@gnome.org>
448
449         * tests/Makefile.am:
450         * tests/array.test:
451         * tests/boxed.test:
452         * tests/constant.test:
453         * tests/enum.test:
454         * tests/errors.test:
455         * tests/function.test:
456         * tests/gobject.test:
457         * tests/interface.test:
458         * tests/object.test:
459         * tests/struct.test:
460         * tests/types.test:
461         * tests/union.test:
462         * tests/xref1.test:
463         * tests/xref2.test:
464         Rename *.test to *.gir
465
466 2008-08-09  Johan Dahlin  <johan@gnome.org>
467
468         * configure.ac:
469         * tests/Makefile.am:
470         * tests/parser/Foo-expected.gir:
471         * tests/parser/Makefile.am:
472         * tests/parser/foo-object.h:
473         * tests/parser/foo.c:
474         * tests/parser/utility-expected.gir:
475         * tests/parser/utility.c:
476         * tests/parser/utility.h:
477         * tests/scanner/Makefile.am:
478         Rename tests/parser to test/scanner
479
480 2008-08-08  Colin Walters  <walters@verbum.org>
481
482         * tests/roundtrips.sh: Use local .gir files again.
483
484 2008-08-08  Colin Walters  <walters@verbum.org>
485
486         * tests/invoke/Makefile.am: .gir file depends on libtool
487         library.
488
489 2008-08-08  Colin Walters  <walters@verbum.org>
490
491         * tools/girnode.c: Pass through parent node so we can
492         print the node whose child is NULL, if that occurs.
493
494 2008-08-08  Johan Dahlin  <johan@gnome.org>
495
496         * tests/Makefile.am:
497         Disable roundtrip tests which are not yet working
498         * tests/invoke/testfns.gir:
499         Rewrite as gir.
500
501 2008-08-08  Johan Dahlin  <johan@gnome.org>
502
503         * giscanner/girwriter.py:
504         type -> ntype
505         * giscanner/glibast.py:
506         * giscanner/glibtransformer.py:
507         Swap order of members, to keep it consistent with
508         base enum class
509
510 2008-08-08  Johan Dahlin  <johan@gnome.org>
511
512         * girepository/gtypelib.c (validate_header):
513         * girepository/gtypelib.h:
514         * giscanner/ast.py:
515         * giscanner/girwriter.py:
516         * giscanner/sourcescanner.c (gi_source_symbol_ref),
517         (gi_source_symbol_unref):
518         * tests/array.test:
519         * tests/boxed.test:
520         * tests/constant.test:
521         * tests/enum.test:
522         * tests/errors.test:
523         * tests/function.test:
524         * tests/gobject.test:
525         * tests/interface.test:
526         * tests/invoke/Makefile.am:
527         * tests/invoke/testfns.xml:
528         * tests/object.test:
529         * tests/parser/Makefile.am:
530         * tests/roundtrips.sh:
531         * tests/struct.test:
532         * tests/types.test:
533         * tests/union.test:
534         * tests/xref1.test:
535         * tests/xref2.test:
536         * tools/Makefile.am:
537         * tools/compiler.c (main):
538         * tools/generate.c (write_callable_info), (write_function_info),
539         (write_repository):
540         * tools/gidlmodule.c:
541         * tools/gidlmodule.h:
542         * tools/gidlnode.c:
543         * tools/gidlnode.h:
544         * tools/gidlparser.c:
545         * tools/gidlparser.h:
546         * tools/gidlwriter.c:
547         * tools/gidlwriter.h:
548         * tools/scanner.c (create_node_from_gtype),
549         (create_node_from_ctype), (g_igenerator_process_properties),
550         (g_igenerator_process_signals), (g_igenerator_create_object),
551         (g_igenerator_create_interface), (g_igenerator_create_boxed),
552         (g_igenerator_create_enum), (g_igenerator_create_flags),
553         (g_igenerator_process_function_symbol),
554         (g_igenerator_process_unregistered_struct_typedef),
555         (g_igenerator_process_struct_typedef),
556         (g_igenerator_process_union_typedef),
557         (g_igenerator_process_enum_typedef),
558         (g_igenerator_process_function_typedef),
559         (g_igenerator_process_constant), (g_igenerator_process_symbols),
560         (g_igenerator_add_module), (g_igenerator_add_include_idl):
561         Merge in the gir-compiler branch.
562         Thanks to Philip and Colin for their help.
563
564 2008-07-26  Colin Walters  <walters@verbum.org>
565
566         * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
567         and g-idl-generate to go along with how we're changing this
568         module to be installed.
569         * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
570
571 2008-07-24  Colin Walters  <walters@verbum.org>
572
573         * girepository/girepository.c (g_irepository_register): Add
574         environment variable G_IREPOSITORY_VERBOSE so we can print
575         out what we're doing.
576         * girepository/girepository.c (g_irepository_register_file): 
577         Add GError error message to g_debug call.
578
579 2008-07-08  Jürg Billeter  <j@bitron.ch>
580
581         * giscanner/glibast.py:
582
583         Fix typo
584
585 2008-06-21  Johan Dahlin  <jdahlin@async.com.br>
586
587         * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
588         more tags
589
590 2008-06-20  Johan Dahlin  <jdahlin@async.com.br>
591
592         * giscanner/ast.py:
593         * giscanner/girwriter.py:
594         * giscanner/transformer.py:
595         * tests/parser/Foo-expected.gir:
596         * tests/parser/foo-object.h:
597         * tests/parser/foo.c (foo_object_allow_none):
598         Add support for gtk-doc annotations for allow-none.
599         Add test case.
600
601 2008-06-19  Johan Dahlin  <jdahlin@async.com.br>
602
603         * giscanner/ast.py:
604         * giscanner/girwriter.py:
605         * giscanner/glibast.py:
606         * giscanner/glibtransformer.py:
607         * giscanner/transformer.py:
608         * tests/parser/Foo-expected.gir:
609         Start using abstract type instead of the raw C types.
610         Register a bunch of glib types we care about.
611
612 2008-06-19  Rob Taylor  <rob.taylor@codethink.co.uk>
613
614         * AUTHORS:
615         Update authors
616
617 2008-06-08  Philip Van Hoof  <pvanhoof@gnome.org>
618
619         * girepository/girepository.c:
620         * girepository/gtypelib.c:
621         * girepository/ginfo.c:
622         * girepository/ginvoke.c:
623         * girepository/girepository.h:
624         * girepository/gtypelib.h:
625         * girepository/gmetadata.c:
626         * girepository/Makefile.am:
627         * girepository/gmetadata.h:
628         * tools/compiler.c:
629         * tools/gidlmodule.c:
630         * tools/gidlnode.c
631         * tools/generate.c:
632         * tools/gidlmodule.h:
633         * tools/gidlparser.c:
634
635         Renamed GMetadata to GTypelib
636
637 2008-06-07  Johan Dahlin  <jdahlin@async.com.br>
638
639         * giscanner/xmlwriter.py:
640         Improve line wrapping when > 79 charaters
641
642 2008-06-05  Jürg Billeter  <j@bitron.ch>
643
644         * giscanner/ast.py:
645         * giscanner/girwriter.py:
646         * giscanner/transformer.py:
647         Use <type> element for field types
648         * tests/parser/Foo-expected.gir:
649         Update testcase
650
651 2008-06-04  Johan Dahlin  <jdahlin@async.com.br>
652
653         * giscanner/glibtransformer.py:
654         Fix a bug which prevented GdkEvent from being generated
655
656 2008-06-03  Johan Dahlin  <jdahlin@async.com.br>
657
658         * giscanner/Makefile.am:
659         * giscanner/ast.py:
660         * giscanner/girwriter.py:
661         * giscanner/glibast.py:
662         * giscanner/glibtransformer.py:
663         * giscanner/transformer.py:
664         * giscanner/utils.py:
665         * tests/parser/Foo-expected.gir:
666         Improve enum member parsing and introspection
667
668 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
669
670         * giscanner/scannerparser.y:
671         * giscanner/sourcescanner.h:
672         * giscanner/sourcescanner.py:
673         Add a new source type enum for member.
674         Use __repr__ for improved debugging
675         * giscanner/girparser.py:
676         Ignore some more
677         * giscanner/transformer.py:
678         Improve parsing of struct members.
679         * tests/parser/foo-object.h:
680         Add a new testcase
681
682 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
683
684         * giscanner/xmlwriter.py:
685         Improve error reporting when trying to quote None.
686         * giscanner/girparser.py:
687         Do not print warnings when including more complete .gir files
688         * giscanner/girwriter.py:
689         Do not require a name for parameters, add a todo for singletons
690         * giscanner/glibtransformer.py:
691         Refactor the way structs are done, add a couple of hacks to allow
692         us to get further.
693         * giscanner/transformer.py:
694         Add enough hacks so cairo, atk and pango.gir can be parsed properly
695         * gobject-introspection-1.0.pc.in:
696         Export girdir, so we can access gobject-2.0.gir from outside
697
698 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
699
700         * tools/g-ir-scanner:
701         * tests/parser/Makefile.am:
702         Update sys.path before running the parser so we don't have
703         to setup PYTHONPATH ourselves.
704
705         * Makefile.am:
706         * configure.ac:
707         * girepository/Makefile.am:
708         * giscanner/transformer.py:
709         * gobject-introspection-1.0.pc.in:
710         * gobject-introspection.pc.in:
711         * tools/Makefile.am:
712
713         Rename pkg-config name to gobject-introspection-1.0,
714         Do not installed anything which is not using the gir format.
715         Disable compililation the old C scanner, but still keep the source
716         until all the remaning functionallity has been ported.
717
718 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
719
720         * giscanner/giscannermodule.c (symbol_get_ident): Prevent
721         a crash when symbol->indent is NULL.
722
723         * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
724         a function to convert a CTYPE symbol to a string
725
726 2008-05-24  Johan Dahlin  <jdahlin@async.com.br>
727
728         * giscanner/ast.py:
729         * giscanner/girwriter.py:
730         * giscanner/giscannermodule.c
731         (pygi_source_scanner_append_filename),
732         (pygi_source_scanner_parse_file):
733         * giscanner/glibtransformer.py:
734         * giscanner/sourcescanner.py:
735         Revert back to using temporary files to send in headers.
736         Allow Functions to be passed in as callbacks, add a couple
737         of try/excepts missing features.
738         We can now scan pango
739
740 2008-05-08  Johan Dahlin  <johan@gnome.org>
741
742         * giscanner/glibtransformer.py:
743         * giscanner/transformer.py:
744         Move namespace stripping glibtransformer->transformer
745
746 2008-05-08  Johan Dahlin  <johan@gnome.org>
747
748         * giscanner/ast.py:
749         * giscanner/girwriter.py:
750         * giscanner/glibtransformer.py:
751         * giscanner/transformer.py:
752         * tools/g-ir-scanner:
753         Introduce a namespace ast node
754
755 2008-05-05  Johan Dahlin  <johan@gnome.org>
756
757         * giscanner/__init__.py:
758         * giscanner/sourcescanner.py:
759         * giscanner/transformer.py:
760         Move sourcescanner symbols to the sourcescanner module, instead
761         of in the global __init__ namespace.
762
763 2008-05-03  Johan Dahlin  <johan@gnome.org>
764
765         * giscanner/glibtransformer.py:
766         * tools/g-ir-scanner:
767         Handle missing parameters better, allow - and + in .la dlname
768         filenames.
769
770 2008-05-03  Johan Dahlin  <johan@gnome.org>
771
772         * giscanner/__init__.py:
773         * giscanner/ast.py:
774         * giscanner/girwriter.py:
775         * giscanner/glibtransformer.py:
776         * giscanner/transformer.py:
777         Parse struct fields properly, improve debugging.
778
779 2008-04-29  Johan Dahlin  <johan@gnome.org>
780
781         * giscanner/ast.py:
782         * giscanner/girwriter.py:
783         * giscanner/transformer.py:
784         * tests/parser/Foo-expected.gir:
785         * TODO:
786         Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
787
788 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
789
790         * Makefile.am:
791         * docs/g-ir-scanner.1:
792         * metadata-annotations-proposal.txt:
793         * metadata-format.txt:
794         Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
795
796 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
797
798         * giscanner/girwriter.py:
799         * giscanner/glibtransformer.py:
800         * giscanner/transformer.py:
801         * giscanner/xmlwriter.py:
802         * tests/parser/Foo-expected.gir:
803         * tests/parser/foo-object.h:
804         Write record/structs to gir file too. Add a couple of tests,
805         fix an off by one error in xmlwriter.py.
806
807 2008-04-28  Johan Dahlin  <johan@gnome.org>
808
809         * giscanner/xmlwriter.py: Calculate the line length properly,
810         include the provided extra indentation in the calculation, really.
811
812 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
813
814         * giscanner/ast.py:
815         * giscanner/glibast.py:
816         * giscanner/glibtransformer.py:
817         * giscanner/transformer.py:
818         * tools/g-ir-scanner:
819         Add a --strip-prefix and sort out confusion between names and symbols
820         for functions and struct + derivaties.
821         Refactor bootstrap of g-ir-scanner, so we can set options on
822         Transformer() before parsing everything.
823
824 2008-04-28  Johan Dahlin  <johan@gnome.org>
825
826         * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
827         when scanning girepository.h
828
829         * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
830         a __GI_SCANNER__ when we run.
831
832 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
833
834         * giscanner/ast.py:
835         * giscanner/girwriter.py:
836         * giscanner/glibast.py:
837         * giscanner/glibtransformer.py:
838         * tests/parser/Foo-expected.gir:
839         * tests/parser/utility-expected.gir:
840         Rename most c:identifier to c:type. Add new ones to
841         class/interface/enum/boxed.
842
843 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
844
845         * giscanner/ast.py:
846         * giscanner/girwriter.py:
847         * giscanner/glibtransformer.py:
848         * tests/parser/Foo-expected.gidl:
849         * tests/parser/Makefile.am:
850         Move c:identifier from return-value to subchild type,
851         as per Jürgs suggestion
852
853 2008-04-28  Johan Dahlin  <johan@gnome.org>
854
855         * giscanner/girwriter.py:
856         * tests/parser/Foo-expected.gir:
857         Write property.type as a child node.
858
859 2008-04-27  Johan Dahlin  <johan@gnome.org>
860
861         * Makefile.am:
862         * configure.ac:
863         * gidl/Makefile.am:
864         * gidl/gobject-2.0.gidl:
865         * gir/Makefile.am:
866         * gir/gobject-2.0.gir:
867         * tests/parser/Makefile.am:
868         Replace the GObject gidl with a GObject gir.
869
870 2008-04-27  Johan Dahlin  <johan@gnome.org>
871
872         * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
873         not a program.
874
875         * giscanner/xmlwriter.py:
876         * tests/parser/Foo-expected.gir:
877         Include indentation in line length calculation
878
879 2008-04-27  Johan Dahlin  <johan@gnome.org>
880
881         * giscanner/girparser.py:
882         Prettify NS parsing using elementtree.
883
884 2008-04-27  Johan Dahlin  <johan@gnome.org>
885
886         * configure.ac:
887         * giscanner/Makefile.am:
888         * giscanner/girparser.py:
889         * giscanner/glibtransformer.py:
890         * tests/parser/Foo-expected.gidl:
891         * tests/parser/Foo-expected.gir:
892         * tests/parser/Makefile.am:
893         * tests/parser/utility-expected.gidl:
894         * tests/parser/utility-expected.gir:
895         * tools/g-ir-scanner:
896         Switch over to GIR as the default format. Add a simple GIDL
897         parser.
898         Update tests and fix simplify makefiles by depending
899         on GNU make extensions.
900
901 2008-04-27  Johan Dahlin  <johan@gnome.org>
902
903         * giscanner/xmlwriter.py:
904         Wrap attributes for lines which are wider than 79 characters
905
906         * giscanner/scannerlexer.l:
907         Allow parenthesis in annotations
908
909         * giscanner/ast.py:
910         * giscanner/gidlwriter.py:
911         * giscanner/girwriter.py:
912         * giscanner/glibtransformer.py:
913         * giscanner/transformer.py:
914         Add initial sequence support, including annotation.
915         Refactor type handling a bit.
916
917 2008-04-27  Johan Dahlin  <johan@gnome.org>
918
919         * tests/parser/Foo-expected.gidl:
920         * tests/parser/foo-object.h:
921         * tests/parser/foo.c (foo_object_class_init),
922         (foo_object_get_strings), (foo_object_get_objects):
923         Add two new functions to check sequence return values.
924         Also fixes a compilation warning.
925
926 2008-04-27  Johan Dahlin  <johan@gnome.org>
927
928         * giscanner/giscannermodule.c (]): Cast the getter, avoids
929         a compilation warning.
930
931         * tools/Makefile.am (g_ir_scanner_SOURCES):
932         g-ir-scanner has no sources.
933
934 2008-04-25  Johan Dahlin  <johan@gnome.org>
935
936         * giscanner/Makefile.am:
937         * giscanner/ast.py:
938         * giscanner/gidlparser.py:
939         * giscanner/gidlwriter.py:
940         * giscanner/girwriter.py:
941         * giscanner/glibast.py:
942         * giscanner/glibtransformer.py:
943         * giscanner/transformer.py:
944         Split out nodes to ast.py and glibast.py
945
946 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
947
948         * giscanner/Makefile.am:
949         * giscanner/gidlparser.py:
950         * giscanner/gidlwriter.py:
951         * giscanner/girwriter.py:
952         * giscanner/glibtransformer.py:
953         * giscanner/gobjecttreebuilder.py:
954         * giscanner/transformer.py:
955         * giscanner/treebuilder.py:
956         * tools/g-ir-scanner:
957         Rename treebuilder to transformer and
958         gobjectreebuilder to glibtransformer.
959
960 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
961
962         * giscanner/Makefile.am:
963         * giscanner/__init__.py:
964         * giscanner/cgobject.py:
965         * giscanner/gidlparser.py:
966         * giscanner/gidlwriter.py:
967         * giscanner/girwriter.py:
968         * giscanner/gobjecttreebuilder.py:
969         * giscanner/odict.py:
970         * giscanner/sourcescanner.py:
971         * giscanner/treebuilder.py:
972         * giscanner/xmlwriter.py:
973         * tools/Makefile.am:
974         * tools/g-ir-scanner:
975         Add LGPLv2 license header and install all python files
976
977 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
978
979         * TODO:
980         * giscanner/gidlwriter.py:
981         * giscanner/giscannermodule.c (pygi_source_directive_new),
982         (directive_get_options), (pygi_source_symbol_new),
983         (symbol_get_base_type), (pygi_source_type_new),
984         (type_get_base_type), (type_get_child_list),
985         (pygi_source_scanner_get_symbols),
986         (pygi_source_scanner_get_directives):
987         * giscanner/gobjecttreebuilder.py:
988         * giscanner/sourcescanner.py:
989         * giscanner/treebuilder.py:
990         * tests/parser/foo-object.h:
991         Add support for virtual methods.
992         Pair struct FooClass with struct Foo.
993         Clean up the SourceScanner bindings a bit.
994         Add a testcase for virtual methods.
995
996 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
997
998         * giscanner/cgobject.py:
999         * giscanner/gidlwriter.py:
1000         * giscanner/gobjecttreebuilder.py:
1001         Add support for signals
1002
1003         * tests/parser/foo.c (foo_object_class_init):
1004         * Foo-expected.gidl:
1005         Add a signal and update the expected output.
1006
1007 2008-04-24  Johan Dahlin  <jdahlin@async.com.br>
1008
1009         * giscanner/gidlwriter.py:
1010         * giscanner/girwriter.py:
1011         * giscanner/giscannermodule.c (directive_get_name),
1012         (directive_get_value), (directive_get_options),
1013         (symbol_get_directives), (symbol_set_directives),
1014         (pygi_source_scanner_parse_file),
1015         (pygi_source_scanner_lex_filename),
1016         (pygi_source_scanner_get_directives), (init_giscanner):
1017         * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1018         * giscanner/sourcescanner.h:
1019         * giscanner/sourcescanner.py:
1020         * giscanner/treebuilder.py:
1021         * tools/g-ir-scanner:
1022         Add support for source/header annotations.
1023
1024 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1025
1026         * giscanner/gidlwriter.py:
1027         * giscanner/girwriter.py:
1028         * giscanner/gobjecttreebuilder.py:
1029         * giscanner/treebuilder.py:
1030         Add support for Callbacks
1031
1032 2008-04-22  Havoc Pennington  <hp@pobox.com>
1033
1034         * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1035         not in metadata->module, look for it in the global module, in case
1036         some other object or the app itself provides the symbol.
1037
1038 2008-04-22  Havoc Pennington  <hp@pobox.com>
1039
1040         * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1041         dlopening a library that is already in the main app, by checking
1042         whether one of the lib's symbols is already loaded.
1043
1044 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1045
1046         * tests/parser/Foo-expected.gidl:
1047         * tests/parser/foo-object.h:
1048         Add a callback test
1049
1050 2008-04-22  Havoc Pennington  <hp@pobox.com>
1051
1052         * girepository/ginfo.c (g_interface_info_find_method):
1053         Use interface_blob_size not object_blob_size to compute offset.
1054
1055 2008-04-22  Havoc Pennington  <hp@pobox.com>
1056
1057         * girepository/gmetadata.c (_g_metadata_init): remove
1058         G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1059         (Glade and Clutter for example) rely on being loaded globally.
1060
1061 2008-04-22  Havoc Pennington  <hp@pobox.com>
1062
1063         * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1064         function to get the GType given a RegisteredTypeInfo
1065
1066 2008-04-22  Johan Dahlin  <johan@gnome.org>
1067
1068         * COPYING: Add a LGPL license, to prevent automake to
1069         put in a copy of GPL here. Pointed out by Havoc.
1070
1071         * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1072         (g_type_info_is_pointer), (g_type_info_get_tag),
1073         (g_type_info_get_param_type), (g_type_info_get_interface),
1074         (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1075         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1076         (g_error_domain_info_get_codes), (g_enum_info_get_value),
1077         (g_object_info_get_interface), (g_object_info_get_field),
1078         (g_interface_info_get_prerequisite),
1079         (g_signal_info_get_class_closure), (g_constant_info_get_value):
1080         * girepository/ginvoke.c (get_ffi_type):
1081         * girepository/girepository.h:
1082         * girepository/gmetadata.c (g_metadata_get_dir_entry),
1083         (g_metadata_check_sanity), (validate_header),
1084         (validate_array_type_blob), (validate_iface_type_blob),
1085         (validate_param_type_blob), (validate_error_type_blob),
1086         (validate_type_blob), (validate_constant_blob),
1087         (validate_struct_blob), (validate_enum_blob):
1088         * girepository/gmetadata.h:
1089         * tests/Makefile.am:
1090         * tests/invoke/Makefile.am:
1091         * tests/invoke/invoke.c (main):
1092         * tests/roundtrips.sh:
1093         * tools/Makefile.am:
1094         * tools/compiler.c (format_output), (write_out_metadata), (main):
1095         * tools/generate.c (write_type_name), (write_type_info),
1096         (write_constant_value), (write_enum_info), (load_metadata), (main):
1097         * tools/gidlcompilercontext.c:
1098         * tools/gidlcompilercontext.h:
1099         * tools/gidlcompilerentrynode.c:
1100         * tools/gidlcompilerentrynode.h:
1101         * tools/gidlcompilertypenode.c:
1102         * tools/gidlcompilertypenode.h:
1103         * tools/gidlmodule.c (g_idl_module_build_metadata):
1104         * tools/gidlmodule.h:
1105         * tools/gidlnode.c (init_stats), (dump_stats),
1106         (g_idl_node_get_size), (g_idl_node_get_full_size),
1107         (g_idl_node_cmp), (g_idl_node_can_have_member),
1108         (g_idl_node_add_member), (g_idl_node_param_direction_string),
1109         (parse_int_value), (parse_uint_value), (parse_float_value),
1110         (parse_boolean_value), (find_entry_node), (find_entry),
1111         (serialize_type), (g_idl_node_build_metadata), (write_string):
1112         * tools/gidlnode.h:
1113         * tools/gidlparser.c (parse_type_internal):
1114         * tools/quote-file.sh:
1115         Revert revisions 157,149-148,136-129 and 120.
1116         Move back to using g-idl-generate to generate the metadata and
1117         avoids dependency on a c compiler.
1118
1119 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1120
1121         * giscanner/girwriter.py:
1122         * tools/g-ir-scanner:
1123         Add an initial GIR writer and a --format option to g-ir-scanner
1124
1125 2008-04-21  Johan Dahlin  <johan@gnome.org>
1126
1127         * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1128         gobject-2.0 and raise ImportError if not found.
1129
1130         * giscanner/gidlparser.py:
1131         * giscanner/gidlwriter.py:
1132         * giscanner/gobjecttreebuilder.py:
1133         * tools/g-ir-scanner:
1134         Add a --include argument to include types from other idls.
1135         Add a minimalistic GIDL parser (just objects for now)
1136         Implement resolving of external type references and use it to
1137         resolve parent types, argument types and return types.
1138
1139 2008-04-21  Johan Dahlin  <johan@gnome.org>
1140
1141         * giscanner/gidlwriter.py:
1142         * giscanner/gobjecttreebuilder.py:
1143         * giscanner/treebuilder.py:
1144         Add support for properties.
1145         Refactor Class/Interface support a bit, to share more code and
1146         always initialize their method attribute to an empty list.
1147
1148 2008-04-21  Johan Dahlin  <johan@gnome.org>
1149
1150         * giscanner/cgobject.py:
1151         Add a workaround for a glib bug interface introspection bug
1152         (object_interface_list_properties, object_class_list_properties):
1153         Cast the return value to GParamSpec.
1154
1155         * tests/parser/Foo-expected.gidl: Update
1156         * tests/parser/foo.c: Add a string property
1157
1158         * giscanner/gobjecttreebuilder.py:
1159         After stripping namespaces, remove the original
1160         item to avoid duplication (GtkButton struct and Button object)
1161
1162 2008-04-21  Johan Dahlin  <johan@gnome.org>
1163
1164         * giscanner/gobjecttreebuilder.py:
1165         * giscanner/treebuilder.py:
1166         Strip namespaces before objects, so we'll export
1167         GtkButton as Button in the gtk namespace
1168
1169 2008-04-21  Johan Dahlin  <johan@gnome.org>
1170
1171         * giscanner/gidlwriter.py:
1172         * giscanner/gobjecttreebuilder.py:
1173         * giscanner/treebuilder.py:
1174         Add constructors for object/boxed types.
1175
1176 2008-04-21  Johan Dahlin  <johan@gnome.org>
1177
1178         * giscanner/gidlwriter.py:
1179         * giscanner/gobjecttreebuilder.py:
1180         Add support for boxed types
1181
1182 2008-04-21  Johan Dahlin  <johan@gnome.org>
1183
1184         * giscanner/giscannermodule.c: Mark structures as const,
1185         wrap SourceType.const_string.
1186
1187         * tests/parser/foo-object.h: Add a couple of constants.
1188
1189         * giscanner/gidlwriter.py:
1190         * giscanner/gobjecttreebuilder.py:
1191         * giscanner/treebuilder.py:
1192         Add basic support for interfaces
1193
1194         * tools/g-ir-scanner:
1195         Add -o/--output for writing to a file
1196
1197 2008-04-21  Havoc Pennington  <hp@redhat.com>
1198
1199         * TODO: add some C API wishlist items I could think of quickly
1200
1201 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
1202
1203         * giscanner/gidlwriter.py:
1204         * giscanner/xmlwriter.py:
1205         Add a simple api for writing tags which can be used 
1206         with the new 'with statement' in python 2.5
1207
1208 2008-04-21  Johan Dahlin  <johan@gnome.org>
1209
1210         * giscanner/gobjecttreebuilder.py:
1211         Strip namespace and object prefix from method names.
1212
1213 2008-04-21  Johan Dahlin  <johan@gnome.org>
1214
1215         * tools/g-ir-scanner (main): Add --pkg option to pass in
1216         pkg-config modules to get cflags from.
1217
1218         * giscanner/gidlwriter.py (GIDLWriter._write_method): 
1219         Avoid duplication, reuse function writer for methods.
1220
1221 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
1222
1223         * giscanner/gidlwriter.py:
1224         * giscanner/gobjecttreebuilder.py:
1225         * giscanner/treebuilder.py:
1226         * tools/g-ir-scanner:
1227         Resolve libtool .la files.
1228         Strip name spaces for methods.
1229         Add function symbols
1230
1231 2008-04-20  Johan Dahlin  <jdahlin@async.com.br>
1232
1233         * giscanner/cgobject.py:
1234         * giscanner/gidlwriter.py:
1235         * giscanner/gobjecttreebuilder.py:
1236         * giscanner/treebuilder.py:
1237         Add support for classes and methods
1238
1239 2008-04-20  Johan Dahlin  <johan@gnome.org>
1240
1241         * giscanner/gidlwriter.py:
1242         * giscanner/gobjecttreebuilder.py:
1243         * giscanner/odict.py:
1244         Avoid conflicts, keep the output ordered similar to
1245         the order of the input.
1246         Add a simple ordered dictionary implemenation
1247
1248 2008-04-19  Johan Dahlin  <johan@gnome.org>
1249
1250         * giscanner/cgobject.py:
1251         * giscanner/gidlwriter.py:
1252         * giscanner/gobjecttreebuilder.py:
1253         * tools/g-ir-scanner:
1254         Start introspecting get-type functions.
1255         Implement support for GLib/GFlags GTypes.
1256         Add a ctype based GObject binding.
1257
1258 2008-04-18  Johan Dahlin  <jdahlin@async.com.br>
1259
1260         * giscanner/gidlwriter.py:
1261         * giscanner/xmlwriter.py:
1262         * tools/g-ir-scanner:
1263         Add a simplistic gidl writer, which can't do too much.
1264
1265 2008-04-18  Johan Dahlin  <johan@gnome.org>
1266
1267         * giscanner/sourcescanner.py:
1268         * giscanner/treebuilder.py:
1269         * tools/g-ir-scanner:
1270         split tree building and source scanning interface to separate files.
1271
1272 2008-04-18  Johan Dahlin  <johan@gnome.org>
1273
1274         * tools/g-ir-scanner (Parameter.__init__): Start constructing
1275         a real node tree.
1276         - Add support for struct/parameter/return, start parsing of ctypes
1277
1278         * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1279         fix the style
1280
1281 2008-03-31  Johan Dahlin  <johan@gnome.org>
1282
1283         * tools/g-ir-scanner:
1284         Start to build abstract syntax node of scanned sources.
1285         Add support for cpp options.
1286
1287 2008-03-27  Johan Dahlin  <johan@gnome.org>
1288
1289         * giscanner/giscannermodule.c:
1290         * giscanner/scannerlexer.l:
1291         * giscanner/sourcescanner.c:
1292         * tools/g-ir-scanner:
1293
1294         Add simple pre-processor using subprocess and a PIPE.
1295         Change the parse_file apis to accept a file descriptor.
1296
1297 2008-03-25  Johan Dahlin  <johan@gnome.org>
1298
1299         * giscanner/__init__.py:
1300         * tools/g-ir-scanner:
1301         Fix a typo and add an example python test program.
1302
1303 2008-03-25  Johan Dahlin  <johan@gnome.org>
1304         
1305         * giscanner/__init__.py:
1306         * giscanner/giscannermodule.c:
1307         * giscanner/sourcescanner.c:
1308         * giscanner/sourcescanner.h:
1309         Add constants and wrap a few more SymbolType fields
1310
1311 2008-03-25  Johan Dahlin  <johan@gnome.org>
1312         
1313         * configure.ac:
1314         * giscanner:
1315         * giscanner/__init__.py:
1316         * giscanner/giscannermodule.c:
1317         * giscanner/Makefile.am:
1318
1319         Add initial python bindings for the scanner and 
1320         depend on python 2.5.
1321
1322 2008-03-25  Johan Dahlin  <johan@gnome.org>
1323
1324         * Makefile.am:
1325         * configure.ac:
1326         * giscanner/Makefile.am:
1327         * giscanner/sourcescanner.c:
1328         * giscanner/sourcescanner.h:
1329         * tools/Makefile.am:
1330         * tools/grealpath.h:
1331         * tools/sourcescanner.c:
1332         * tools/sourcescanner.h:
1333
1334         Move the scanner to a separate library.
1335         
1336 2008-03-23  Johan Dahlin  <johan@gnome.org>
1337
1338         * tools/Makefile.am:
1339         * tools/scanner.c:
1340         * tools/scanner.h:
1341         * tools/scannerlexer.l:
1342         * tools/scannerparser.y:
1343         * tools/sourcescanner.c:
1344         * tools/sourcescanner.h:
1345         Split out the source scanner from the generator.
1346         Rename the symbols used in the scanner to use the gi_ prefix.
1347         This should make it possible to use the raw C parser from
1348         other programs.
1349
1350 2008-03-23  Johan Dahlin  <johan@gnome.org>
1351
1352         * tests/parser/Makefile.am (utility.gidl): 
1353         * tests/parser/utility-expected.gidl: 
1354         Pass in the gobject.gidl since we're defining a GObject.
1355
1356 2008-03-12  Johan Dahlin  <johan@gnome.org>
1357
1358         * relaxng/relaxng.rng:
1359         Add a releaxng in relaxng we can use to validate the relaxngs
1360         schemas
1361
1362 2008-03-12  Jürg Billeter  <j@bitron.ch>
1363
1364         * tools/scanner.c: (g_igenerator_new):
1365         * tools/scannerparser.y:
1366         Fix compiler warnings.
1367
1368 2008-03-12  Jürg Billeter  <j@bitron.ch>
1369
1370         * tools/scanner.c:
1371         * tools/scanner.h:
1372         * tools/scannerparser.y:
1373         Start fixing memory management in g-idl-scanner.
1374
1375 2008-03-12  Rob Taylor  <rob.taylor@codethink.co.uk>
1376
1377         * tools/gidlcompilercontext.c: (write_compiled):
1378         Fix critical warning when no shlib passed to g-idl-compiler.
1379
1380 2008-03-12  Johan Dahlin  <johan@gnome.org>
1381
1382         * tests/parser/utility-expected.gidl:
1383         * tests/parser/utility.h:
1384         Add a get_type-function, so the scanner actually
1385         parses it as an object.
1386         
1387 2008-03-12  Johan Dahlin  <johan@gnome.org>
1388
1389         * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1390         Bad Philip!
1391
1392         * tests/parser/Foo-expected.gidl:
1393         * tests/parser/Makefile.am:
1394         * tests/parser/foo-object.h:
1395         * tests/parser/foo.c:
1396         * tests/parser/utility-expected.gidl:
1397         * tests/parser/utility.c:
1398         * tests/parser/utility.h:
1399
1400         Add a new gidl test. 'utility.gidl', which is used to be able
1401         to test external type references. Add a reference to UtilityObject*
1402         in the idl file.
1403
1404 2008-03-11  Johan Dahlin  <johan@gnome.org>
1405
1406         * tools/compiler.c:
1407         * tools/generate.c:
1408         Remove most global variables
1409
1410 2008-03-11  Philip Van Hoof  <me@pvanhoof.be>
1411  
1412         * tools/scannerlexer.l:
1413         * tools/scanner.c:
1414         * tests/parser/Foo-expected.gidl:
1415         * tests/parser/foo.c:
1416         * tests/parser/Makefile.am:
1417         * tests/parser/foo-object.h:
1418  
1419         Added a few extra tests. Which resulted in finding a few
1420         bugs. Which resulted in me fixing those bugs
1421
1422 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
1423
1424         * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1425         (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1426         Add some comments for strings into generated output for
1427         easier debugging.
1428
1429 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
1430
1431         * tools/gidlcompilercontext.c: (write_compiled):
1432         Write out the shlibs variable before writing out the strings
1433         length. Fixes compiler warning when using '-l' flag with
1434         g-idl-compiler
1435
1436 2008-03-11  Johan Dahlin  <johan@gnome.org>
1437
1438         * tests/parser/Foo-expected.gidl:
1439         * tests/parser/foo-object.h:
1440         * tools/scanner.c:
1441         * tools/scanner.h:
1442         * tools/scannerlexer.l:
1443         Add support for parsing return arguments. Add support for
1444         caller-owns return types.
1445         Patch by Philip Van Hoof.
1446         
1447         * tools/scannerparser.y:
1448         Remove parsing of the @deprecated syntax used in headers.
1449         We will support gtk-doc deprecation in the future instead.
1450
1451 2008-03-11  Johan Dahlin  <johan@gnome.org>
1452
1453         * tools/compiler.c (main): Coding style fixes
1454
1455 2008-03-10  Johan Dahlin  <johan@gnome.org>
1456
1457         * configure.ac:
1458         Add GCOV_LIBS to GILIBS
1459
1460 2008-03-10  Johan Dahlin  <johan@gnome.org>
1461
1462         * tests/parser/Foo-expected.gidl:
1463         * tests/parser/foo.c:
1464         Rename null-ok to direction=out
1465
1466 2008-03-10  Philip Van Hoof  <me@pvanhoof.be>
1467
1468         reviewed and extensively tested by Johan
1469
1470         * tests/parser/Foo-expected.gidl:
1471         * tests/parser/foo-object.h:
1472         * tests/parser/foo.c:
1473         * tools/gidlnode.c:
1474         * tools/gidlnode.h:
1475         * tools/gidlwriter.c:
1476         * tools/scanner.c:
1477         * tools/scanner.h:
1478         * tools/scannerlexer.l:
1479         * tools/scannerparser.y:
1480
1481         Add support for scanning for gtk-doc comments inside
1482         C source files. Add tests
1483
1484 2008-03-10  Johan Dahlin  <johan@gnome.org>
1485
1486         * tests/parser/Makefile.am:
1487         * tests/parser/foo.c:
1488         * tools/scanner.c:
1489         * tools/scanner.h:
1490         * tools/scannerparser.y:
1491         Add an api to lex filenames.
1492         Lex all source .c files passed in on the command line.
1493         Scan sources in a test and a couple of private structures
1494         which should not be included in the generated gidl
1495
1496 2008-03-10  Johan Dahlin  <johan@gnome.org>
1497
1498         * tests/invoke/Makefile.am: Make the generated metadata 
1499         depend on the g-idl-compiler
1500
1501 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1502
1503         * tools/gidlmodule.c
1504         * tools/gidlmodule.h
1505         * tools/gidlnode.c
1506         * tools/gidlnode.h
1507         Remove the old g-idl-compiler code.
1508
1509
1510 2008-02-22  Mark Doffman  <mark.doffman@codethink.co.uk>
1511
1512         * tools/quote-file.sh
1513         * tools/compiler.c
1514         * tools/generate.c
1515         Move to using the 'C' struct compiler code.
1516
1517 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1518
1519         * girepository/ginfo.c
1520         * tools/generate.c
1521         Change the way that external references with no namespace
1522         are dealt with. External references with no namespace
1523         are placed into the XML as-if they are a local reference.
1524         This is temporary, but helps with roundtrip tests.
1525
1526 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1527
1528         * girepository/ginfo.c
1529         Add the ability to get the value of a constant of
1530         type TYPE_TAG_SYMBOL. In the case of a symbol the value
1531         is provided as a string.
1532
1533         This would deal properly with:
1534         typedef char* random;
1535         const random = "A string";
1536
1537 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1538
1539         * girepository/ginfo.c
1540         * girepository/girepository.h
1541         * tools/generate.c
1542         Add a function to check if an enum is registered or not.
1543         Previously anything testing this relied on the g-type
1544         string offset having a value of 0.
1545
1546         * girepository/gmetadata.c
1547         * girepository/gmetadata.h
1548         * tools/generate.c
1549         Remove unneccesary or erroneous checks. There were two
1550         metadata validation checks which made sure that the blob
1551         sizes were the same as some magic numbers compiled into the code.
1552         This is wrong as it breaks any forwards compatibility that may
1553         be possible.
1554
1555         Checks were also present that made sure that unregistered type
1556         blobs had a value of 0 in the g-type offset field. This is
1557         unneccessary. If a type blob is unregistered then any value
1558         in its g-type field is simply invalid.
1559
1560 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1561
1562         * girepository/ginfo.c
1563         * girepository/gmetadata.c
1564         * girepository/gmetadata.h
1565
1566           Change the metadata format to have a standard header
1567           for all the type blobs. Merge the SimpleTypeBlob
1568           and InterfaceTypeBlob into a union. A union of these
1569           two blobs existed previously but was not explicit
1570           in the metadata format.
1571
1572 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1573
1574         * tools/gidlcompilercontext.c
1575         * tools/gidlcompilercontext.h
1576         * tools/gidlcompilerentrynode.c
1577         * tools/gidlcompilerentrynode.h
1578         * tools/gidlcompilertypenode.c
1579         * tools/gidlcompilertypenode.h
1580
1581         Add code to compile a tree of GIdlNodes to
1582         a 'C' struct representing the metadata.
1583         This is to aid cross-compiling. Previously
1584         the g-idl-compiler created a binary blob with
1585         data written in the byte order and alignment
1586         of the tool rather than the intended target.
1587
1588         Cleaned up and improved by Johan and Robert :-)
1589
1590 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1591
1592         * girepository/ginvoke.c
1593         * girepository/girepository.h
1594         * girepository/gmetadata.c
1595         * girepository/gmetadata.h
1596         * tools/generate.c
1597         * tools/gidlparser.c
1598         Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1599         to avoid confusion with the interface blob.
1600
1601         * tools/generate.c
1602         * tools/gidlparser.c
1603         Remove magic numbers and replace with type-tag
1604         enumeration symbols.
1605
1606         * girepository/gmetadata.c
1607         Add validate declaration.
1608
1609 2008-03-10  Jürg Billeter  <j@bitron.ch>
1610
1611         * tools/gidlparser.c: (parse_type_internal):
1612         * tools/scannerlexer.l:
1613         * tools/scannerparser.y:
1614         Support C99 _Bool type in scanner.
1615
1616 2008-03-10  Jürg Billeter  <j@bitron.ch>
1617
1618         * tests/parser/Foo-expected.gidl:
1619         * tests/parser/foo-object.h:
1620         * tests/parser/foo.c: (foo_enum_method):
1621         * tools/scanner.c: (g_igenerator_process_function_symbol):
1622         Don't skip functions that are defined in the namespace of a type
1623         that doesn't support methods, as for example enums.
1624
1625 2008-03-10  Johan Dahlin  <johan@gnome.org>
1626
1627         * gidl.dtd: Remove, we're using relaxng for now
1628
1629         * tests/parser/Foo-expected.gidl:
1630         * tests/parser/foo-object.h:
1631         * tests/parser/foo.c:
1632         Rename the enum/flags get_type functions to include the whole type.
1633
1634 2008-03-08  Marc-Andre Lureau  <marcandre.lureau@gmail.com>
1635
1636         * tools/gidlwriter.c (enum_generate): added "type-name",
1637         "get-type" and "deprecated" missing arguments.
1638         * tests/parser/Foo-expected.gidl:
1639         * tests/parser/foo-object.h: test enum type, and no type.
1640
1641 2008-03-06  Johan Dahlin  <jdahlin@async.com.br>
1642
1643         * configure.ac:
1644         Consistent checks, add missing 'test'
1645
1646 2008-03-05  Havoc Pennington  <hp@redhat.com>
1647
1648         * configure.ac: Take advantage of a libffi.pc if one exists, as it
1649         does on Fedora 8. Make libffi a hard requirement, since it was in
1650         practice anyway (was not really conditional in the code or
1651         makefile, only in configure).
1652
1653 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1654
1655         reviewed by: Rob Taylor  <rob.taylor@codethink.co.uk>
1656         reviewed by: Johan Dahlin  <johan@gnome.org>
1657
1658         * tests/Makefile.am:
1659         * tests/roundtrips.sh:
1660         Modify the roundtrips test so that they do not use the
1661         --raw option of the gidl compiler but instead compile a
1662         shared library to use with g_module.
1663
1664         * tests/invoke/Makefile.am:
1665         * tests/invoke/invoke.c:
1666         Modify the invoke tests to build a shared library rather
1667         than use the --raw option.
1668
1669         * tests/invoke/invoke-namespace-find.sh: Removed:
1670         Noone knows why this was here, so removed.
1671
1672 2008-02-19  Rob Taylor  <rob.taylor@codethink.co.uk>
1673
1674         * tools/scanner.c: (g_igenerator_process_function_symbol):
1675         Move g_idl_node_can_have_member test later, as it broke spotting
1676         get_type's for nodes that can't have members.
1677
1678 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1679
1680         * tools/gidlnode.h:
1681         * tools/gidlnode.c: (g_idl_node_can_have_member):
1682         Add g_idl_node_can_have_member.
1683
1684         * tools/scanner.c: (g_igenerator_process_function_symbol):
1685         Use g_idl_node_can_have_member to test if we should add a function
1686         as a member of the type node.
1687
1688 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1689
1690         * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1691         * gidl/Makefile.am:
1692         * tests/parser/Makefile.am:
1693         Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1694
1695 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1696
1697         * tools/scanner.c: (main):
1698         Ignore -pthread when passed to g-idl-scanner.
1699
1700 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1701
1702         * tools/grealpath.h: Added:
1703         * tools/scanner.c: (main):
1704         * tools/scannerlexer.l:
1705         * tools/Makefile.am:
1706         Always use absolute paths with symbolic links resolved when
1707         comparing filenames.
1708
1709 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1710
1711         * gobject-introspection.pc.in:
1712         Provide variables for g-idl-parser, scanner and compiler in the
1713         pkgconfig file.
1714
1715 2008-02-13  Rob Taylor  <rob.taylor@codethink.co.uk>
1716
1717         * gcov.mak:
1718         * girepository/Makefile.am:
1719         * tools/Makefile.am:
1720         Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1721
1722 2008-02-10  Johan Dahlin  <johan@gnome.org>
1723
1724         * tests/parser/Foo-expected.gidl:
1725         * tests/parser/foo-object.h:
1726         * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1727         (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1728         Add boxed test.
1729
1730 2008-02-10  Johan Dahlin  <johan@gnome.org>
1731
1732         * tests/parser/Foo-expected.gidl:
1733         * tests/parser/foo-object.h:
1734         * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1735         Add enum and flags test.
1736
1737 2008-02-10  Johan Dahlin  <johan@gnome.org>
1738
1739         * Makefile.am:
1740         * configure.ac:
1741         * girepository/Makefile.am:
1742         Make 'make distcheck' work again.
1743
1744 2008-02-10  Johan Dahlin  <johan@gnome.org>
1745
1746         * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1747         not as-compiler.m4.
1748
1749         * tests/parser/Makefile.am: Only create Foo.gidl when running make
1750         check, eg exclude it from BUILT_SOURCES.
1751
1752 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
1753
1754         * Makefile.am:
1755         * configure.ac:
1756         * gcov.mak: Added:
1757         * girepository/Makefile.am:
1758         * m4/Makefile.am: Added:
1759         * m4/as-compiler-flag.m4: Added:
1760         * m4/gcov.m4: Added:
1761         * tools/Makefile.am:
1762         Add ability to generate a coverage report.
1763         Adds configure option --enable-gcov and make rule 'check-coverage'.
1764
1765 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
1766
1767         * Makefile.am:
1768         * configure.ac:
1769         * gidl/Makefile.am: Added:
1770         * girepository/Makefile.am: Added:
1771         * src/Makefile.am: Renamed to tools/Makefile.am:
1772         * src/compiler.c: Renamed to tools/compiler.c:
1773         * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1774         * src/generate.c: Renamed to tools/generate.c:
1775         * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1776         * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1777         * src/gidlnode.c: Renamed to tools/gidlnode.c:
1778         * src/gidlnode.h: Renamed to tools/gidlnode.h:
1779         * src/gidlparser.c: Renamed to tools/gidlparser.c:
1780         * src/gidlparser.h: Renamed to tools/gidlparser.h:
1781         * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1782         * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1783         * src/ginfo.c: Renamed to girepository/ginfo.c:
1784         * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1785         * src/girepository.c: Renamed to girepository/girepository.c:
1786         * src/girepository.h: Renamed to girepository/girepository.h:
1787         * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1788         * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1789         * src/scanner.c: Renamed to tools/scanner.c:
1790         * src/scanner.h: Renamed to tools/scanner.h:
1791         * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1792         * src/scannerparser.y: Renamed to tools/scannerparser.y:
1793         * tests/invoke/Makefile.am:
1794         Split src/ into girepository/ and tools/
1795
1796         * Makefile.am:
1797         * configure.ac:
1798         * girepository/Makefile.am:
1799         * tests/Makefile.am:
1800         * tests/invoke/Makefile.am:
1801         * tests/parser/Makefile.am:
1802         * tests/roundtrips.sh:
1803         * tools/Makefile.am:
1804         Make distcheck work.
1805
1806 2008-02-04  Rob Taylor  <rob.taylor@codethink.co.uk>
1807
1808         * tests/invoke/invoke.c: (main):
1809         * tests/invoke/testfns.c: (test6), (test7):
1810         * tests/invoke/testfns.xml:
1811         Add tests for invokation with a GList argument.
1812         Also tests caller-owns return values.
1813
1814 2008-02-04  Rob Taylor  <robtaylor@floopily.org>
1815
1816         * src/ginfo.c:
1817         Add some documentation for GICallableInfo
1818
1819 2008-02-01  Mark Doffman  <mark.doffman@codethink.co.uk>
1820
1821         * gidl.dtd:
1822         Correct syntax errors in the DTD file.
1823         * relaxng/api.xml:
1824         * relaxng/c-types.xml:
1825         * relaxng/g-types.xml:
1826         * relaxng/util.xml:
1827         Add a RelaxNG specification for the GObject Introspection XML data.
1828         The Specification has validated all of the test files.
1829
1830 2008-01-25  Rob Taylor  <robtaylor@floopily.org>
1831
1832         * tests/roundtrips.sh:
1833         * tests/struct.test:
1834         Add roundtrip tests for structs.
1835
1836 2008-01-11  Johan Dahlin  <johan@gnome.org>
1837
1838         * src/scanner.c (g_igenerator_process_function_symbol):
1839         Refactor out g_idle_node_add_member.
1840         (create_node_from_gtype, create_node_from_ctype):
1841         Use case instead of if...else
1842         (get_type_from_type_id):
1843         Rename to create_node_from_gtype
1844         (get_type_from_ctype):
1845         Rename to create_node_from_ctype
1846
1847         Rename ginode -> node, gitype -> type, gifunc -> func.
1848
1849         * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1850         Two new functions, refactor out of scanner.c
1851
1852         * src/scanner.c: (g_igenerator_process_function_symbol):
1853         * src/scannerlexer.l:
1854         Do not save the content of the deprecated variable, only
1855         if it's set or not.
1856
1857 2008-01-11  Johan Dahlin  <johan@gnome.org>
1858
1859         * tests/parser/foo-object.h: Add a couple of comment parser tests.
1860
1861 2008-01-11  Jürg Billeter  <j@bitron.ch>
1862
1863         * src/scannerlexer.l:
1864         Fix GTK-Doc parsing.
1865
1866 2008-01-11  Jürg Billeter  <j@bitron.ch>
1867
1868         * src/scannerlexer.l:
1869         Fix GTK-Doc parsing.
1870
1871 2008-01-11  Jürg Billeter  <j@bitron.ch>
1872
1873         * src/scanner.c: (lookup_symbol):
1874         Return unresolved name if we find unknown symbol.
1875
1876 2008-01-11  Jürg Billeter  <j@bitron.ch>
1877
1878         * src/scanner.c: (g_igenerator_generate):
1879         Initialize GObject to fix scanning interface properties.
1880
1881         * tests/parser/Foo-expected.gidl:
1882         * tests/parser/foo-object.h:
1883         * tests/parser/foo.c: (foo_interface_get_type):
1884         Test interfaces with GObject prerequisite.
1885
1886         * tests/parser/Makefile.am:
1887         Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1888
1889 2007-12-27  Johan Dahlin  <johan@gnome.org>
1890
1891         * src/scannerlexer.l:
1892         Parse gtk-doc comments.
1893
1894         * src/gidlwriter.c: (function_generate):
1895         Reorganize, avoid duplication and add support for
1896         writing deprecated functions.
1897
1898         * src/scannerparser.y:
1899         * src/scanner.h:
1900         Add new structure CDirective and functions to create/free them.
1901
1902         * src/scanner.c: (g_igenerator_process_function_symbol),
1903         (g_igenerator_process_unregistered_struct_typedef),
1904         (g_igenerator_process_struct_typedef),
1905         (g_igenerator_process_union_typedef),
1906         (g_igenerator_process_enum_typedef),
1907         (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1908         (g_igenerator_start_preprocessor):
1909         Parse @deprecated directive for functions.
1910         Remove some more C99isms.
1911         Send in -C to cpp to avoid stripping comments.
1912
1913         * tests/parser/foo-object.h:
1914         * tests/parser/Foo-expected.gidl:
1915         Add deprecated directive
1916
1917 2007-12-27  Johan Dahlin  <johan@gnome.org>
1918
1919         * src/scannerlexer.l (intsuffix): Add emacs mode line and
1920         escape ' and " so it looks more like C.
1921
1922         * src/scanner.c:
1923         Unlink temporary file used.
1924
1925 2007-12-27  Johan Dahlin  <johan@gnome.org>
1926
1927         * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1928         (g_igenerator_start_preprocessor), (main):
1929         * src/scanner.h:
1930         * src/scannerparser.y:
1931         Plug a couple of simple memory leaks.
1932
1933 2007-12-27  Johan Dahlin  <johan@gnome.org>
1934
1935         * src/scanner.c: (g_igenerator_parse_macros),
1936         (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1937         (main):
1938         * src/scanner.h:
1939         * src/scannerparser.y:
1940         * tests/parser/Makefile.am:
1941
1942         Improve error reporting, return when the preprocessor fails.
1943         Add a verbose parameter, to aid debugging.
1944         Revert to using a temporary file to communicate between the
1945         preprocessor and the parser, because we need to wait for
1946         the exit code from the pre-processor before starting to parse.
1947
1948 2007-12-16  Johan Dahlin  <jdahlin@async.com.br>
1949
1950         * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1951         cparser.y to scannerparser.y
1952
1953 2007-12-11  Johan Dahlin  <johan@gnome.org>
1954
1955         * src/clexer.l:
1956         * src/cparser.y:
1957         * src/scanner.c: (g_igenerator_new):
1958         * src/scanner.h:
1959         Get rid of the global the_generator variable.
1960
1961 2007-12-10  Johan Dahlin  <johan@gnome.org>
1962
1963         * src/scanner.c (main): Add an output option,
1964         add checks for required parameters
1965
1966         * src/Makefile.am:
1967         set BUILD_SOURCES and CLEANFILES properly
1968
1969         * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1970         (g_writer_write_indent), (g_writer_write_unindent),
1971         (field_generate), (value_generate), (constant_generate),
1972         (property_generate), (function_generate), (vfunc_generate),
1973         (signal_generate), (interface_generate), (struct_generate),
1974         (union_generate), (boxed_generate), (enum_generate),
1975         (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1976         * src/gidlwriter.h:
1977         * src/scanner.c: (g_igenerator_generate):
1978         * src/scanner.h:
1979         * src/scannerwriter.c:
1980
1981         Refactor scannerwriter to only be tied to a GIdlModule and move
1982         it (again!) to gidlwriter.c. Change the writer function to take
1983         a filename.
1984
1985 2007-12-10  Johan Dahlin  <johan@gnome.org>
1986
1987         * src/Makefile.am:
1988         * src/scanner.c: (g_igenerator_generate):
1989         * src/scanner.h:
1990         * src/scannerwriter.c: (g_igenerator_write_inline),
1991         (g_igenerator_write), (g_igenerator_write_indent),
1992         (g_igenerator_write_unindent), (field_generate), (value_generate),
1993         (constant_generate), (property_generate), (function_generate),
1994         (vfunc_generate), (signal_generate), (interface_generate),
1995         (struct_generate), (union_generate), (boxed_generate),
1996         (enum_generate), (node_generate), (module_generate),
1997         (g_scanner_write_file):
1998
1999         Move the scanner gidl writing to a separate source file.
2000
2001 2007-12-10  Johan Dahlin  <johan@gnome.org>
2002
2003         * src/cparser.y:
2004         * src/scanner.c:
2005         * src/scanner.h:
2006         Move over all CType construction functions.
2007
2008         * tests/parser/Makefile.am:
2009         Be verbose when printing parsing tests results.
2010
2011 2007-12-10  Johan Dahlin  <johan@gnome.org>
2012
2013         * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2014         preprocessor handling to here. Start cpp insteado of cc -E,
2015         always include -U__GNUC__, since it's specific to the preprocessor
2016         we use.
2017
2018         * tests/parser/Makefile.am (check-local): Silent diff and skip
2019         -U__GNUC__ which is always defined now
2020
2021 2007-12-10  Johan Dahlin,,,  <jdahlin@plasttroll>
2022
2023         reviewed by: <delete if not using a buddy>
2024
2025         * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2026         * tests/parser/Makefile.am:
2027
2028 2007-12-09  Johan Dahlin  <johan@gnome.org>
2029
2030         * src/scanner.c:
2031         Use GOption for command line options.
2032         (g_igenerator_new, main): Simplify constructor and they way
2033         parameters are passed into it.
2034
2035         * src/cparser.y:
2036         * src/Makefile.am:
2037         * src/clexer.l:
2038         * src/cparser.y:
2039         * src/gen-introspect.c:
2040         * src/gen-introspect.h:
2041         * src/scanner.c:
2042         Rename gen-introspect.[ch] to scanner.[ch]
2043
2044 2007-12-09  Johan Dahlin  <johan@gnome.org>
2045
2046         * TODO: Update
2047
2048         * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2049         don't make the repository library and the other utilites link against
2050         gthread-2.0
2051
2052         * src/gen-introspect.c: (g_igenerator_create_object),
2053         (g_igenerator_create_interface), (g_igenerator_create_boxed),
2054         (g_igenerator_create_enum), (g_igenerator_create_flags),
2055         (g_igenerator_process_module_symbol),
2056         (g_igenerator_process_module), (g_igenerator_generate), (main):
2057         * src/gen-introspect.h:
2058         Refactor g_igenerator_process_types into smaller pieces.
2059
2060         * tests/parser/Makefile.am:
2061         Depend on the gen-introspect binary
2062
2063 2007-12-09  Johan Dahlin  <johan@gnome.org>
2064
2065         * src/gen-introspect.c (g_igenerator_process_types):
2066         Break into smaller pieces, one for each generated node type.
2067
2068 2007-12-08  Johan Dahlin  <johan@gnome.org>
2069
2070         * src/gen-introspect.c: (g_igenerator_process_types),
2071         (g_igenerator_add_module):
2072         * tests/parser/Foo-expected.gidl:
2073         * tests/parser/foo-object.h:
2074         * tests/parser/foo.c: (foo_subobject_class_init),
2075         (foo_subobject_init):
2076
2077         Add a subobject test and make sure to register defined classes
2078         in the lookup symbol hash table.
2079
2080 2007-12-08  Johan Dahlin  <johan@gnome.org>
2081
2082         * gidl/GLib.gidl:
2083         * src/Makefile.am:
2084         * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2085         (g_igenerator_process_types), (g_igenerator_add_module),
2086         (g_igenerator_add_include_idl), (main):
2087         * src/gen-introspect.h:
2088         * tests/parser/Makefile.am:
2089         * tests/parser/Foo-expected.gidl:
2090
2091         Change the gen-introspect to generate namespaced module names,
2092         such as GLib.Object instead of GObject.
2093         Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2094         add a --include-idl parameter to gen-introspect,
2095         and update the parser test.
2096
2097 2007-12-08  Johan Dahlin  <johan@gnome.org>
2098
2099         * src/gen-introspect.c:
2100         Move main to the end of the file and attempt to make it valid
2101         ansi c.
2102
2103         * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2104         we're not quite ready to generate metadata yet.
2105
2106         * tests/parser/:
2107         * configure.ac:
2108
2109         Add a simple gen-introspect parser test
2110
2111 2007-12-06  Gustavo J. A. M. Carneiro  <gjc@gnome.org>
2112
2113         reviewed by: Johan Dahlin  <johan@gnome.org>
2114
2115         * configure.ac:
2116         * gobject-introspection.pc.in:
2117         * src/Makefile.am:
2118         * src/compiler.c: (format_output), (write_out_metadata), (main):
2119         * src/gen-introspect.c: (main):
2120         * src/gen-introspect.h:
2121         * src/generate.c: (write_callable_info), (write_repository),
2122         (load_metadata), (main):
2123         * src/gidlmodule.c: (g_idl_module_new),
2124         (g_idl_module_build_metadata):
2125         * src/gidlmodule.h:
2126         * src/gidlparser.c: (start_element_handler):
2127         * src/ginfo.c: (g_info_new), (g_info_from_entry),
2128         (g_base_info_get_name), (g_base_info_get_namespace),
2129         (g_base_info_is_deprecated), (g_base_info_get_annotation),
2130         (g_base_info_get_metadata), (g_function_info_get_symbol),
2131         (g_function_info_get_flags), (g_function_info_get_property),
2132         (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2133         (g_callable_info_may_return_null),
2134         (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2135         (g_callable_info_get_arg), (g_arg_info_get_direction),
2136         (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2137         (g_arg_info_is_optional), (g_arg_info_may_be_null),
2138         (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2139         (g_type_info_get_tag), (g_type_info_get_param_type),
2140         (g_type_info_get_interface), (g_type_info_get_array_length),
2141         (g_type_info_is_zero_terminated),
2142         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2143         (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2144         (g_value_info_get_value), (g_field_info_get_flags),
2145         (g_field_info_get_size), (g_field_info_get_offset),
2146         (g_registered_type_info_get_type_name),
2147         (g_registered_type_info_get_type_init),
2148         (g_struct_info_get_n_fields), (g_struct_info_get_field),
2149         (g_struct_info_get_n_methods), (g_struct_info_get_method),
2150         (find_method), (g_struct_info_find_method),
2151         (g_enum_info_get_n_values), (g_enum_info_get_value),
2152         (g_object_info_get_parent), (g_object_info_get_type_name),
2153         (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2154         (g_object_info_get_interface), (g_object_info_get_n_fields),
2155         (g_object_info_get_field), (g_object_info_get_n_properties),
2156         (g_object_info_get_property), (g_object_info_get_n_methods),
2157         (g_object_info_get_method), (g_object_info_find_method),
2158         (g_object_info_get_n_signals), (g_object_info_get_signal),
2159         (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2160         (g_object_info_get_n_constants), (g_object_info_get_constant),
2161         (g_interface_info_get_n_prerequisites),
2162         (g_interface_info_get_prerequisite),
2163         (g_interface_info_get_n_properties),
2164         (g_interface_info_get_property), (g_interface_info_get_n_methods),
2165         (g_interface_info_get_method), (g_interface_info_find_method),
2166         (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2167         (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2168         (g_interface_info_get_n_constants),
2169         (g_interface_info_get_constant), (g_property_info_get_flags),
2170         (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2171         (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2172         (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2173         (g_constant_info_get_value), (g_union_info_get_n_fields),
2174         (g_union_info_get_field), (g_union_info_get_n_methods),
2175         (g_union_info_get_method), (g_union_info_is_discriminated),
2176         (g_union_info_get_discriminator_offset),
2177         (g_union_info_get_discriminator):
2178         * src/ginvoke.c: (g_function_info_invoke):
2179         * src/girepository.c: (g_irepository_register),
2180         (g_irepository_unregister), (g_irepository_get_default),
2181         (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2182         (g_irepository_get_info), (g_irepository_find_by_name),
2183         (g_irepository_get_shared_library),
2184         (g_irepository_build_search_path), (g_irepository_register_file),
2185         (g_irepository_error_quark):
2186         * src/girepository.h:
2187         * src/gmetadata.c: (g_metadata_get_dir_entry),
2188         (g_metadata_check_sanity), (validate_header),
2189         (validate_array_type_blob), (validate_iface_type_blob),
2190         (validate_param_type_blob), (validate_error_type_blob),
2191         (validate_type_blob), (validate_arg_blob),
2192         (validate_signature_blob), (validate_function_blob),
2193         (validate_callback_blob), (validate_constant_blob),
2194         (validate_value_blob), (validate_field_blob),
2195         (validate_property_blob), (validate_signal_blob),
2196         (validate_vfunc_blob), (validate_struct_blob),
2197         (validate_enum_blob), (validate_object_blob),
2198         (validate_interface_blob), (validate_errordomain_blob),
2199         (validate_union_blob), (validate_blob), (validate_directory),
2200         (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2201         (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2202         (g_metadata_new_from_mapped_file), (g_metadata_free),
2203         (g_metadata_set_module), (g_metadata_get_namespace):
2204         * src/gmetadata.h:
2205         * tests/Makefile.am:
2206         * tests/invoke/Makefile.am:
2207         * tests/invoke/invoke-namespace-find.sh:
2208         * tests/invoke/invoke.c: (main):
2209
2210         Add a namespace/shared library mapping. fixes #313268.
2211
2212 2007-12-03  Johan Dahlin  <johan@gnome.org>
2213
2214         * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2215         guchar for now.
2216
2217 2007-11-30  Jürg Billeter  <j@bitron.ch>
2218
2219         * configure.ac:
2220         * src/Makefile.am:
2221         * src/clexer.l:
2222         * src/cparser.y:
2223         * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2224         (g_igenerator_write_inline), (g_igenerator_write),
2225         (g_igenerator_write_indent), (g_igenerator_write_unindent),
2226         (field_generate), (value_generate), (constant_generate),
2227         (property_generate), (function_generate), (vfunc_generate),
2228         (signal_generate), (interface_generate), (struct_generate),
2229         (union_generate), (boxed_generate), (enum_generate),
2230         (node_generate), (module_generate), (get_type_from_type_id),
2231         (str_replace), (g_igenerator_process_properties),
2232         (g_igenerator_process_signals), (g_igenerator_process_types),
2233         (get_type_from_ctype), (g_igenerator_process_function_symbol),
2234         (g_igenerator_process_unregistered_struct_typedef),
2235         (g_igenerator_process_struct_typedef),
2236         (g_igenerator_process_union_typedef),
2237         (g_igenerator_process_enum_typedef),
2238         (g_igenerator_process_function_typedef),
2239         (g_igenerator_process_constant), (g_igenerator_process_symbols),
2240         (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2241         (g_igenerator_generate), (main), (csymbol_new),
2242         (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2243         (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2244         (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2245         (eat_hspace), (eat_line), (read_identifier),
2246         (g_igenerator_parse_macros):
2247         * src/gen-introspect.h:
2248
2249         Import gen-introspect to generate introspection information by
2250         parsing C headers.
2251
2252 2007-11-30  Jürg Billeter  <j@bitron.ch>
2253
2254         * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2255
2256 2007-11-30  Jürg Billeter  <j@bitron.ch>
2257
2258         * src/gidlparser.c: (end_element_handler): Don't leave requires
2259         state too early.
2260
2261 2007-11-29  Johan Dahlin  <johan@gnome.org>
2262
2263         * src/gidlparser.c (parse_type_internal): Add char,
2264         gchar and guchar to the builtin types.
2265
2266 2007-11-26  Johan Dahlin  <johan@gnome.org>
2267
2268         * src/ginfo.c: (g_object_info_get_type_name),
2269         (g_object_info_get_type_init):
2270         * src/girepository.c: (g_irepository_is_registered):
2271         * src/girepository.h:
2272
2273         Add g_object_info_get_type_name, g_object_info_get_type_init and
2274         g_irepository_is_registered.
2275
2276 2006-08-14  Jürg Billeter  <j@bitron.ch>
2277
2278       * src/gidlparser.c: (end_element_handler): Don't leave
2279         namespace and implements states too early.
2280         Fixes #351264
2281
2282 2007-11-26  Johan Dahlin  <johan@gnome.org>
2283
2284         * src/gmetadata.c (validate_struct_blob):
2285         pass blob_type to validate_function_blob instead of
2286         hard-coding BLOB_TYPE_STRUCT.
2287
2288         Patch by Torsten Schoenfeld, fixes #314190
2289
2290 2006-10-03  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2291
2292         * src/compiler.c, src/generate.c, src/gidlnode.c,
2293         src/gidlparser.c, src/ginfo.c, src/girepository.c,
2294         tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2295         warnings about return values, signedness mismatches, unused
2296         variables, and unhandles enum values in switch statements.
2297
2298         * tests/invoke/Makefile.am: Don't install the invoke test program.
2299         Add -I ../../src to the cflags used for the test functions files.
2300
2301 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2302
2303         * src/girepository.h: Export g_invoke_error_quark.
2304
2305 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2306
2307         * src/ginvoke.c: Remove the fallback implementation of
2308         g_function_info_invoke since we now formally depend on libffi.
2309
2310 2005-07-25  Matthias Clasen  <mclasen@redhat.com>
2311
2312         * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2313         Remove these files from cvs, as they are now generated.
2314
2315         * src/gmetadata.c (validate_iface_type_blob): Don't
2316         complain if blob->pointer is not set, since that
2317         happens for enum and flag types.  (#308935, Gustavo
2318         Carneiro)
2319
2320         * Commit an autoconf-conversion patch by
2321         Gustavo Carneiro (#308708)
2322
2323 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
2324
2325         * src/compiler.c (main): Use it here to validate
2326         the generated metadata.
2327
2328         * src/gmetadata.[hc]: Add code to validate a
2329         metadata blob.
2330
2331         * metadata-format.txt: Updates
2332
2333 2005-05-22  Matthias Clasen  <mclasen@redhat.com>
2334
2335         * tests/*: Add struct offsets to field and vfunc
2336         elements.
2337
2338         * src/generate.c (write_vfunc_info): Write offset
2339         information for vfuncs.
2340
2341         * src/gidlnode.c (g_idl_node_build_metadata): Write
2342         the struct offsets into the metadata.
2343
2344         * src/gidlparser.c: Parse the offset attributes of
2345         field and vfunc elements.
2346
2347         * src/gidlnode.h: Add offset members to field and
2348         vfunc nodes.
2349
2350 2005-05-21  Matthias Clasen  <mclasen@redhat.com>
2351
2352         * TODO: Updates.
2353
2354         * gidl.dtd: Updates.
2355
2356         * src/g-idl-offsets.pl: A perl script which reads a .gidl
2357         file, creates, compiles and runs a C file, and folds the
2358         resulting struct offsets back into the .gidl file.
2359
2360 2005-05-20  Matthias Clasen  <mclasen@redhat.com>
2361
2362         * src/gidlparser.c (start_field): Make fields in objects
2363         work.
2364
2365         * src/gidlmodule.c: Include string.h
2366
2367         * TODO: Updates.
2368         :
2369
2370         * metadata-format.txt: Cleanup basic types.
2371         * src/*: Adapt to the changes.
2372         * tests/*: Adapt to the changes.
2373         * examples/gdk-pixbuf.gidl: Adapt to the changes.
2374
2375         * src/gidlnode.c (g_idl_node_get_size): Report the correct
2376         size for enum blobs.
2377         (g_idl_node_get_full_size): Report the correct size for
2378         function blobs.
2379
2380         * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2381         error checking for blob sizes.
2382
2383 2005-05-19  Matthias Clasen  <mclasen@redhat.com>
2384
2385         * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2386         interface types for which is_pointer is FALSE, e.g. enums.
2387
2388         * src/gidlnode.c (g_idl_node_get_full_size)
2389         * src/gidlparser.c (parse_type_internal):
2390         * src/generate.c (write_type_info): Support unspecialized
2391         lists, hashtables and errors. Also emit a '*' after these.
2392
2393         * TODO: Updates
2394
2395 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
2396
2397         * TODO: Updates
2398
2399         * metadata-format.txt: Cleanups by Maciej Katafiasz.
2400
2401 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
2402
2403         * src/*.c: Change the directory to be addressed by
2404         1-based indexes, and use an index of zero to mean
2405         'no object'.
2406
2407 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
2408
2409         * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2410
2411         * tests/union.test: Add a union test.
2412
2413         * src/generate.c: Handle unions.
2414
2415         * src/girepository.h:
2416         * src/ginfo.c: Add GIUnionInfo and functions to access it.
2417
2418         * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2419
2420         * src/gidlparser.c (start_union): Parse <union> elements.
2421
2422         * src/gidlnode.h: Add a GIdlNodeUnion.
2423
2424         * gidl.dtd: Add a <union> element.
2425
2426         * src/gmetadata.c (g_metadata_check_sanity): Check
2427         union_blob_size.
2428
2429         * src/gmetadata.h: Add union_blob_size to Header,
2430         add a UnionBlob.
2431
2432         * metadata-format.txt: Add a UnionBlob.
2433
2434 2005-05-13  Matthias Clasen  <mclasen@redhat.com>
2435
2436         * tests/*: Update testcases.
2437
2438         * src/generate.c (write_callable_info): Don't forget to
2439         write transfer and null-ok attributes for return types
2440         and parameters.
2441
2442         * src/girepository.h:
2443         * src/ginfo.c (g_callable_info_may_return_null):
2444         New function to find out if a function may return NULL.
2445
2446         * src/compiler.c (format_output): Make the generated
2447         C code compile.
2448
2449         * README: Point to a recent libffi snapshot.
2450
2451         * tests/invoke/*: Some invoke tests.
2452
2453         * src/Makefile: Add ginvoke.c and the necessary
2454         libffi information.
2455
2456         * src/girepository.h (g_function_info_invoke): Add
2457         a GError argument.
2458
2459         * src/ginvoke.c (g_function_info_invoke): Initial
2460         implementation of invoke functionality based on libffi.
2461
2462         * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2463         strings and types hash tables in the right order when
2464         recursing.
2465         (find_entry_node): Free the name parts.
2466
2467 2005-05-12  Johan Dahlin  <johan@gnome.org>
2468
2469         * src/generate.c: Generate consistent end tags.
2470
2471         * tests/*: Update
2472
2473 2005-05-12  Matthias Clasen  <mclasen@redhat.com>
2474
2475         * TODO: Updates
2476
2477         * src/gidlparser.c (start_function): Actually add
2478         methods to objects.  (Steven Walter)
2479
2480         * src/girepository.h:
2481         * src/ginfo.c: Rename Transfer and Direction to
2482         GITransfer and GIDirection. (Torsten Schoenfeld)
2483
2484         * tests/*: Make tests work with the changes in name
2485         handling.
2486
2487         * src/gidlnode.c (find_entry_node): Parse qualified
2488         names and generate xref nodes for them if needed. Don't
2489         require all modules to be loaded any more.
2490
2491         * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2492         on '.' in names.
2493
2494         * src/ginfo.c (g_object_info_get_parent): Return NULL
2495         if blob->parent is 0. Still need to make sure index
2496         0 is not used.
2497
2498         * src/generate.c: Generate qualified names when
2499         referring to non-local types. Emit transfer attribute
2500         for return types.
2501
2502         * src/compiler.c (format_output): Put the function
2503         attributes where gcc accepts them.
2504
2505 2005-05-11  Matthias Clasen  <mclasen@redhat.com>
2506
2507         * src/compiler.c (main): Add a --verbose cmdline option
2508         and only log messages if it is specified.
2509
2510         * src/gidlnode.h:
2511         * src/gidlnode.c (init_stats, dump_stats): Collect some
2512         statistics on string and type sharing.
2513
2514         * src/gidlmodule.c (g_idl_module_build_metadata): Use
2515         g_message() instead of fprintf().
2516
2517         * src/gidlnode.c (g_idl_node_free): Make this more robust.
2518         (g_idl_node_get_size): Implement for structs.
2519         (g_idl_node_get_full_size): Handle parent being NULL.
2520         (serialize_type): Handle lookup failures more gracefully.
2521
2522 2005-05-10  Matthias Clasen  <mclasen@redhat.com>
2523
2524         * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2525         size calculation for 2-parameter types and for objects.
2526
2527         * src/compiler.c: Add a cmdline option for debug output
2528         and install a log handler to implement it.
2529         * src/gidlnode.c: Add some debug spew.
2530
2531         * TODO: Updates
2532
2533         * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2534         forget to count the module name when calculating the
2535         required size for the metadata.
2536
2537         * src/gidlnode.c:
2538         * src/gidlparser.c: Fix compiler warnings.
2539
2540 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2541
2542         * src/compiler.c (main): Free the option context.
2543
2544         * gidl.dtd: Clean up handling of names. All elements
2545         have a "name", only the elements corresponding to
2546         actual callable functions (function, method, constructor),
2547         have an additional "symbol" attribute holding the
2548         dlsym()-able function name.
2549
2550         * src/generate.c: Adapt to generate xml matching the
2551         new dtd.
2552
2553         * src/gidlparser.c:
2554         * src/gidlnode.c: Adapt to parse the new dtd.
2555
2556         * tests/*.test: Adjust to the new dtd.
2557
2558         * metadata-format.txt:
2559         * src/gmetadata.h: Remove the short_name field
2560         from the ValueBlob.
2561         * src/gmetadata.c: Shrink size of ValueBlob to 12.
2562         * src/girepository.h:
2563         * src/ginfo.c (g_value_info_get_short_name): Removed
2564
2565 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2566
2567         * gidl.dtd: Allow constructors for boxed types,
2568         patch by Jonathan Blandford.
2569
2570
2571 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2572
2573         * --- Initial import ---