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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Johan Dahlin [Wed, 20 Aug 2008 19:26:20 +0000 (19:26 +0000)]
Install GObject.typelib
svn path=/trunk/; revision=423
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
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
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
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
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
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
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
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
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
Johan Dahlin [Wed, 20 Aug 2008 12:40:39 +0000 (12:40 +0000)]
Update array tests
svn path=/trunk/; revision=413
Johan Dahlin [Wed, 20 Aug 2008 12:38:12 +0000 (12:38 +0000)]
Re-wrap
svn path=/trunk/; revision=412
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
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
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
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
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
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
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
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
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
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
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
Colin Walters [Tue, 19 Aug 2008 21:20:10 +0000 (21:20 +0000)]
Type checking rework
svn path=/trunk/; revision=400
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
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
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
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
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
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
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
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
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
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
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
Johan Dahlin [Sat, 16 Aug 2008 21:57:59 +0000 (21:57 +0000)]
make it compile again...
svn path=/trunk/; revision=388
Johan Dahlin [Sat, 16 Aug 2008 21:55:06 +0000 (21:55 +0000)]
Reorder
svn path=/trunk/; revision=387
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Johan Dahlin [Wed, 13 Aug 2008 21:26:16 +0000 (21:26 +0000)]
remote two prints
svn path=/trunk/; revision=361
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
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
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
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
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
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
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
Colin Walters [Tue, 12 Aug 2008 19:07:40 +0000 (19:07 +0000)]
pep8
svn path=/trunk/; revision=353
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
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
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
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
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
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