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.
Colin Walters [Tue, 27 Jul 2010 10:16:37 +0000 (06:16 -0400)]
Major rewrite
One of the first big changes in this rewrite is changing the Type
object to have separate target_fundamental and target_giname properties,
rather than just being strings. Previously in the scanner, it was
awful because we used heuristics around strings.
The ast.py is refactored so that not everything is a Node - that
was a rather useless abstraction. Now, only things which can have
a GIName are Node. E.g. Type and Field are no longer Node.
More things were merged from glibast.py into ast.py, since it isn't
a very useful split.
transformer.py gains more intelligence and will e.g. turn GLib.List
into a List() object earlier. The namespace processing is a lot
cleaner now; since we parse the included .girs, we know the C
prefix for each namespace, and have functions to parse both
C type names (GtkFooBar) and symbols gtk_foo_bar into their
symbols cleanly. Type resolution is much, much saner because
we know Type(target_giname=Gtk.Foo) maps to the namespace Gtk.
glibtransformer.py now just handles the XML processing from the dump,
and a few miscellaneous things.
The major heavy lifting now lives in primarytransformer.py, which
is a combination of most of annotationparser.py and half of
glibtransformer.py.
annotationparser.py now literally just parses annotations; it's
no longer in the business of e.g. guessing transfer too.
finaltransformer.py is a new file which does post-analysis for
"introspectability" mainly.
girparser.c is fixed for some introspectable=0 processing.
Colin Walters [Tue, 31 Aug 2010 20:04:30 +0000 (16:04 -0400)]
pep8: Update to 99 length lines
69 is just too short for a compiler with long error messages and
nested code.
Colin Walters [Thu, 19 Aug 2010 13:31:47 +0000 (09:31 -0400)]
tests/scanner: Update annotations and tests
First of all, add missing (transfer) annotations that will be
required by the new scanner.
Other changes:
Don't use the (type bitfield) hack; the new scanner will not accept it.
Use shifts in the flag constants instead.
Use typedefs consistently for structures.
Drop scanning of anonymous structure/union members.
Colin Walters [Thu, 22 Jul 2010 01:06:17 +0000 (21:06 -0400)]
Use GLib types consistently
Rather than have the scanner/parser handle both e.g. "glong" and
"long", simply use the GLib types everywhere.
This commit adds TYPE_LONG_LONG and TYPE_LONG_DOUBLE to the
scanner types; however, rather than add them to the typelib,
they're just marked as not-introspectable.
Colin Walters [Tue, 3 Aug 2010 17:01:35 +0000 (13:01 -0400)]
Move alias target to <type>
This makes type parsing more uniform.
Delete the typedef for GSList in foo.h - that's not
supported anymore, or at least for now.
Colin Walters [Wed, 18 Aug 2010 23:38:05 +0000 (19:38 -0400)]
tests: Fix namespacing for BarApp (should be just Bar)
Colin Walters [Sat, 31 Jul 2010 10:56:09 +0000 (06:56 -0400)]
tests: Remove GIMarshallingTests, rename Everything to Regress
GIMarshallingTests will be replaced with automatically
generated code; it was far from comprehensive, and was a pain
to maintain.
The namespacing in Everything was broken; it had an empty C
prefix effectively, because all the symbols just started with
"test". We do want "test" as part of the symbols, since otherwise
the exported API would be weird. Fix this by changing the namespace
to Regress (i.e. prefixing all the C code with Regress). This
makes sense anyways because Everything wasn't really Everything.
We no longer install a pre-built regress.(so,gir,typelib); instead we
install the C code to
$(datadir)/gobject-introspection/tests/regress.[ch].
Bindings should compile this.
Colin Walters [Thu, 19 Aug 2010 17:47:42 +0000 (13:47 -0400)]
gobject-introspection-1.0.pc: Export datadir
This will be used for consumers to find regress.[ch].
Colin Walters [Thu, 19 Aug 2010 13:22:01 +0000 (09:22 -0400)]
.gitignore: Update
Colin Walters [Wed, 25 Aug 2010 14:57:17 +0000 (10:57 -0400)]
scanner: If GI_SCANNER_DEBUG is set, drop into a debugger on error
Useful when debugging build problems for both me, and potentially over
IRC.
Johan Dahlin [Tue, 31 Aug 2010 13:32:32 +0000 (10:32 -0300)]
Add pre-commit to EXTRA_DIST
Luca Bruno [Wed, 25 Aug 2010 17:50:17 +0000 (19:50 +0200)]
Makefile.introspection: Add _EXPORT_PACKAGES variable.
This new variable maps to --pkg-export.
Maxim Ermilov [Sun, 22 Aug 2010 22:43:09 +0000 (02:43 +0400)]
add annotation for g_get_language_names
Tomeu Vizoso [Fri, 20 Aug 2010 12:50:41 +0000 (14:50 +0200)]
Add properties to Everything.TestObj for testing more types
Steve Frécinaux [Wed, 18 Aug 2010 20:26:48 +0000 (22:26 +0200)]
Fix warning when using g_irepository_enumerate_version()
The reason for the warning was that g_irepository_get_version() expects
the typelib to be already loaded, but enumerate_version() can be called
on typelibs that are not.
Steve Frécinaux [Mon, 16 Aug 2010 20:39:19 +0000 (22:39 +0200)]
Include the loaded version in g_irepository_enumerate_versions()
Logically speaking, the already loaded version of a namespace is part of
the currently available versions, and can be forgotten if we only
consider the versions available in GI_TYPELIB_PATH, as it could have
been loaded using g_irepository_require_private().
As a side effect, it meant that bindings relying on enumerate_version()
(like pygobject) were not able to require private versions through their
classical requirement scheme.
This patch fixes it by adding the loaded version to the unsorted list of
available versions returned by g_irepository_enumerate_versions()
This patch also uses g_list_prepend() instead of g_list_append() in that
function.
https://bugzilla.gnome.org/show_bug.cgi?id=625983
Johan Dahlin [Tue, 17 Aug 2010 18:52:03 +0000 (15:52 -0300)]
Add a pre-commit hook and enforce it
Colin Walters [Mon, 26 Jul 2010 20:26:46 +0000 (16:26 -0400)]
[gircompiler] Clean up parsing
We never actually include multiple modules in the compiler,
so just nuke that. Also rather than passing around GIrModule
consistently pass around a GIrTypelibBuild structure which
has various things.
This lets us maintain a stack there which we can walk for
better error messages.
Also, fix up the node lookup in giroffsets.c; previously
it didn't really handle includes correctly. We really need to
switch to always using Foo.Bar (i.e. GIName) names internally...
Colin Walters [Sat, 31 Jul 2010 10:22:52 +0000 (06:22 -0400)]
[girepository] Fix up error printing
We didn't show the right error message if we failed to find
the symbol; fix this by removing error printing from the
middle of the dumper, and add it correctly to the toplevel
dump entry point.
Colin Walters [Wed, 21 Jul 2010 22:55:24 +0000 (18:55 -0400)]
[girparser] Cleanly pass through c:include
Colin Walters [Tue, 17 Aug 2010 17:05:29 +0000 (13:05 -0400)]
gir: Import DBus, DBusGLib
These used to live in gir-repository; similarly to how we're presently just holding
random .gir files for the lowlevel bits of the platform, suck these in.
In the future they'll be obsoleted by foreigns.
Colin Walters [Tue, 17 Aug 2010 16:45:25 +0000 (12:45 -0400)]
compiler: Remove --code argument
It can't really work right now because we rely on dumping data at runtime,
which requires the library. If in the future we support static scanning,
we can reinvestigate embedded typelibs.
Colin Walters [Tue, 27 Jul 2010 08:47:50 +0000 (04:47 -0400)]
Remove tests/invoke
We get better testing through the bindings, having hand-written
.gir files is a maintenance pain, and it uses the --code option
to g-ir-compiler which we also don't want to support.
Colin Walters [Tue, 17 Aug 2010 16:19:02 +0000 (12:19 -0400)]
gir: Drop warn-all from GLib
It isn't going to be fully introspectable anytime soon; we'd need a crap-ton
of (skip).
Johan Dahlin [Mon, 16 Aug 2010 19:30:14 +0000 (16:30 -0300)]
Delete trailing whitespace
Colin Walters [Tue, 3 Aug 2010 16:18:35 +0000 (12:18 -0400)]
Remove --noclosure argument
It's obsoleted by the introspectable=0 handling.
Zachary Goldberg [Tue, 27 Jul 2010 16:03:00 +0000 (12:03 -0400)]
Add ability to write unindented lines via xmlwriter
Tomeu Vizoso [Tue, 17 Aug 2010 15:17:16 +0000 (17:17 +0200)]
Remove uncommitted function from gir/GIMarshallingTests-1.0-expected.gir
Gustavo Noronha Silva [Tue, 17 Aug 2010 14:31:17 +0000 (11:31 -0300)]
[scanner] Also parse C++ files
This is to support cases such as WebKitGTK+, that have C API
implemented in C++ files. Do note this does not mean we support proper
C++ parsing.
https://bugzilla.gnome.org/show_bug.cgi?id=627152
Tomeu Vizoso [Tue, 17 Aug 2010 14:43:05 +0000 (16:43 +0200)]
Update gir/GIMarshallingTests-1.0-expected.gir
Matthias Clasen [Mon, 16 Aug 2010 23:08:18 +0000 (19:08 -0400)]
Add a stub entry for XLib Visual
Matthias Clasen [Mon, 16 Aug 2010 22:55:41 +0000 (18:55 -0400)]
Add Colormap stub
Johan Dahlin [Fri, 13 Aug 2010 13:32:37 +0000 (10:32 -0300)]
[man] Mention XDG_DATA_DIRS
Robert Ancell [Thu, 12 Aug 2010 00:01:37 +0000 (10:01 +1000)]
Fix giscanner crash with no cache directory
Tomeu Vizoso [Tue, 10 Aug 2010 15:05:08 +0000 (17:05 +0200)]
Add g_i_marshalling_tests_gvalue_in_enum
Johan Dahlin [Tue, 10 Aug 2010 14:04:16 +0000 (11:04 -0300)]
[everything] Remove allow-none for Return value
Ryan Lortie [Wed, 4 Aug 2010 03:38:12 +0000 (23:38 -0400)]
Bump the version after releasing 0.9.3
Steve Frécinaux [Tue, 3 Aug 2010 21:39:58 +0000 (23:39 +0200)]
Do not leak typelibs with wrong header info.
Previously the typelibs that were loaded but whose header information
weren't right were just leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=625672
Steve Frécinaux [Fri, 30 Jul 2010 18:38:34 +0000 (20:38 +0200)]
Add new API g_typelib_require_private()
This is equivalent to g_typelib_require() but intended for use with
private typelibs, which get loaded from the provided directory.
https://bugzilla.gnome.org/show_bug.cgi?id=625672
Colin Walters [Wed, 28 Jul 2010 14:35:47 +0000 (16:35 +0200)]
Add BLOB_TYPE_FLAGS to BLOB_IS_REGISTERED_TYPE
Johan Dahlin [Wed, 28 Jul 2010 12:34:16 +0000 (09:34 -0300)]
[dumper] Fix indentation
Johan Dahlin [Wed, 28 Jul 2010 12:32:59 +0000 (09:32 -0300)]
[Gio] Add missing return-value annotations
Johan Dahlin [Wed, 28 Jul 2010 12:32:28 +0000 (09:32 -0300)]
[giscanner] Make warnings less dense
Omit ns=, context= and include the function symbol for Functions
Johan Dahlin [Wed, 28 Jul 2010 12:01:33 +0000 (09:01 -0300)]
[girepository-private] Add ffi declarations
Add declarations for the ffi closure api we're using, this silents
GCC warnings on systems with broken ffi headers.
Johan Dahlin [Wed, 28 Jul 2010 11:52:45 +0000 (08:52 -0300)]
[girepository] Update documentation
Johan Dahlin [Wed, 28 Jul 2010 11:52:05 +0000 (08:52 -0300)]
[GIRepository] Rename g_irepository_enumerate
Rename it to g_irepository_enumerate_versions
Tomeu Vizoso [Wed, 28 Jul 2010 10:24:10 +0000 (12:24 +0200)]
Add g_info_type_to_string (GIInfoType type)
Ryan Lortie [Tue, 27 Jul 2010 21:29:21 +0000 (23:29 +0200)]
Append -Wl,-rpath=. to the scanner compile
This is required if we're not using libtool
Colin Walters [Tue, 27 Jul 2010 11:06:54 +0000 (07:06 -0400)]
Add g_irepository_enumerate
This will be used for pygobject to enumerate namespaces.
Johan Dahlin [Thu, 22 Jul 2010 17:58:13 +0000 (14:58 -0300)]
[giscanner] Calrify missing element-type validation
Avoid using tabs and too long lines as well
Johan Dahlin [Thu, 22 Jul 2010 17:57:13 +0000 (14:57 -0300)]
Update GIMarshallingTests expected gir
To make the tests pass again
Colin Walters [Thu, 22 Jul 2010 17:46:33 +0000 (13:46 -0400)]
[girepository] Include path to file in typelib load failure error
This makes version conflicts more obvious.
Johan Dahlin [Thu, 22 Jul 2010 17:43:02 +0000 (14:43 -0300)]
[scanner] Make it compatible with python 2.y
https://bugzilla.gnome.org/show_bug.cgi?id=618562
Jonathan Matthew [Wed, 14 Jul 2010 04:02:05 +0000 (14:02 +1000)]
warn for missing element-type on GSList params and return values
https://bugzilla.gnome.org/show_bug.cgi?id=623070
dyfet@gnutelephony.org [Tue, 20 Jul 2010 15:39:37 +0000 (11:39 -0400)]
[GIMarshalingTests] Add underscores to more variable names
These may conflict.
https://bugzilla.gnome.org/show_bug.cgi?id=624191
Colin Walters [Mon, 19 Jul 2010 21:48:17 +0000 (17:48 -0400)]
Fix two compilation warnings
Florian Müllner [Thu, 15 Jul 2010 21:40:28 +0000 (23:40 +0200)]
[girepository] Fix ordering in override_search_path
Entries in the GI_TYPELIB_PATH environment variable are added to the
global search path in reverse order - instead, add entries in the
same order in which they are specified.
Tomeu Vizoso [Thu, 15 Jul 2010 15:09:55 +0000 (17:09 +0200)]
Add annotation for g_dbus_proxy_new_sync