platform/upstream/gobject-introspection.git
16 years agoCompute prefix by searching through the symbol for bits rather than going
Colin Walters [Thu, 21 Aug 2008 20:59:24 +0000 (20:59 +0000)]
Compute prefix by searching through the symbol for bits rather than going

2008-08-21  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Compute prefix
by searching through the symbol for bits
rather than going directly from ctype; this fixes
webkit_ namespace.

svn path=/trunk/; revision=446

16 years agoAlso try squashing underscores from namespace, fixes webkit_web_view_new.
Colin Walters [Thu, 21 Aug 2008 20:45:22 +0000 (20:45 +0000)]
Also try squashing underscores from namespace, fixes webkit_web_view_new.

2008-08-21  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Also try squashing
underscores from namespace, fixes webkit_web_view_new.

svn path=/trunk/; revision=445

16 years agoMore ctor work, avoid having gtk_window_group_new end up under GtkWindow.
Colin Walters [Thu, 21 Aug 2008 20:08:28 +0000 (20:08 +0000)]
More ctor work, avoid having gtk_window_group_new end up under GtkWindow.

2008-08-21  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: More ctor work,
avoid having gtk_window_group_new end up under
GtkWindow.

svn path=/trunk/; revision=444

16 years agoMuch simpler approach of mapping uscored names to classes. Remove
Colin Walters [Thu, 21 Aug 2008 18:03:21 +0000 (18:03 +0000)]
Much simpler approach of mapping uscored names to classes. Remove

2008-08-21  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Much simpler approach
of mapping uscored names to classes.
* giscanner/utils.py: Remove unnecessary function.

svn path=/trunk/; revision=443

16 years agoLook up all permutations of class names when scanning methods/ctors based
Colin Walters [Thu, 21 Aug 2008 17:47:00 +0000 (17:47 +0000)]
Look up all permutations of class names when scanning methods/ctors based

2008-08-21  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Look up all permutations
of class names when scanning methods/ctors based on
the prefix instead of using the return value.  This
associates gtk_window_new with the right class.

svn path=/trunk/; revision=442

16 years agoPlug memory leak and avoid using freed memory. Resolve the whole module
Johan Dahlin [Thu, 21 Aug 2008 16:38:03 +0000 (16:38 +0000)]
Plug memory leak and avoid using freed memory. Resolve the whole module

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * girepository/girepository.c (g_irepository_require):
    Plug memory leak and avoid using freed memory.
    Resolve the whole module path, here as well.

svn path=/trunk/; revision=441

16 years agoRevert change to increment header_size; we do that in write_string.
Colin Walters [Thu, 21 Aug 2008 16:25:42 +0000 (16:25 +0000)]
Revert change to increment header_size; we do that in write_string.

2008-08-21  Colin Walters  <walters@verbum.org>

* girepository/girmodule.c (g_ir_module_build_typelib):
Revert change to increment header_size; we do that in
write_string.

svn path=/trunk/; revision=440

16 years agoTweak to use UINT instead of INT. Not likely to matter. Add to
Colin Walters [Thu, 21 Aug 2008 16:15:55 +0000 (16:15 +0000)]
Tweak to use UINT instead of INT. Not likely to matter. Add to

2008-08-21  Colin Walters  <walters@verbum.org>

* girepository/girnode.c (write_string): Tweak to
use UINT instead of INT.  Not likely to matter.
* girepository/girmodule.c (g_ir_module_build_typelib):
Add to header_offset as well for header strings
to match what write_string does.
* girepository/gtypelib.c: Replace is_name with
validate_name, which more strongly validates and
handles errors in a better way.  Update all callers.
* giscanner/glibtransformer.py: Handle constructors
better.

svn path=/trunk/; revision=439

16 years agoBuild and install the Gio.typelib too
Johan Dahlin [Thu, 21 Aug 2008 15:10:02 +0000 (15:10 +0000)]
Build and install the Gio.typelib too

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am (typelibs_DATA): Build and
    install the Gio.typelib too

svn path=/trunk/; revision=438

16 years agoUse g_module_build_path to resolve the shlib name
Johan Dahlin [Thu, 21 Aug 2008 14:21:00 +0000 (14:21 +0000)]
Use g_module_build_path to resolve the shlib name

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * girepository/gtypelib.c (_g_typelib_init):
    Use g_module_build_path to resolve the shlib name

svn path=/trunk/; revision=437

16 years agoCLEANFILES typelibs too.
Colin Walters [Thu, 21 Aug 2008 13:55:06 +0000 (13:55 +0000)]
CLEANFILES typelibs too.

2008-08-21  Colin Walters  <walters@verbum.org>

* gir/Makefile.am: CLEANFILES typelibs too.

svn path=/trunk/; revision=436

16 years agoDo not send .la files through find_library.
Johan Dahlin [Thu, 21 Aug 2008 13:33:08 +0000 (13:33 +0000)]
Do not send .la files through find_library.

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * giscanner/glibtransformer.py:
    Do not send .la files through find_library.

svn path=/trunk/; revision=435

16 years agoFix one small leak in error case.
Colin Walters [Thu, 21 Aug 2008 13:26:53 +0000 (13:26 +0000)]
Fix one small leak in error case.

2008-08-21  Colin Walters  <walters@verbum.org>

* girepository/girparser.c (g_irepository_require):
Fix one small leak in error case.

svn path=/trunk/; revision=434

16 years agoParse glibconfig.h as well and install the compiled typelib
Johan Dahlin [Thu, 21 Aug 2008 13:23:29 +0000 (13:23 +0000)]
Parse glibconfig.h as well and install the compiled typelib

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    Parse glibconfig.h as well and install the compiled
    typelib

svn path=/trunk/; revision=433

16 years agoDo not hard-core library names in the Makefile, reuse ctypes find_library
Johan Dahlin [Thu, 21 Aug 2008 08:42:11 +0000 (08:42 +0000)]
Do not hard-core library names in the Makefile, reuse ctypes find_library

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    * giscanner/glibtransformer.py:
    * tools/g-ir-scanner:
    Do not hard-core library names in the Makefile, reuse
    ctypes find_library instead.

svn path=/trunk/; revision=432

16 years agoRemove compilation warnings
Johan Dahlin [Thu, 21 Aug 2008 08:20:07 +0000 (08:20 +0000)]
Remove compilation warnings

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * girepository/girparser.c (resolve_aliases):
    Remove compilation warnings

svn path=/trunk/; revision=431

16 years agoRewrap and fix double free bug by leaking a bit.
Johan Dahlin [Thu, 21 Aug 2008 06:47:49 +0000 (06:47 +0000)]
Rewrap and fix double free bug by leaking a bit.

2008-08-21  Johan Dahlin  <johan@gnome.org>

    * girepository/girepository.c (g_irepository_require):
    Rewrap and fix double free bug by leaking a bit.

svn path=/trunk/; revision=430

16 years agoAdd new function g_irepository_get_typelib_path which tells us from where
Colin Walters [Thu, 21 Aug 2008 03:06:13 +0000 (03:06 +0000)]
Add new function g_irepository_get_typelib_path which tells us from where

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girepository.c: Add new function
g_irepository_get_typelib_path which tells
us from where we loaded a namespace.

svn path=/trunk/; revision=429

16 years agoAdjust for added shared-library. Make pylint happy.
Colin Walters [Thu, 21 Aug 2008 00:45:14 +0000 (00:45 +0000)]
Adjust for added shared-library. Make pylint happy.

2008-08-20  Colin Walters  <walters@verbum.org>

* tests/scanner/*-expected.gir: Adjust for
added shared-library.
* giscanner/giwriter.py: Make pylint happy.

svn path=/trunk/; revision=428

16 years agoCalculate size correctly, avoid use-after-free.
Colin Walters [Thu, 21 Aug 2008 00:42:23 +0000 (00:42 +0000)]
Calculate size correctly, avoid use-after-free.

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girmodule.c (g_ir_module_build_typelib):
Calculate size correctly, avoid use-after-free.

svn path=/trunk/; revision=427

16 years agoRemove g_irepository_register_file in favor of g_irepository_require.
Colin Walters [Wed, 20 Aug 2008 23:56:40 +0000 (23:56 +0000)]
Remove g_irepository_register_file in favor of g_irepository_require.

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girepository.c: Remove
g_irepository_register_file in favor of
g_irepository_require.  There are two
possible deployment scenarios for typelibs:
First, separate in $DATADIR/gitypelibs/.  Second,
they may be embedded in shlibs.  However since
the first is now the normal case, the API is
optimized around it.

Refactor internals to look up typelibs for
namespaces just-in-time, but we expect
consumers to call g_irepository_require.

Also, add some docs.  No one has died from that
before.
* gir/Makefile.am: Need --library for glib.
* giscanner/girwriter.py: Write out shared-library.
* tools/g-ir-writer: Take the first --library
argument as the target of shared-library.  In
the future we should make this nicer with pkg-config
probably.

svn path=/trunk/; revision=426

16 years agoAnd parse them.
Colin Walters [Wed, 20 Aug 2008 19:57:10 +0000 (19:57 +0000)]
And parse them.

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girparser.py: And parse them.

svn path=/trunk/; revision=425

16 years agoAdd gshort/gushort types
Johan Dahlin [Wed, 20 Aug 2008 19:31:23 +0000 (19:31 +0000)]
Add gshort/gushort types

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * giscanner/glibast.py: Add gshort/gushort types

svn path=/trunk/; revision=424

16 years agoInstall GObject.typelib
Johan Dahlin [Wed, 20 Aug 2008 19:26:20 +0000 (19:26 +0000)]
Install GObject.typelib

svn path=/trunk/; revision=423

16 years agoRename .gir files using GI namespace. Use XDG_DATA_DIRS for looking up
Colin Walters [Wed, 20 Aug 2008 19:17:14 +0000 (19:17 +0000)]
Rename .gir files using GI namespace. Use XDG_DATA_DIRS for looking up

2008-08-20  Colin Walters  <walters@verbum.org>

* gir/Makefile.am: Rename .gir files using GI namespace.
* girepository/girepository.c: Use XDG_DATA_DIRS for
looking up typelibs.  Also typelibs are now suffixed
with .typelib.
* tests/invoke/Makefile.am: Only use metadata.
* girepository/Makefile.am: Remove unnecessary include.
* tests/scanner/Makefile.am: Update using GI namespaces
for scanner includes.

svn path=/trunk/; revision=422

16 years agoSuppress aliases whose name is a builtin. Define some more aliases.
Colin Walters [Wed, 20 Aug 2008 19:11:03 +0000 (19:11 +0000)]
Suppress aliases whose name is a builtin. Define some more aliases.

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/transformer.py: Suppress aliases whose
name is a builtin.
* girepository/ast.py: Define some more aliases.

svn path=/trunk/; revision=421

16 years agoAvoid alias infloops.
Colin Walters [Wed, 20 Aug 2008 19:01:20 +0000 (19:01 +0000)]
Avoid alias infloops.

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girparser.c: Avoid alias infloops.

svn path=/trunk/; revision=420

16 years agoFix expected list type.
Colin Walters [Wed, 20 Aug 2008 18:16:04 +0000 (18:16 +0000)]
Fix expected list type.

2008-08-20  Colin Walters  <walters@verbum.org>

* tests/scanner/foo-expected.gir: Fix expected list type.

svn path=/trunk/; revision=419

16 years agoAdd a workaround for #548689. We can now compile gtk!
Johan Dahlin [Wed, 20 Aug 2008 15:57:22 +0000 (15:57 +0000)]
Add a workaround for #548689. We can now compile gtk!

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
    Add a workaround for #548689.
    We can now compile gtk!

svn path=/trunk/; revision=418

16 years agoLook up aliases using c:type too
Colin Walters [Wed, 20 Aug 2008 15:30:58 +0000 (15:30 +0000)]
Look up aliases using c:type too

2008-08-20  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Try to look up
aliases using the c:type too.

svn path=/trunk/; revision=417

16 years agoUnion field parsing
Colin Walters [Wed, 20 Aug 2008 15:05:46 +0000 (15:05 +0000)]
Union field parsing

2008-08-20  Colin Walters  <walters@verbum.org>

* girepository/girparser.c: Parse union fields.

svn path=/trunk/; revision=416

16 years agoMake time_t an alias for long
Johan Dahlin [Wed, 20 Aug 2008 14:41:19 +0000 (14:41 +0000)]
Make time_t an alias for long

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * giscanner/ast.py: Make time_t an alias for long

svn path=/trunk/; revision=415

16 years agoRegnerate Do not delete Class structures, we need them in gdk/gtk.
Johan Dahlin [Wed, 20 Aug 2008 13:45:12 +0000 (13:45 +0000)]
Regnerate Do not delete Class structures, we need them in gdk/gtk.

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * gir/gio-2.0-good.gir:
    * gir/glib-2.0-good.gir:
    * gir/gobject-2.0-good.gir:
    Regnerate
    * giscanner/glibtransformer.py:
    Do not delete Class structures, we need them in gdk/gtk.
    * tests/scanner/drawable-expected.gir:
    * tests/scanner/foo-expected.gir:
    * tests/scanner/utility-expected.gir:
    Update tests.

svn path=/trunk/; revision=414

16 years agoUpdate array tests
Johan Dahlin [Wed, 20 Aug 2008 12:40:39 +0000 (12:40 +0000)]
Update array tests

svn path=/trunk/; revision=413

16 years agoRe-wrap
Johan Dahlin [Wed, 20 Aug 2008 12:38:12 +0000 (12:38 +0000)]
Re-wrap

svn path=/trunk/; revision=412

16 years agoRe-run against new glib/gobject girs
Johan Dahlin [Wed, 20 Aug 2008 12:36:59 +0000 (12:36 +0000)]
Re-run against new glib/gobject girs

svn path=/trunk/; revision=411

16 years agoSplit out annotation tests out of foo
Johan Dahlin [Wed, 20 Aug 2008 12:33:40 +0000 (12:33 +0000)]
Split out annotation tests out of foo

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * tests/scanner/Makefile.am:
    * tests/scanner/annotation-expected.gir:
    * tests/scanner/annotation.c (annotation_object_class_init),
    (annotation_object_init), (annotation_object_method),
    (annotation_object_in), (annotation_object_out),
    (annotation_object_inout), (annotation_object_inout2),
    (annotation_object_inout3), (annotation_object_calleeowns),
    (annotation_object_calleesowns), (annotation_object_get_strings),
    (annotation_object_with_voidp), (annotation_object_get_objects),
    (annotation_object_create_object), (annotation_object_allow_none):
    * tests/scanner/annotation.h:
    * tests/scanner/foo-expected.gir:
    * tests/scanner/foo.c:
    * tests/scanner/foo.h:
    Split out annotation tests out of foo

svn path=/trunk/; revision=410

16 years agoFoo->foo, foo-object.h -> foo.h
Johan Dahlin [Wed, 20 Aug 2008 12:24:44 +0000 (12:24 +0000)]
Foo->foo, foo-object.h -> foo.h

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * tests/scanner/Foo-expected.gir:
    * tests/scanner/Makefile.am:
    * tests/scanner/foo-expected.gir:
    * tests/scanner/foo-object.h:
    * tests/scanner/foo.c:
    Foo->foo, foo-object.h -> foo.h

svn path=/trunk/; revision=409

16 years agoMove the drawable parts out of Foo to its own test.
Johan Dahlin [Wed, 20 Aug 2008 12:22:56 +0000 (12:22 +0000)]
Move the drawable parts out of Foo to its own test.

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * tests/scanner/Foo-expected.gir:
    * tests/scanner/Makefile.am:
    * tests/scanner/drawable-expected.gir:
    * tests/scanner/drawable.c (test_drawable_class_init),
    (test_drawable_init):
    * tests/scanner/drawable.h:
    * tests/scanner/foo-object.h:
    * tests/scanner/foo.c (foo_boxed_method):
    Move the drawable parts out of Foo to its own test.

svn path=/trunk/; revision=408

16 years agoAdd a based on GdkDrawable which generates a broken gir.
Johan Dahlin [Tue, 19 Aug 2008 22:53:14 +0000 (22:53 +0000)]
Add a based on GdkDrawable which generates a broken gir.

2008-08-20  Johan Dahlin  <johan@gnome.org>

    * tests/scanner/Foo-expected.gir:
    * tests/scanner/foo-object.h:
    * tests/scanner/foo.c (foo_drawable_class_init),
    (foo_drawable_init):
    Add a based on GdkDrawable which generates
    a broken gir.

svn path=/trunk/; revision=407

16 years agoDon't try to strip prefix before namespace.
Colin Walters [Tue, 19 Aug 2008 22:35:46 +0000 (22:35 +0000)]
Don't try to strip prefix before namespace.

2008-08-19  Colin Walters  <walters@verbum.org>

* giscanner/transformer.py: Don't try
to strip prefix before namespace.

svn path=/trunk/; revision=406

16 years agoAdd support for typedef void foo type of aliases.
Johan Dahlin [Tue, 19 Aug 2008 21:59:58 +0000 (21:59 +0000)]
Add support for typedef void foo type of aliases.

2008-08-19  Johan Dahlin  <johan@gnome.org>

    * giscanner/transformer.py:
    * tests/scanner/Foo-expected.gir:
    * tests/scanner/foo-object.h:
    Add support for typedef void foo type of
    aliases.

svn path=/trunk/; revision=405

16 years agoAdd basic support for union, base the code much on Struct. Add a testcase.
Johan Dahlin [Tue, 19 Aug 2008 21:55:26 +0000 (21:55 +0000)]
Add basic support for union, base the code much on Struct. Add a testcase.

2008-08-19  Johan Dahlin  <johan@gnome.org>

    * giscanner/ast.py:
    * giscanner/girwriter.py:
    * giscanner/glibtransformer.py:
    * giscanner/transformer.py:
    * tests/scanner/Foo-expected.gir:
    Add basic support for union, base the code much
    on Struct. Add a testcase.

svn path=/trunk/; revision=404

16 years agoAdd a union testcase which the compiler currently barfs at.
Johan Dahlin [Tue, 19 Aug 2008 21:44:25 +0000 (21:44 +0000)]
Add a union testcase which the compiler currently barfs at.

2008-08-19  Johan Dahlin  <johan@gnome.org>

    * tests/scanner/Foo-expected.gir:
    * tests/scanner/foo-object.h:
    Add a union testcase which the compiler currently
    barfs at.

svn path=/trunk/; revision=403

16 years agoAdd a g_ir_compiler variable
Johan Dahlin [Tue, 19 Aug 2008 21:35:55 +0000 (21:35 +0000)]
Add a g_ir_compiler variable

2008-08-19  Johan Dahlin  <johan@gnome.org>

    * gobject-introspection-1.0.pc.in:
    Add a g_ir_compiler variable

svn path=/trunk/; revision=402

16 years agoRework types to be more closely based on GITypeTag. Parse more bits. Write
Colin Walters [Tue, 19 Aug 2008 21:20:14 +0000 (21:20 +0000)]
Rework types to be more closely based on GITypeTag. Parse more bits. Write

2008-08-19  Colin Walters  <walters@verbum.org>

* giscanner/ast.py: Rework types to be more closely
based on GITypeTag.
* giscanner/girparser.py: Parse more bits.
* giscanner/girwriter.py: Write sequences in a new
way that specifies container type.
* giscanner/glibast.py: Adjust for ast.py changes,
add 'ctype' property to GLibObject and GLibInterface
so we can look things up by it later.
* gicanner/transformer.py: Names is new class holding
the various namespaces we manage.  Do not confuse
with Namespace which is toplevel XML node effectively.
Rework all type resolution to go through
_resolve_type_name_1.
* giscanner/glibtransformer.py: Raise UnknownTypeError
instead of ValueError for cleanliness.  Add Unresolved
class to mark types whose parent we haven't seen yet.
Use new Names object from transformer.py.
Correctly look up parent=.
Fix type validation to handle sequences.
* tests/scanner/Foo-expected.gir: Update for sequence
work, int instead of int32.
* tools/g-ir-scanner: Add --noclosure option
* gir/Makefile.am: Use --noclosure by default for
GLib/GObject.

svn path=/trunk/; revision=401

16 years agoType checking rework
Colin Walters [Tue, 19 Aug 2008 21:20:10 +0000 (21:20 +0000)]
Type checking rework

svn path=/trunk/; revision=400

16 years agoRegenerate.
Johan Dahlin [Mon, 18 Aug 2008 20:43:48 +0000 (20:43 +0000)]
Regenerate.

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * gir/gio-2.0-good.gir:
    * gir/glib-2.0-good.gir:
    * gir/gobject-2.0-good.gir:
    Regenerate.

svn path=/trunk/; revision=399

16 years agoRedo type resolving and validation. Add a couple of new tests. Patch
Johan Dahlin [Mon, 18 Aug 2008 20:16:57 +0000 (20:16 +0000)]
Redo type resolving and validation. Add a couple of new tests. Patch

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * giscanner/ast.py:
    * giscanner/girparser.py:
    * giscanner/girwriter.py:
    * giscanner/glibast.py:
    * giscanner/glibtransformer.py:
    * giscanner/transformer.py:
    * tests/scanner/Foo-expected.gir:
    * tests/scanner/foo-object.h:
    * tests/scanner/utility-expected.gir:
    * tests/scanner/utility.h:
    Redo type resolving and validation.
    Add a couple of new tests.
    Patch mostly written by Colin.

svn path=/trunk/; revision=398

16 years agoSet ctype of enums Improve enum parsing for enums without a GType. Make
Johan Dahlin [Mon, 18 Aug 2008 18:01:21 +0000 (18:01 +0000)]
Set ctype of enums Improve enum parsing for enums without a GType. Make

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    * giscanner/girparser.py:
    Set ctype of enums
    * giscanner/transformer.py:
    Improve enum parsing for enums without a GType.
    Make flags/enum references to other girs work
    * giscanner/utils.py:
    Simplify this a bit
    * tests/scanner/Makefile.am:
    * tests/scanner/foo-object.h:
    * tests/scanner/utility-expected.gir:
    * tests/scanner/utility.h:
    Add a new test for external enum references

svn path=/trunk/; revision=397

16 years agoUpdate
Johan Dahlin [Mon, 18 Aug 2008 14:19:56 +0000 (14:19 +0000)]
Update

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * docs/global-module-registry.txt: Update

svn path=/trunk/; revision=396

16 years agoUpdate with new type proposal
Johan Dahlin [Mon, 18 Aug 2008 13:17:06 +0000 (13:17 +0000)]
Update with new type proposal

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * tests/array.gir: Update with new type proposal

svn path=/trunk/; revision=395

16 years agoMake enum serializing functions public. Clean up some whitespace.
Johan Dahlin [Mon, 18 Aug 2008 08:52:47 +0000 (08:52 +0000)]
Make enum serializing functions public. Clean up some whitespace.

2008-08-18  Johan Dahlin  <johan@gnome.org>

    * girepository/girepository.c (g_type_tag_to_string):
    * girepository/girepository.h:
    * girepository/girnode.c (g_ir_node_get_full_size_internal),
    (find_entry_node):
    * girepository/girnode.h:
    Make enum serializing functions public. Clean up some whitespace.

svn path=/trunk/; revision=394

16 years agoAdd a document for an on disk module registry format
Johan Dahlin [Sun, 17 Aug 2008 20:29:08 +0000 (20:29 +0000)]
Add a document for an on disk module registry format

2008-08-17  Johan Dahlin  <johan@gnome.org>

    * docs/global-module-registry.txt:
    Add a document for an on disk module registry format

svn path=/trunk/; revision=393

16 years agoAdd a gio gir.
Johan Dahlin [Sun, 17 Aug 2008 17:01:23 +0000 (17:01 +0000)]
Add a gio gir.

2008-08-17  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    * gir/gio-2.0-good.gir:
    Add a gio gir.

svn path=/trunk/; revision=392

16 years agoRegenerate GObject & GType. Avoid warnings when generating
Johan Dahlin [Sun, 17 Aug 2008 16:52:46 +0000 (16:52 +0000)]
Regenerate GObject & GType. Avoid warnings when generating

2008-08-17  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    * gir/glib-2.0-good.gir:
    * gir/gobject-2.0-good.gir:
    * giscanner/cgobject.py:
    * giscanner/glibtransformer.py:
    Regenerate GObject & GType.
    Avoid warnings when generating gobject-2.0.gir.
    Introspect a little more, and skip *_get_type functions.

svn path=/trunk/; revision=391

16 years agoMove .gir files to -good.gir, tweak build order.
Colin Walters [Sun, 17 Aug 2008 15:06:49 +0000 (15:06 +0000)]
Move .gir files to -good.gir, tweak build order.

* gir/glib-2.0.gir, gir/gobject-2.0.gir:
Rename to -good, always generate during build.
* gir/Makefile.am: Ensure .gir files dep on
all scanner sources.
* Makefile.am: Switch build order to ensure
the scanner is ready before we do gir/.
* tools/g-ir-scanner: Look for .git too.

svn path=/trunk/; revision=390

16 years agoRemove resolve_possible_typedefs, it was unused. Allow multiple enum
Johan Dahlin [Sat, 16 Aug 2008 22:26:55 +0000 (22:26 +0000)]
Remove resolve_possible_typedefs, it was unused. Allow multiple enum

2008-08-17  Johan Dahlin  <johan@gnome.org>

    * girepository/gtypelib.c (validate_enum_blob):
    * giscanner/glibtransformer.py:
    * giscanner/transformer.py:
    Remove resolve_possible_typedefs, it was unused.
    Allow multiple enum values of the sample value in an enum,
    since it's actually pretty common.
    Register enums so they can be resolved too.

svn path=/trunk/; revision=389

16 years agomake it compile again...
Johan Dahlin [Sat, 16 Aug 2008 21:57:59 +0000 (21:57 +0000)]
make it compile again...

svn path=/trunk/; revision=388

16 years agoReorder
Johan Dahlin [Sat, 16 Aug 2008 21:55:06 +0000 (21:55 +0000)]
Reorder

svn path=/trunk/; revision=387

16 years agoParse enumeration/bitfield.
Johan Dahlin [Sat, 16 Aug 2008 21:46:23 +0000 (21:46 +0000)]
Parse enumeration/bitfield.

2008-08-16  Johan Dahlin  <johan@gnome.org>

    * giscanner/girparser.py:
    Parse enumeration/bitfield.

svn path=/trunk/; revision=386

16 years agoParse boxed types.
Johan Dahlin [Sat, 16 Aug 2008 21:32:41 +0000 (21:32 +0000)]
Parse boxed types.

2008-08-16  Johan Dahlin  <johan@gnome.org>

    * giscanner/girparser.py:
    Parse boxed types.

svn path=/trunk/; revision=385

16 years agoResolve type names for alias targets Skip FILE* parameters fow now
Johan Dahlin [Sat, 16 Aug 2008 21:28:15 +0000 (21:28 +0000)]
Resolve type names for alias targets Skip FILE* parameters fow now

2008-08-16  Johan Dahlin  <johan@gnome.org>

    * giscanner/glibtransformer.py:
    Resolve type names for alias targets
    * giscanner/transformer.py:
    Skip FILE* parameters fow now

svn path=/trunk/; revision=384

16 years agoRegenerate
Johan Dahlin [Sat, 16 Aug 2008 10:04:06 +0000 (10:04 +0000)]
Regenerate

2008-08-16  Johan Dahlin  <johan@gnome.org>

    * gir/glib-2.0.gir:
    * gir/gobject-2.0.gir:
    Regenerate

    * tests/scanner/Makefile.am:
    parser -> scanner

svn path=/trunk/; revision=383

16 years agoExplicitly construct new list, since we're deleting as we iterate. Don't
Colin Walters [Fri, 15 Aug 2008 05:17:54 +0000 (05:17 +0000)]
Explicitly construct new list, since we're deleting as we iterate. Don't

2008-08-15  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Explicitly construct
new list, since we're deleting as we iterate.
Don't delete all structures which end in Class; just
ones which have a paired GObject.
Fix printing of type warning.
* giscanner/transformer.py: Make strip_namespace_object
be the identity function if it doesn't match the
namespace.

svn path=/trunk/; revision=382

16 years agoDefine yet more argument prototypes; fix prototype for g_type_fundamental.
Colin Walters [Fri, 15 Aug 2008 05:03:16 +0000 (05:03 +0000)]
Define yet more argument prototypes; fix prototype for g_type_fundamental.

2008-08-15  Colin Walters  <walters@verbum.org>

* giscanner/cgobject.py: Define yet more argument
prototypes; fix prototype for g_type_fundamental.

svn path=/trunk/; revision=381

16 years agoConvert two more tests, still not completely done though
Johan Dahlin [Thu, 14 Aug 2008 20:22:58 +0000 (20:22 +0000)]
Convert two more tests, still not completely done though

svn path=/trunk/; revision=380

16 years agoFix generator for constant/gobject/struct
Johan Dahlin [Thu, 14 Aug 2008 19:45:37 +0000 (19:45 +0000)]
Fix generator for constant/gobject/struct

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * tests/Makefile.am:
    * tests/constant.gir:
    * tests/gobject.gir:
    * tests/struct.gir:
    * tools/generate.c (write_struct_info):
    Fix generator for constant/gobject/struct

svn path=/trunk/; revision=379

16 years agoFix generation of enum/bitfields
Johan Dahlin [Thu, 14 Aug 2008 19:35:36 +0000 (19:35 +0000)]
Fix generation of enum/bitfields

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * tests/Makefile.am:
    * tests/enum.gir:
    * tools/generate.c (write_enum_info):
    Fix generation of enum/bitfields

svn path=/trunk/; revision=378

16 years agoClear up constant parsing
Johan Dahlin [Thu, 14 Aug 2008 19:32:26 +0000 (19:32 +0000)]
Clear up constant parsing

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * girepository/girparser.c (start_field), (start_constant),
    (start_type), (end_element_handler):
    Clear up constant parsing

    * tests/object.gir:
    Update

    * tools/generate.c (write_callable_info), (write_function_info),
    (write_callback_info), (write_constant_info), (write_signal_info),
    (write_vfunc_info), (write_property_info), (write_object_info),
    (write_interface_info):
    Constants/Signals are handled now.

svn path=/trunk/; revision=377

16 years agoDon't require c:type. Test boxed.gir Update, remove parts we don't support
Johan Dahlin [Thu, 14 Aug 2008 19:07:34 +0000 (19:07 +0000)]
Don't require c:type. Test boxed.gir Update, remove parts we don't support

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * girepository/girparser.c (start_type):
    Don't require c:type.
    * tests/Makefile.am:
    Test boxed.gir
    * tests/boxed.gir:
    Update, remove parts we don't support yet
    * tests/roundtrips.sh:
    Remove
    * tools/generate.c (write_type_info), (write_field_info),
    (write_callable_info), (write_struct_info):
    Make it emit proper gir.

svn path=/trunk/; revision=376

16 years agoNew internal function for adding a new node.
Johan Dahlin [Thu, 14 Aug 2008 16:56:47 +0000 (16:56 +0000)]
New internal function for adding a new node.

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * giscanner/transformer.py:
    New internal function for adding a new node.

svn path=/trunk/; revision=375

16 years agoDefine an internal _H_ variable so we skip parsing both i18n headers, only
Johan Dahlin [Thu, 14 Aug 2008 16:30:01 +0000 (16:30 +0000)]
Define an internal _H_ variable so we skip parsing both i18n headers, only

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * gir/Makefile.am:
    Define an internal _H_ variable so we skip parsing both
    i18n headers, only one is needed.
    * gir/glib-2.0.gir:
    Add the glib-2.0.gir too.
    * giscanner/glibast.py:
    Add gconstpointer as an alias for ANY
    * giscanner/transformer.py:
    Do not lower case enumeration names per se.
    Skip functions which has parameters called 'va_list'

svn path=/trunk/; revision=374

16 years agoComment data structures. Also squash pointers in resolve_type_name to
Colin Walters [Thu, 14 Aug 2008 16:09:06 +0000 (16:09 +0000)]
Comment data structures. Also squash pointers in resolve_type_name to

2008-08-14  Colin Walters  <walters@verbum.org>

* giscanner/transformer.py: Comment data structures.
Also squash pointers in resolve_type_name to correspond
with what we do for params.
* giscanner/glibtransformer.py: Print warnings in more
situations.  Rework checks for method/constructor to
look up in our GType database instead of just checking
for *.   Avoid generating <record> for GObject which
duplicate the <class>.
* gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
in here.

svn path=/trunk/; revision=373

16 years agoAvoid importing two GObject symbols in transformer.py
Johan Dahlin [Thu, 14 Aug 2008 11:31:24 +0000 (11:31 +0000)]
Avoid importing two GObject symbols in transformer.py

svn path=/trunk/; revision=372

16 years agoMake pyflakes.py conform to pep8.py
Johan Dahlin [Thu, 14 Aug 2008 11:30:01 +0000 (11:30 +0000)]
Make pyflakes.py conform to pep8.py

svn path=/trunk/; revision=371

16 years agoAdd pyflakes.py and run it in make check. Update the source code to fix
Johan Dahlin [Thu, 14 Aug 2008 11:23:26 +0000 (11:23 +0000)]
Add pyflakes.py and run it in make check. Update the source code to fix

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * giscanner/girwriter.py:
    * giscanner/glibast.py:
    * giscanner/glibtransformer.py:
    * giscanner/transformer.py:
    * misc/pyflakes.py:
    * tests/Makefile.am:
    Add pyflakes.py and run it in make check.
    Update the source code to fix the errors reported by
    pyflakes.

svn path=/trunk/; revision=370

16 years agoRefactor the parser a bit. Add parent type to interfaces and update
Johan Dahlin [Thu, 14 Aug 2008 11:13:51 +0000 (11:13 +0000)]
Refactor the parser a bit. Add parent type to interfaces and update

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * giscanner/ast.py:
    * giscanner/girparser.py:
    * giscanner/glibast.py:
    * giscanner/glibtransformer.py:
    Refactor the parser a bit.
    Add parent type to interfaces and update callsites.

svn path=/trunk/; revision=369

16 years agoClean up cgobject.py a little, fix pep8 errors
Johan Dahlin [Thu, 14 Aug 2008 09:54:09 +0000 (09:54 +0000)]
Clean up cgobject.py a little, fix pep8 errors

svn path=/trunk/; revision=368

16 years agoRefactor a bit, avoid isinstance and add a method for each type we parse.
Johan Dahlin [Thu, 14 Aug 2008 09:47:58 +0000 (09:47 +0000)]
Refactor a bit, avoid isinstance and add a method for each type we parse.

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * giscanner/glibtransformer.py:
    * giscanner/utils.py:
    Refactor a bit, avoid isinstance and add a method
    for each type we parse.

svn path=/trunk/; revision=367

16 years agoRun pep8.py in make check, fix old errors.
Johan Dahlin [Thu, 14 Aug 2008 09:28:38 +0000 (09:28 +0000)]
Run pep8.py in make check, fix old errors.

2008-08-14  Johan Dahlin  <johan@gnome.org>

    * giscanner/ast.py:
    * giscanner/girparser.py:
    * giscanner/glibtransformer.py:
    * tests/Makefile.am:
    Run pep8.py in make check, fix old errors.

svn path=/trunk/; revision=366

16 years agoParse records.
Colin Walters [Wed, 13 Aug 2008 22:23:06 +0000 (22:23 +0000)]
Parse records.

2008-08-13  Colin Walters  <walters@verbum.org>

* giscanner/girparser.py: Parse records.

svn path=/trunk/; revision=365

16 years agoInstall again. Add some more bits.
Colin Walters [Wed, 13 Aug 2008 22:19:04 +0000 (22:19 +0000)]
Install again. Add some more bits.

2008-08-13  Colin Walters  <walters@verbum.org>

* gir/Makefile.am: Install again.
* gir/gobject-2.0.gir: Add some more bits.

svn path=/trunk/; revision=364

16 years agoUse correct namespace, add GType. Handle aliases. Record aliases. Make
Colin Walters [Wed, 13 Aug 2008 22:06:59 +0000 (22:06 +0000)]
Use correct namespace, add GType. Handle aliases. Record aliases. Make

2008-08-13  Colin Walters  <walters@verbum.org>

* gir/gobject-2.0.gir: Use correct namespace, add GType.
* giscanner/girparser.py: Handle aliases.
* giscanner/transformer.py: Record aliases.  Make resolver
functions public; we now call into these explicitly from
glibtransformer.  Handle resolving aliases.
* giscanner/glibtransformer.py: Separate our internal namespace
from included ones.  Call up into transformer's resolver functions.

svn path=/trunk/; revision=363

16 years agoAllow get_type to be None, set a get_type for GInitiallyUnowned too.
Johan Dahlin [Wed, 13 Aug 2008 21:44:38 +0000 (21:44 +0000)]
Allow get_type to be None, set a get_type for GInitiallyUnowned too.

2008-08-13  Johan Dahlin  <johan@gnome.org>

    * girepository/girnode.c (g_ir_node_get_full_size_internal):
    * girepository/girparser.c (start_class):
    * giscanner/glibtransformer.py:
    Allow get_type to be None, set a get_type for GInitiallyUnowned too.

svn path=/trunk/; revision=362

16 years agoremote two prints
Johan Dahlin [Wed, 13 Aug 2008 21:26:16 +0000 (21:26 +0000)]
remote two prints

svn path=/trunk/; revision=361

16 years agoRegister GInitiallyUnowned
Johan Dahlin [Wed, 13 Aug 2008 21:25:15 +0000 (21:25 +0000)]
Register GInitiallyUnowned

2008-08-13  Johan Dahlin  <johan@gnome.org>

    * giscanner/cgobject.py:
    Register GInitiallyUnowned
    * giscanner/girwriter.py:
    * giscanner/glibtransformer.py:
    Special case GObject/GInitially owned as they are a bit special to use.

svn path=/trunk/; revision=360

16 years agoObject is in GObject namespace.
Colin Walters [Wed, 13 Aug 2008 21:02:15 +0000 (21:02 +0000)]
Object is in GObject namespace.

2008-08-13  Colin Walters  <walters@verbum.org>

* tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
Object is in GObject namespace.

svn path=/trunk/; revision=359

16 years agoFix processing of functions from last commit.
Colin Walters [Wed, 13 Aug 2008 20:44:58 +0000 (20:44 +0000)]
Fix processing of functions from last commit.

2008-08-13  Colin Walters  <walters@verbum.org>

* giscanner/girparser.py: Fix processing of functions
from last commit.

svn path=/trunk/; revision=358

16 years agoParse more than just <class. Put aliases in a separate data structure
Colin Walters [Wed, 13 Aug 2008 20:36:15 +0000 (20:36 +0000)]
Parse more than just <class. Put aliases in a separate data structure

2008-08-13  Colin Walters  <walters@verbum.org>

* giscanner/girparser.py: Parse more than just <class.
* giscanner/glibtransformer.py: Put aliases in a separate
data structure since their name is not canonicall.
* giscanner/transformer.py: Handle resolving type names
from includes.

svn path=/trunk/; revision=357

16 years agoAllow multiple libraries Rename load_library to add_library, traverse over
Johan Dahlin [Wed, 13 Aug 2008 20:24:10 +0000 (20:24 +0000)]
Allow multiple libraries Rename load_library to add_library, traverse over

2008-08-13  Johan Dahlin  <johan@gnome.org>

    * tools/g-ir-scanner:
    Allow multiple libraries
    * giscanner/glibtransformer.py:
    Rename load_library to add_library, traverse over all libraries
    when trying to resolve a function

svn path=/trunk/; revision=356

16 years agoRecord typedefs as <alias> elements. Also attempt to look up types in
Colin Walters [Wed, 13 Aug 2008 16:10:09 +0000 (16:10 +0000)]
Record typedefs as <alias> elements. Also attempt to look up types in

2008-08-12  Colin Walters  <walters@verbum.org>

* giscanner/transformer.py: Record typedefs as <alias> elements.
  Also attempt to look up types in external namespaces.
* giscanner/girwriter.py: Write them.
* giscanner/glibtransformer.py: Rework resolver using real instanceof
checks.  Resolve interface methods and properties.
* tests/scanner/foo-object.h: Add a method with typedef.
* tests/scanner/Foo-expected.gir: Update.
* girepository/girnode.c: Debug tweaks.
* girepository/girparser.c: Make a first pass through the XML where we
record all the aliases.  This lets us resolve them as we go through the
second pass.
* gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
from gir-repository.

svn path=/trunk/; revision=355

16 years agoAlso transform object properties.
Colin Walters [Tue, 12 Aug 2008 19:20:43 +0000 (19:20 +0000)]
Also transform object properties.

2008-08-12  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Also transform object properties.

svn path=/trunk/; revision=354

16 years agopep8
Colin Walters [Tue, 12 Aug 2008 19:07:40 +0000 (19:07 +0000)]
pep8

svn path=/trunk/; revision=353

16 years agoAlso transform callbacks and structure field types. Update to expect
Colin Walters [Tue, 12 Aug 2008 19:06:34 +0000 (19:06 +0000)]
Also transform callbacks and structure field types. Update to expect

2008-08-12  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: Also transform callbacks
and structure field types.
* tests/scanner/Fooe-expected.gir: Update to expect correct
names for callbacks and structs.

svn path=/trunk/; revision=352

16 years agoHandle 'any'. Add test for void *.
Colin Walters [Tue, 12 Aug 2008 18:49:16 +0000 (18:49 +0000)]
Handle 'any'. Add test for void *.

2008-08-12  Colin Walters  <walters@verbum.org>

* girepository/girparser.c: Handle 'any'.
* tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
Add test for void *.

svn path=/trunk/; revision=351

16 years agoWe need to do type resolution in a second pass after we've seen all the
Colin Walters [Tue, 12 Aug 2008 18:36:33 +0000 (18:36 +0000)]
We need to do type resolution in a second pass after we've seen all the

2008-08-12  Colin Walters  <walters@verbum.org>

* giscanner/glibtransformer.py: We need to do type
resolution in a second pass after we've seen all the
enums, records, etc.

svn path=/trunk/; revision=350

16 years agoAdd enum return value. Transform function return types too.
Colin Walters [Tue, 12 Aug 2008 17:31:50 +0000 (17:31 +0000)]
Add enum return value. Transform function return types too.

2008-08-12  Colin Walters  <walters@verbum.org>

* tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
Add enum return value.
* giscanner/glibtransformer.py: Transform function return types
too.

svn path=/trunk/; revision=349

16 years agoDep .gir files on scanner sources too. Also remove @ so we see scanner
Colin Walters [Tue, 12 Aug 2008 17:13:59 +0000 (17:13 +0000)]
Dep .gir files on scanner sources too. Also remove @ so we see scanner

2008-08-12  Colin Walters  <walters@verbum.org>

* tests/scanner/Makefile.am: Dep .gir files on scanner
sources too.  Also remove @ so we see scanner invocations.

svn path=/trunk/; revision=348

16 years agoRemove usage of (GAPI-oriented) TypeTag in favor of GITypeTag from
Colin Walters [Tue, 12 Aug 2008 15:34:27 +0000 (15:34 +0000)]
Remove usage of (GAPI-oriented) TypeTag in favor of GITypeTag from

2008-08-12  Colin Walters  <walters@verbum.org>

* girepository/girparser.c, girepository/gtypelib.c,
girepository/gtypelib.h, girepository/girnode.c:
Remove usage of (GAPI-oriented) TypeTag in favor of
GITypeTag from girepository.h.

svn path=/trunk/; revision=347