Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
So we can always pass it into len() without breaking
https://bugzilla.gnome.org/show_bug.cgi?id=629959
|
|
|
|
Rewrite the pre-processor linemark parser so we end
up with accurate filenames and linenumbers.
|
|
|
|
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
|
|
|
|
Add a few more special case parameters which we will
not warn if they don't exist as a parameter
|
|
|
|
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
|
|
Allow varargs "..." to be documented without warning
https://bugzilla.gnome.org/show_bug.cgi?id=629759
|
|
Warn when using an annotation which will end up as
unresolved.
https://bugzilla.gnome.org/show_bug.cgi?id=629004
|
|
Also document/bug link the other workarounds; just made up a
convention for ## WORKAROUND ##
See: https://bugzilla.gnome.org/show_bug.cgi?id=550616
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=629708
|
|
We weren't doing this consistently, which broke nsname != cprefix
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=629683
|
|
* 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
|
|
Our Type creation from GType names didn't know how to handle
the GObject boxeds for GHashTable, GArray etc.
|
|
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".
|
|
This needs a manual override since GVariant is a fundamental.
|
|
If you pass --namespace=FooBar, and have a GObject named FooBar, we'd
assert. Give the user an obvious error message.
|
|
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.
|
|
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
|
|
Multiple modules have '_' prefixed symbols in "public" headers
meaning "don't use this in your app".
|
|
Typically these contain reserved callbacks; in any case we take
a leading underscore to mean 'private'.
|
|
|
|
We were missing some annotation blocks for structs in typelibs with
a name different to the C prefix.
|
|
Avoids duplicate code.
|
|
|
|
|
|
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.
|
|
If the first parameter matches the origin, don't scan as a constructor.
Happened in practice with meta_screen_append_new_workspace from mutter.
|
|
We weren't properly hitting GObject.
|
|
See test case, hit in practice in gnome-shell.
|
|
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
|
|
For legacy library author convenience, propagate (skip) on e.g.
structures to all callables which use them.
|
|
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
|
|
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.
|
|
This reverts commit 144cb10d51888a9565721088d2b61794468742e9.
|
|
Even if warnings are not enabled
|
|
|
|
For backwards compat, keep the presence of the environment
variable at all to mean "exception".
Also start a HACKING file.
|
|
with statement is available in python 2.5, but only
if you import it from __future__
|
|
This reverts commit 26c66df6bdc3e3ce836c7462958fa38cc3e1062f.
|
|
Static method pairing changes the API and should be futher
discussed in https://bugzilla.gnome.org/show_bug.cgi?id=572408
|
|
|
|
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>
|
|
|
|
These were listed on the wiki up until just now...
|
|
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.
|
|
|