Johan Dahlin [Mon, 20 Sep 2010 20:44:09 +0000 (17:44 -0300)]
[scanner] Support private/public directives
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=594125
Johan Dahlin [Mon, 20 Sep 2010 20:17:20 +0000 (17:17 -0300)]
[scanner] Add a Position class
Add a position class which will make it easier to
send filename/line/column information to the message
class.
Johan Dahlin [Mon, 20 Sep 2010 13:35:48 +0000 (10:35 -0300)]
[scanner] Only store types in cache store
Only store types that can be referenced in the cache store
this reduces the size of the serialized Gtk-3.0.gir in the store
from 5.7M to 366k on my system.
It also reduces the time it takes to create a gir in gtksourceview
by 35% and the time to run the warnings test by more than 50%
This also disables the cache for passthrough mode since it needs
access to the whole serialized tree.
Johan Dahlin [Mon, 20 Sep 2010 13:12:34 +0000 (10:12 -0300)]
Remove leftover, type is set above
Johan Dahlin [Mon, 20 Sep 2010 03:09:08 +0000 (00:09 -0300)]
[maintransformer] Make warning more robust
Instead of assuming that a parent node is always passed in,
make sure to handle that case.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629959
Johan Dahlin [Mon, 20 Sep 2010 03:05:30 +0000 (00:05 -0300)]
[message] Set file_positions to an empty list
So we can always pass it into len() without breaking
https://bugzilla.gnome.org/show_bug.cgi?id=629959
Johan Dahlin [Sun, 19 Sep 2010 19:38:34 +0000 (16:38 -0300)]
Include proper line number for scope warning
Johan Dahlin [Sun, 19 Sep 2010 19:37:42 +0000 (16:37 -0300)]
[sourcescanner] Rewrite linemarks parser
Rewrite the pre-processor linemark parser so we end
up with accurate filenames and linenumbers.
Johan Dahlin [Sun, 19 Sep 2010 15:14:26 +0000 (12:14 -0300)]
Include proper filename and lineno in doc warning
Johan Dahlin [Sun, 19 Sep 2010 15:05:08 +0000 (12:05 -0300)]
[annotationparser] Preserve line numbers
Make sure that the linenumbers of the documentation blocks
and tags are preserved and accurate so they can be used in
warning messages. Also:
* Rename Options to DocOptions for consistency
* Add a reference to the docblock a tag and an option belong to
Johan Dahlin [Sun, 19 Sep 2010 14:33:38 +0000 (11:33 -0300)]
Save the line number of a source comment
Johan Dahlin [Sat, 18 Sep 2010 16:44:26 +0000 (13:44 -0300)]
[maintransformer] Do not warn for returns and varargs
Add a few more special case parameters which we will
not warn if they don't exist as a parameter
Tomeu Vizoso [Fri, 17 Sep 2010 13:05:16 +0000 (15:05 +0200)]
Set c_symbol_prefix in the GVariant special case
Tomeu Vizoso [Sat, 11 Sep 2010 12:25:27 +0000 (14:25 +0200)]
Make Full the default transfer for returned foreign structs.
For that we also need to read the annotations for foreign structs
before guessing the transfer mode of return values.
https://bugzilla.gnome.org/show_bug.cgi?id=629188
Johan Dahlin [Thu, 16 Sep 2010 21:24:16 +0000 (18:24 -0300)]
Update AUTHORS
Johan Dahlin [Thu, 16 Sep 2010 21:21:38 +0000 (18:21 -0300)]
Update CONTRIBUTORS
Colin Walters [Thu, 16 Sep 2010 17:08:32 +0000 (13:08 -0400)]
build: post-release version bump
Colin Walters [Thu, 16 Sep 2010 16:59:26 +0000 (12:59 -0400)]
Release 0.9.6
Johan Dahlin [Thu, 16 Sep 2010 13:27:35 +0000 (10:27 -0300)]
[maintransformer] Do not warn for vararg docs
Allow varargs "..." to be documented without warning
https://bugzilla.gnome.org/show_bug.cgi?id=629759
Johan Dahlin [Wed, 15 Sep 2010 02:13:17 +0000 (23:13 -0300)]
Add a warning for unresolved types
Warn when using an annotation which will end up as
unresolved.
https://bugzilla.gnome.org/show_bug.cgi?id=629004
Simón Pena [Wed, 15 Sep 2010 18:44:30 +0000 (20:44 +0200)]
gio-2.0.c: Add missing annotations
Add 'transfer mode' annotations for GAction, GActionGroup, GAppInfo,
GApplication and GAsyncInitable
https://bugzilla.gnome.org/show_bug.cgi?id=629790
Colin Walters [Wed, 15 Sep 2010 20:45:48 +0000 (16:45 -0400)]
scanner: Add temporary workaround for GStreamer
Also document/bug link the other workarounds; just made up a
convention for ## WORKAROUND ##
See: https://bugzilla.gnome.org/show_bug.cgi?id=550616
Johan Dahlin [Wed, 15 Sep 2010 20:46:27 +0000 (17:46 -0300)]
NEWS->git shortlog
Pavel Holejsovsky [Fri, 10 Sep 2010 12:33:15 +0000 (14:33 +0200)]
Update annotations for GIRepository.Repository.
https://bugzilla.gnome.org/show_bug.cgi?id=628753
Pavel Holejsovsky [Fri, 3 Sep 2010 13:20:43 +0000 (15:20 +0200)]
Box GIBaseInfo structure.
This puts it into typelibs and allows to use it safely from scripts.
https://bugzilla.gnome.org/show_bug.cgi?id=628753
Johan Dahlin [Tue, 14 Sep 2010 22:31:46 +0000 (19:31 -0300)]
Add a parameter mismatch warning
https://bugzilla.gnome.org/show_bug.cgi?id=629708
Johan Dahlin [Tue, 14 Sep 2010 22:31:26 +0000 (19:31 -0300)]
[gio] Fix a broken doc string
https://bugzilla.gnome.org/show_bug.cgi?id=629708
Johan Dahlin [Tue, 14 Sep 2010 21:49:15 +0000 (18:49 -0300)]
[warningtester] Do not sort expected warnings
Instead just take them in the order they are in the file
Johan Dahlin [Tue, 14 Sep 2010 21:48:51 +0000 (18:48 -0300)]
[warningtester] Invert expected/actual
It makes it a little less confusing reading the error messages
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