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
Johan Dahlin [Thu, 2 Sep 2010 05:23:28 +0000 (02:23 -0300)]
[annotationparser] Send in comments directly
Johan Dahlin [Thu, 2 Sep 2010 04:52:45 +0000 (01:52 -0300)]
[scanner] Create the cachestore in the transformer
Johan Dahlin [Thu, 2 Sep 2010 00:34:44 +0000 (21:34 -0300)]
[scanner] Remove support for xpath assertions
It has been broken for a while and nobody uses it.
Johan Dahlin [Thu, 2 Sep 2010 00:31:37 +0000 (21:31 -0300)]
[scannermain] Hide a couple of private options
Johan Dahlin [Thu, 2 Sep 2010 00:26:37 +0000 (21:26 -0300)]
[scannermain] Use _error() consistently
Johan Dahlin [Thu, 2 Sep 2010 00:21:46 +0000 (21:21 -0300)]
[scannermain] Simplify writing of output data
Make the common case (no validation) much simple and
add error checking while writing the output
Johan Dahlin [Thu, 2 Sep 2010 00:07:10 +0000 (21:07 -0300)]
[scannermain] Use return instead of sys.exit()
Johan Dahlin [Wed, 1 Sep 2010 23:54:16 +0000 (20:54 -0300)]
[scannermain] Use shutil.move instead of os.rename
In case that the temporary directory and the output directory
is not on the same filesystem.
Johan Dahlin [Wed, 1 Sep 2010 23:53:32 +0000 (20:53 -0300)]
[scannermain] Write to tempdir if needed
If the current directory is not writable nor if
the directory of the output file isn't, use the standard
temporayr directory as a last resort.
Johan Dahlin [Wed, 1 Sep 2010 23:53:08 +0000 (20:53 -0300)]
[scannermain] Add - as an alias for stdout
Johan Dahlin [Wed, 1 Sep 2010 23:45:06 +0000 (20:45 -0300)]
[scannermain] Sort imports alphabetically
Colin Walters [Wed, 1 Sep 2010 22:20:06 +0000 (18:20 -0400)]
scanner: Also look for enums and bitfields with GType names
Colin Walters [Wed, 1 Sep 2010 21:55:30 +0000 (17:55 -0400)]
scanner: Better handling of GType names
Before, Type instances could be indeterminate, holding a "ctype",
which means "This is some unresolved string". However, we also get
data from GType, so add gtype_name as another indeterminate state.
Clean up how we create and resolve Type instances from GType data.
Colin Walters [Wed, 1 Sep 2010 19:54:52 +0000 (15:54 -0400)]
girepository: Fix compatibility typedefs
Colin Walters [Wed, 1 Sep 2010 19:38:36 +0000 (15:38 -0400)]
scanner: Skipped nodes aren't introspectable either
Colin Walters [Wed, 1 Sep 2010 19:23:36 +0000 (15:23 -0400)]
tests: Move FooSkippable to public headers to test comments in headers
Colin Walters [Wed, 1 Sep 2010 18:25:46 +0000 (14:25 -0400)]
scanner: Don't parse constructors on non-registered, warn for return values
First, we can't support constructors on unregistered types.
Second, warn if we see a return value of an unregistered.
Colin Walters [Wed, 1 Sep 2010 16:55:26 +0000 (12:55 -0400)]
scanner: Cosmetic cleanup to namespace parsing functions
For symmetry with split_ctype_namespaces, have add split_csymbol_namespaces
too, and simplify the implementation of split_csymbol.
Colin Walters [Wed, 1 Sep 2010 16:39:52 +0000 (12:39 -0400)]
scanner: Refactor name parsing
First, merge the implementations of parsing both identifiers and
symbols, since they had more in common than they had differences.
Secondly, fix the logic for priority of --accept-unprefixed in
the presence of unprefixed includes. The current namespace should
win. An example of this is mutter which has unprefixed public
symbols, but also includes xlib, which has no prefix.
Third, for unprefixed namespaces, actually look at the contents
rather than just blindly returning them. This is a bit of a hack,
but better than the alternatives.
Colin Walters [Wed, 1 Sep 2010 16:19:27 +0000 (12:19 -0400)]
scanner: Add --accept-unprefixed
This is necessary for Mutter right now.
Colin Walters [Tue, 31 Aug 2010 22:12:18 +0000 (18:12 -0400)]
scanner: Avoid infinite loop in constructor check
Johan Dahlin [Tue, 31 Aug 2010 20:50:44 +0000 (17:50 -0300)]
[GIRepository] Add missing transfer and skip
Johan Dahlin [Tue, 31 Aug 2010 20:36:06 +0000 (17:36 -0300)]
[GIRepository] Rename GTypelib to GITypelib
Keep a typedef for backwards compatibility, until
the major bindings has moved over.
Johan Dahlin [Tue, 31 Aug 2010 20:33:06 +0000 (17:33 -0300)]
[GIRepository] Rename GArgument to GIArgument
Keep a typedef for backwards compatibility, until
the major bindings has moved over.
Johan Dahlin [Tue, 31 Aug 2010 20:26:17 +0000 (17:26 -0300)]
[girepository] Add a couple of missing transfer
Colin Walters [Tue, 31 Aug 2010 20:20:25 +0000 (16:20 -0400)]
configure: Bump version to 0.9.5
No official release yet, but this allows consumer configure.ac
to check for a new enough version.
Colin Walters [Tue, 31 Aug 2010 20:17:45 +0000 (16:17 -0400)]
makefile: Fix name of maintransformer
Colin Walters [Wed, 25 Aug 2010 21:50:54 +0000 (17:50 -0400)]
scanner: Filter interface prerequisites and class implements for unknown types
This works around the hidden GtkFileChooserEmbed interface of GtkFileChooserWidget.
Colin Walters [Wed, 25 Aug 2010 19:55:25 +0000 (15:55 -0400)]
scanner: Add a hack for AtkAttributeSet
Colin Walters [Wed, 25 Aug 2010 18:19:29 +0000 (14:19 -0400)]
scanner: Better handling of empty namespace prefix for X
Add namespacing prefixes to the static .gir files. Support the empty
prefix, as is needed for xlib.
Colin Walters [Wed, 25 Aug 2010 17:14:57 +0000 (13:14 -0400)]
scanner: Avoid internal invalid Type instances from parents
We were adding a trailing ',' in the parent string, clean that up; and
don't attempt to create a Type from the empty string.
Colin Walters [Tue, 24 Aug 2010 21:31:22 +0000 (17:31 -0400)]
major: Fix parent for GInitiallyUnowned
Colin Walters [Mon, 23 Aug 2010 18:27:44 +0000 (14:27 -0400)]
gimarshallingtests: Fix (inout) test cases, drop unsupported API
First, (inout) doesn't mean "mutates the argument". It means "I take an
input argument here, and will also return a *new* argument in this position."
C API which mutates e.g. structures is just unannotated. Mutation of
containers like GList, GHashTable is simply disallowed.
Secondly, we can't support C API which returns non-boxed structures with
a transfer other than (none). The scanner will warn about this in the future.
Colin Walters [Fri, 20 Aug 2010 13:57:13 +0000 (09:57 -0400)]
tests: A few fixes for building
Colin Walters [Thu, 19 Aug 2010 20:41:12 +0000 (16:41 -0400)]
tests: Readd gimarshallingtests.[ch]
For backwards compatibility with tests, for now resurrect these
test cases (also, fix the namespacing on them while we're here).
Like Everything, these get installed in source form.