| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Remove GInitiallyUnowned special case in gdumpparser where fields are
copied from GObject. Add generic solution where anytime we have multiple
typedef structs, the fields become shared:
typedef struct _Foo Foo;
typedef struct _Foo Bar;
struct _Foo {...};
https://bugzilla.gnome.org/show_bug.cgi?id=581525
|
| |
|
|
|
|
|
| |
Last call sites where removed in 36aa515f1036978ced8d4ffb808260844f7229e0
about 3 years ago.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Version in our tree is a wee bit outdated. For example,
later work will introduce an utf8 encoded python source
file which our old pep8.py does not yet understand (yeah,
it really was *that* ancient)...
Updated from:
https://raw.github.com/jcrocholl/pep8/1.4.5/pep8.py
Takes 552c1f1525e37a30376790151c1ba437776682c5,
f941537d1c0a40f0906490ed160db6c79af572d3,
5a4afe2a77d0ff7d9fea13dd93c3304a6ca993de and
a17f157e19bd6792c00321c8020dca5e5a281f45 into account...
https://bugzilla.gnome.org/show_bug.cgi?id=699535
|
|
|
|
|
|
| |
It's more readable and as an added bonus Python 3 compatible.
https://bugzilla.gnome.org/show_bug.cgi?id=697616
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code which heuristically turned functions into class methods would always
ignore any function called *_get_type or *_get_gtype. However, the code which
looked for GI metadata functions to execute them was much more comprehensive,
checking not just the name, but also that it had no parameters and that it
returned a GType.
This change abstracts the more comprehensive check into the Function class, and
uses the same check in both places.
https://bugzilla.gnome.org/show_bug.cgi?id=671218
|
|
|
|
| |
It was actually introduced by e0fea819f0da1ca60cce3280e7e21f3d2955be3a
|
| |
|
|
|
|
|
| |
For gjs we want to switch to using introspection data for signals, and
the "notify" signal being missing from GObject was a problem.
|
|
|
|
|
|
|
|
|
| |
There were some cases of handling GObject and GInitiallyUnowned which
were not necessary. Removing special cases from them simplified code
and as a bonus it added 'GObject::notify' signal into GIR, which was
not there previously.
https://bugzilla.gnome.org/show_bug.cgi?id=657446
|
|
|
|
|
|
|
| |
GParamSpec is introspected as fundamental class, and all GObject
classes derived from it (e.g. GParamSpecChar) are marked as such.
https://bugzilla.gnome.org/show_bug.cgi?id=656440
|
| |
|
|
|
|
|
|
| |
This adds all GSignalFlags into the gir.
https://bugzilla.gnome.org/show_bug.cgi?id=656457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of storing the name of the function to call to get the
error quark, store the string form of the error quark, which
we derive from the introspection binary during scanning.
Update EnumBlob and GIEnumInfo to include the new information.
This will allow determining a back-mapping from error quark
to error domain without having to dlsym() and call all the
known error quark functions.
Based on earlier patches from Owen Taylor and Maxim Ermilov.
https://bugzilla.gnome.org/show_bug.cgi?id=602516
|
|
|
|
| |
This was not meant to be pushed (yet). Sorry for confusion.
|
|
|
|
|
|
|
|
|
| |
This is simple workaround which ignores CairoRectangleInt boxed type
appearing as defined by libgdk, because libgdk simply aliases this
gtype for GdkRectangle (as it also typedef's GdkRectangle to
cairo_rectangle_int_t).
https://bugzilla.gnome.org/show_bug.cgi?id=655423
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Change the special code for handling GObject and GInitiallyUnowned
so that it exposes GParamSpec as a class, and it allows GVariant to
have a GType without using the deprecate g_variant_get_gtype.
It is a sort of ABI break, in that new typelibs won't work with
previous versions of libgirepository.
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
|
|
|
|
| |
Use the new glib-boxed.h header from gobject to pair structure
definitions with boxed types in the GLib namespace, improving the
introspection coverage and removing some hacks.
Some fixes from Colin Walters <walters@verbum.org>
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
| |
Based on a patch by Giovanni Campagna <gcampagna@src.gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=646635
|
|
|
|
|
|
| |
* gdumpparser.py was incorrectly passing the ctype for transfer
* Property constructor wasn't actually doing anything with passed transfer
* Parse transfer-ownership in girparser
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The C compiler will pick an enumeration type that accomodates the specified
values for the enumeration, so ignoring 64-bit enumerations, we can
have enumeration values from MININT32 to MAXUINT32. To handle this properly:
- Use gint64 for holding eumeration values when scanning
- Add a 'unsigned_value' bit to ValueBlob so we can distinguish the
int32 vs. uint32 cases in the typelib
- Change the return value of g_value_info_get_value() to gint64.
https://bugzilla.gnome.org/show_bug.cgi?id=629704
|
|
|
|
|
| |
...by default. However, the GI_SCANNER_DEBUG=save-temps option
helps for debugging.
|
| |
|
|
|
|
|
|
|
| |
Also document/bug link the other workarounds; just made up a
convention for ## WORKAROUND ##
See: https://bugzilla.gnome.org/show_bug.cgi?id=550616
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
It doesn't use any internal state, so it can easily
be moved over to the type as a factory function
|
|
|
|
|
| |
Move the remaining callsites over to the new message
module
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Pass around its symbols instead
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We were adding a trailing ',' in the parent string, clean that up; and
don't attempt to create a Type from the empty string.
|
| |
|
|
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.
|