Colin Walters [Tue, 14 Sep 2010 17:08:50 +0000 (13:08 -0400)]
scanner: Add c_type for callbacks
We weren't doing this consistently, which broke nsname != cprefix
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=629683
Colin Walters [Tue, 14 Sep 2010 17:05:48 +0000 (13:05 -0400)]
tests: Don't build regress if we don't HAVE_CAIRO
https://bugzilla.gnome.org/show_bug.cgi?id=629359
Colin Walters [Tue, 14 Sep 2010 16:31:58 +0000 (12:31 -0400)]
typelib compiler: Passthrough <doc> at any point
This should have been in the previous commit.
Colin Walters [Tue, 14 Sep 2010 16:23:59 +0000 (12:23 -0400)]
scanner: Parse annotations for typedefs
* Explicitly check for ast.Alias in annotation pass
* Add "generic" attribs handling for aliases like docs, introspectable=0
etc.
https://bugzilla.gnome.org/show_bug.cgi?id=629668
Colin Walters [Tue, 14 Sep 2010 15:19:11 +0000 (11:19 -0400)]
scanner: Handle G_TYPE_HASH_TABLE
Our Type creation from GType names didn't know how to handle
the GObject boxeds for GHashTable, GArray etc.
Colin Walters [Mon, 13 Sep 2010 22:53:32 +0000 (18:53 -0400)]
scanner: Consistently use ctype for documentation blocks
The "c_name" is really a fallback; use "ctype" if available which
matches the C structure name.
This fixes scanning at least TelepathyGLib where the namespace is
different from the C prefix "Tp".
Colin Walters [Mon, 13 Sep 2010 22:05:35 +0000 (18:05 -0400)]
scanner: Add a test for G_TYPE_ARRAY and (element-type uint)
Similar to TelepathyGlib.
Colin Walters [Mon, 13 Sep 2010 19:31:49 +0000 (15:31 -0400)]
scanner: Add GType for GVariant
This needs a manual override since GVariant is a fundamental.
Colin Walters [Mon, 13 Sep 2010 18:44:21 +0000 (14:44 -0400)]
scanner: Bomb out more obviously if a namespace contains class name = namespace
If you pass --namespace=FooBar, and have a GObject named FooBar, we'd
assert. Give the user an obvious error message.
Tomeu Vizoso [Mon, 13 Sep 2010 15:57:41 +0000 (17:57 +0200)]
Annotate g_variant_builder_end
Johan Dahlin [Mon, 13 Sep 2010 15:54:02 +0000 (12:54 -0300)]
Add a few notes to HACKING
Johan Dahlin [Mon, 13 Sep 2010 13:35:44 +0000 (10:35 -0300)]
[test] Fix a leftover rename
The gir name got renamed, update the rules to reflect that
Johan Dahlin [Mon, 13 Sep 2010 13:35:25 +0000 (10:35 -0300)]
[test] Add typelib/girs to CLEANFILES
So they are removed during uninstall
Johan Dahlin [Mon, 13 Sep 2010 13:35:01 +0000 (10:35 -0300)]
[test] Use INTROSPECTION_SCANNER
Since it sets the PYTHONPATH properly
Johan Dahlin [Mon, 13 Sep 2010 13:33:53 +0000 (10:33 -0300)]
Do not use install-data-local
Instead use xxxdir + xxx_DATA which uninstalls correctly
Johan Dahlin [Mon, 13 Sep 2010 13:33:06 +0000 (10:33 -0300)]
Do not require .git to be present
If .git is not present, do not require the pre-commit
hook to be present either
Johan Dahlin [Mon, 13 Sep 2010 12:48:07 +0000 (09:48 -0300)]
[tests] Add to EXTRA_DIST
Johan Dahlin [Mon, 13 Sep 2010 12:44:24 +0000 (09:44 -0300)]
[tests] Remove left over variable
So make dist passes again
Tomeu Vizoso [Sat, 11 Sep 2010 15:01:55 +0000 (17:01 +0200)]
Add annotation for g_variant_get_string
Colin Walters [Fri, 10 Sep 2010 19:01:54 +0000 (15:01 -0400)]
scanner: Readd support for --strip-prefix
We still really do want people to port to --identifier-prefix
(and --symbol-prefix if necessary) because there's no ambiguity.
Before the way we were casefolding was just a terrible mess.
Colin Walters [Fri, 10 Sep 2010 17:14:32 +0000 (13:14 -0400)]
scanner: Allow gstreamer's GParamSpecMiniObject through
It's wrong, but they can't change it now, so work around it here.
https://bugzilla.gnome.org/show_bug.cgi?id=550616
https://bugzilla.gnome.org/show_bug.cgi?id=629306
Colin Walters [Fri, 10 Sep 2010 14:49:44 +0000 (10:49 -0400)]
build: Also use $DESTDIR for regress.[ch]
Colin Walters [Thu, 9 Sep 2010 22:38:46 +0000 (18:38 -0400)]
build: Use $DESTDIR in install-data-local
Owen W. Taylor [Thu, 9 Sep 2010 22:19:38 +0000 (18:19 -0400)]
gio-2.0.c: Add more annotations for GVolume and GVolumeMonitor
Add annotations fixing warnings in in GVolume and GVolumeMonitor
Colin Walters [Thu, 9 Sep 2010 21:51:51 +0000 (17:51 -0400)]
build: Update EXTRA_DIST, fix random stray + in Makefile
Colin Walters [Thu, 9 Sep 2010 21:51:37 +0000 (17:51 -0400)]
gio: annotate g_volume_get_drive
Colin Walters [Thu, 9 Sep 2010 19:15:12 +0000 (15:15 -0400)]
scanner: Skip functions with leading '_'
Multiple modules have '_' prefixed symbols in "public" headers
meaning "don't use this in your app".
Colin Walters [Thu, 9 Sep 2010 19:09:39 +0000 (15:09 -0400)]
scanner: Mark '_'-prefixed fields as introspectable=0
Typically these contain reserved callbacks; in any case we take
a leading underscore to mean 'private'.
Tomeu Vizoso [Thu, 9 Sep 2010 14:33:25 +0000 (16:33 +0200)]
Foreign structs can have constructors
Colin Walters [Thu, 9 Sep 2010 14:34:31 +0000 (10:34 -0400)]
gio: Annotate a few more functions
Tomeu Vizoso [Thu, 9 Sep 2010 14:04:08 +0000 (16:04 +0200)]
Use Node.ctype instead of Node.c_name when looking up comment blocks
We were missing some annotation blocks for structs in typelibs with
a name different to the C prefix.
Colin Walters [Thu, 9 Sep 2010 13:54:48 +0000 (09:54 -0400)]
gio: Annotate g_mount_get_drive
Colin Walters [Wed, 8 Sep 2010 19:08:19 +0000 (15:08 -0400)]
scanner: Unify parsing of compounds
Avoids duplicate code.
Colin Walters [Thu, 9 Sep 2010 13:54:30 +0000 (09:54 -0400)]
scanner: Fix style for previous commit
Colin Walters [Thu, 9 Sep 2010 13:26:58 +0000 (09:26 -0400)]
gio: annotate g_mount_get_volume
Saikiran Madugula [Tue, 7 Sep 2010 19:48:01 +0000 (20:48 +0100)]
Print helpful error message if --strip-prefix option is used.
Colin Walters [Wed, 8 Sep 2010 15:31:02 +0000 (11:31 -0400)]
scanner: Kill glibast
It was a stupid abstraction split, we only support GObject.
* Clean up how we handle c:type - we only set it if we've actually
seen a corresponding structure.
* Add a warning if we don't see the structure typedef for an
interface, since that's pretty bogus. (And fix regress.h to have
one)
* Rename the "type_name" attribute internally to "gtype_name"
for clarity.
Colin Walters [Wed, 8 Sep 2010 16:18:51 +0000 (12:18 -0400)]
scanner: Don't mark as constructors things that are more obviously methods
If the first parameter matches the origin, don't scan as a constructor.
Happened in practice with meta_screen_append_new_workspace from mutter.
Colin Walters [Wed, 8 Sep 2010 15:56:25 +0000 (11:56 -0400)]
scanner: Fix object hierarchy traversal in constructor scanning
We weren't properly hitting GObject.
Colin Walters [Wed, 8 Sep 2010 13:58:32 +0000 (09:58 -0400)]
scanner: Don't attempt to pair methods/constructors with foreign namespaces
See test case, hit in practice in gnome-shell.
Florian Müllner [Wed, 8 Sep 2010 11:13:13 +0000 (13:13 +0200)]
Add missing annotations
Add some more (transfer full) annotations left out in commit cd0de25.
Owen W. Taylor [Tue, 7 Sep 2010 23:36:58 +0000 (19:36 -0400)]
Handle casing better for constants
Instead of handling constants by lower-casing them, stripping the
lower-case prefix and upper-casing them again, leave them in the
original case and check against upper-cased versions of
namespace.symbol_prefixes.
Wwe detect what version to test against by looking at the first character
of the identifier, so we assume that --symbol-prefix options are always
in lowercase. If that needs to be relaxed, then we'll have to check all
symbols against both sets of prefixes.
Add tests for constants to Regress.h and fix tests/warn/unresolved-type.h
for a warning message that improved with this change.
https://bugzilla.gnome.org/show_bug.cgi?id=629007
Owen W. Taylor [Tue, 7 Sep 2010 21:12:02 +0000 (17:12 -0400)]
Add missing annotations to GLib and Gio
Add (transfer full) and (array zero-terminated=1) to various GLib
and Gio functions.
Colin Walters [Tue, 7 Sep 2010 19:13:06 +0000 (15:13 -0400)]
scanner: Automatically skip callables which contain a skipped node
For legacy library author convenience, propagate (skip) on e.g.
structures to all callables which use them.
Johan Dahlin [Tue, 7 Sep 2010 17:56:57 +0000 (14:56 -0300)]
[girepository] Add a missing include
Colin Walters [Tue, 7 Sep 2010 17:56:37 +0000 (13:56 -0400)]
tests: Update expected gir for previous commits
Owen W. Taylor [Tue, 7 Sep 2010 16:44:38 +0000 (12:44 -0400)]
Go back to previously handling of static methods on non-GObjects
Previous to the scanner rewrite, static methods were only handled
for GObject subclasses. Go back to that for full compatibility
with existing bindings and code. See bug 572408 for the topic
of changing the API.
The code for writing out static methods for records and boxed is
left as future proofing, and the same handling is added for
interfaces.
https://bugzilla.gnome.org/show_bug.cgi?id=628967
John (J5) Palmieri [Tue, 7 Sep 2010 16:52:22 +0000 (12:52 -0400)]
trick scanner into marking a symbol as a function instead of a method
Colin Walters [Tue, 7 Sep 2010 16:34:16 +0000 (12:34 -0400)]
scanner: Fall back to searching all includes when uncertain
The scanner by default tries hard to ensure that we know immediately
from seeing an identifier "FooBarBaz" that the namespace is "Foo".
But libraries using --accept-unprefixed here screws this over.
Potentially we could add --unstripped-identifier-prefix, but it's
ugly. The best long term fix is to fix the namespacing in the library.
Johan Dahlin [Tue, 7 Sep 2010 15:14:19 +0000 (12:14 -0300)]
Revert "[scanner] Revert static method pairing"
This reverts commit
144cb10d51888a9565721088d2b61794468742e9.
Joe Marcus Clarke [Tue, 7 Sep 2010 14:42:49 +0000 (11:42 -0300)]
[girepository] Support strict align platforms
Such as Sparc64.
https://bugzilla.gnome.org/show_bug.cgi?id=620769
Johan Dahlin [Tue, 7 Sep 2010 14:34:32 +0000 (11:34 -0300)]
[scanner] Make fatal warnings exit
Even if warnings are not enabled
Johan Dahlin [Tue, 7 Sep 2010 14:34:15 +0000 (11:34 -0300)]
[scanner] Fundamental problems are not fatal
Colin Walters [Tue, 7 Sep 2010 13:52:54 +0000 (09:52 -0400)]
scanner: Add various static debug hooks in GI_SCANNER_DEBUG
For backwards compat, keep the presence of the environment
variable at all to mean "exception".
Also start a HACKING file.
Johan Dahlin [Tue, 7 Sep 2010 13:39:55 +0000 (10:39 -0300)]
[scanner] Make it compatible with Python 2.5 again
with statement is available in python 2.5, but only
if you import it from __future__
Alan Knowles [Tue, 7 Sep 2010 01:53:47 +0000 (09:53 +0800)]
Enhancement #612253 - add configure --with-glib-src=PATH
This enables glib documentation to be added to the generated gir using the original source
eg. --with-glib-src=/usr/src/glib
Johan Dahlin [Mon, 6 Sep 2010 20:09:05 +0000 (17:09 -0300)]
Revert "Fix non-source-dir build failure"
This reverts commit
26c66df6bdc3e3ce836c7462958fa38cc3e1062f.
Johan Dahlin [Mon, 6 Sep 2010 20:02:06 +0000 (17:02 -0300)]
[scanner] Revert static method pairing
Static method pairing changes the API and should be futher
discussed in https://bugzilla.gnome.org/show_bug.cgi?id=572408
Johan Dahlin [Mon, 6 Sep 2010 20:02:00 +0000 (17:02 -0300)]
[scanner] Clarify exception message
Theppitak Karoonboonyanan [Fri, 2 Jul 2010 11:19:57 +0000 (18:19 +0700)]
Fix non-source-dir build failure
Make sure all giscanner python files are available in builddir, so the module
is invokable during build time.
https://bugzilla.gnome.org/show_bug.cgi?id=571591
Signed-off-by: Theppitak Karoonboonyanan <thep@linux.thai.net>
Johan Dahlin [Mon, 6 Sep 2010 16:05:26 +0000 (13:05 -0300)]
[pep8] Skip emacs backup files
Johan Dahlin [Mon, 6 Sep 2010 14:21:39 +0000 (11:21 -0300)]
[scanner] Remove a bunch of unused functions
Philip Withnall [Thu, 2 Sep 2010 20:23:21 +0000 (21:23 +0100)]
Bug 628594 — Handle slashes when building _gir_name
Convert slashes to underscores in _gir_name so that non-recursive builds can
use Makefile.introspection. Closes: bgo#628594
Tomeu Vizoso [Mon, 6 Sep 2010 09:23:01 +0000 (11:23 +0200)]
Remove extra lines from the license comment
Steve Frécinaux [Sun, 29 Aug 2010 20:48:54 +0000 (22:48 +0200)]
[VFuncBlob] Unknown struct offset should be 0xFFFF
Documentation says about g_vfunc_get_offset():
"Obtain the offset of the function pointer in the class struct.
The value 0xFFFF indicates that the struct offset is unknown."
But g-ir-compiler did set the value to 0 when the offset is unknown.
This patch fixes it.
https://bugzilla.gnome.org/show_bug.cgi?id=628270
Funda Wang [Mon, 6 Sep 2010 04:42:53 +0000 (01:42 -0300)]
[tests] Link libfoo against girepository
To avoid undefined references to gi_cclosure_marshal_generic
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=625995
Johan Dahlin [Sun, 5 Sep 2010 14:19:57 +0000 (11:19 -0300)]
Update CONTRIBUTORS
Pavel Holejsovsky [Sun, 5 Sep 2010 13:58:31 +0000 (10:58 -0300)]
[girepository] Document GIStructInfo & GIUnionInfo
https://bugzilla.gnome.org/show_bug.cgi?id=628753
Colin Walters [Fri, 3 Sep 2010 23:30:42 +0000 (19:30 -0400)]
scanner: Add backwards compatibility with some annotation types
These were listed on the wiki up until just now...
Colin Walters [Fri, 3 Sep 2010 23:27:38 +0000 (19:27 -0400)]
scanner: Don't clear out ctype on annotation strings if we fail to resolve
We don't have an "annotation source" for Type right now; so as a quick
hack, stuff it in the ctype but only if we fail to resolve.
Colin Walters [Fri, 3 Sep 2010 22:09:35 +0000 (18:09 -0400)]
scanner: Fix previous rename-to handling commit
Colin Walters [Fri, 3 Sep 2010 22:07:16 +0000 (18:07 -0400)]
scanner: Fix rename-to handling
We were writing the attributes backwards. Also actually use
the attribute in the typelib generation.
Colin Walters [Fri, 3 Sep 2010 21:11:24 +0000 (17:11 -0400)]
scanner: Fix misuse of message.warn_symbol
The "symbol" is actually just a string identifier, not
a real symbol. We already added the file positions when
parsing earlier.
Colin Walters [Fri, 3 Sep 2010 19:46:49 +0000 (15:46 -0400)]
scanner: Readd --warn-error to tests, fix test case
Commit
b6fb70f9 wrongly disabled fatal warnings - in fact there
is a way to make this test case work, and it was a bug in the
scanner not processing virtual function annotations correctly.
Add a different test case for un-named parameters that doesn't
have a callback.
Johan Dahlin [Fri, 3 Sep 2010 17:36:10 +0000 (14:36 -0300)]
Remove old everything.[ch]
Colin Walters [Fri, 3 Sep 2010 16:22:47 +0000 (12:22 -0400)]
scanner: Actually exit with code 1 on fatal warnings again
Tomeu Vizoso [Fri, 3 Sep 2010 08:16:05 +0000 (10:16 +0200)]
Fix typo (reported by philn-tp)
Johan Dahlin [Fri, 3 Sep 2010 02:35:09 +0000 (23:35 -0300)]
[scanner] Move a function from transformer to ast
It doesn't use any internal state, so it can easily
be moved over to the type as a factory function
Johan Dahlin [Fri, 3 Sep 2010 02:28:43 +0000 (23:28 -0300)]
[test] Add warning tests for enums
Johan Dahlin [Fri, 3 Sep 2010 02:28:14 +0000 (23:28 -0300)]
[tests] Handle multiple errors per file better
Colin Walters [Thu, 2 Sep 2010 21:40:54 +0000 (17:40 -0400)]
girepository: Call init_globals()
This fixes the search path initialization if g_irepository_require
is called first thing.
Johan Dahlin [Thu, 2 Sep 2010 20:36:09 +0000 (17:36 -0300)]
[scannermain] Use mkstemp
Since the delete parameter of NamedTemporaryFile is only
available on python 2.6
Johan Dahlin [Thu, 2 Sep 2010 20:21:07 +0000 (17:21 -0300)]
[giscanner] Make pyflakes happy
Johan Dahlin [Thu, 2 Sep 2010 20:18:35 +0000 (17:18 -0300)]
[tests] Add callback scope tests
And fix a bug in the warning call in the scanner
Johan Dahlin [Thu, 2 Sep 2010 19:59:48 +0000 (16:59 -0300)]
[tests] Rework tester to be executed once per test
Instead of running all tests in the same instance
Johan Dahlin [Thu, 2 Sep 2010 19:42:15 +0000 (16:42 -0300)]
[tests] Add test infrastructure for warnings
Add an infrastructure for testing warnings, add two
examples how to verify warnings
Johan Dahlin [Thu, 2 Sep 2010 19:41:34 +0000 (16:41 -0300)]
[scanner] Improve an error message, include lineno
Johan Dahlin [Thu, 2 Sep 2010 18:52:28 +0000 (15:52 -0300)]
[message] exit after calling message.fatal()
Colin Walters [Thu, 2 Sep 2010 16:19:21 +0000 (12:19 -0400)]
scanner: Associate constructors with correct class
Colin Walters [Thu, 2 Sep 2010 15:47:08 +0000 (11:47 -0400)]
scanner: Add --include-uninstalled
We need a way to add a .gir file, without also attempting to load
the pkg-config file for it (since it may not be installed yet).
Example: clutter builds multiple .gir files, Cally-1.0 depends on
Clutter-1.0.
Johan Dahlin [Thu, 2 Sep 2010 15:21:38 +0000 (12:21 -0300)]
[scannermain] Create a new option parser
Create a new option parser when parsing pkg-config output
Johan Dahlin [Thu, 2 Sep 2010 15:09:52 +0000 (12:09 -0300)]
[message] Add an output parameter
Johan Dahlin [Thu, 2 Sep 2010 14:44:47 +0000 (11:44 -0300)]
[scanner] Remove old logging functions
And migrate over to using the message logger
Johan Dahlin [Thu, 2 Sep 2010 14:44:27 +0000 (11:44 -0300)]
[scanner] Move over remaining callsites to message
Move the remaining callsites over to the new message
module
Johan Dahlin [Thu, 2 Sep 2010 14:07:01 +0000 (11:07 -0300)]
[scanner] Simplify strip_identifer/strip_symbol
The strip_* functions are problematic since they
have a fatal switch which determines if the message should
kill the scanner. Change the api to make it easier to extend
with other logging categories and move over the callsites to
use the new message module
Johan Dahlin [Thu, 2 Sep 2010 14:04:58 +0000 (11:04 -0300)]
[scanner] add a message module
This module will be used to report warnings, which
doesn't explicitly depend on the transformer instance.
Colin Walters [Thu, 2 Sep 2010 15:16:20 +0000 (11:16 -0400)]
scanner: Don't throw an exception on unresolved types
Instead we'll warn in the introspectablepass.
Johan Dahlin [Thu, 2 Sep 2010 12:10:30 +0000 (09:10 -0300)]
[scanner] Allow nameless parameters for vfuncs
Add a test case and disable fatal warnings since there's
currently no way to avoid the warning(s)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=628567
Johan Dahlin [Thu, 2 Sep 2010 11:59:51 +0000 (08:59 -0300)]
[scanner] Move namespace out of Transformer
Johan Dahlin [Thu, 2 Sep 2010 05:27:38 +0000 (02:27 -0300)]
[transformer] Don't pass around source scanner
Pass around its symbols instead