| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is necessary for Mutter right now.
|
|
|
|
|
| |
Keep a typedef for backwards compatibility, until
the major bindings has moved over.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This new variable maps to --pkg-export.
|
|
|
|
| |
It's obsoleted by the introspectable=0 handling.
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Rename it to g_irepository_enumerate_versions
|
|
|
|
| |
gtk-doc already does that for us
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for instantiable fundamental object types,
which are not GObject based. This is mostly interesting for being
able to support GstMiniObject's which are extensivly used in GStreamer.
Includes a big test case to the Everything module (inspired by
GstMiniObject) which should be used by language bindings who wishes to
test this functionallity.
This patch increases the size of the typelib and breaks compatibility
with older typelibs.
https://bugzilla.gnome.org/show_bug.cgi?id=568913
|
|
|
|
|
|
|
|
|
|
|
|
| |
When debugging the dumper, it's extremely useful to be able
to see the argument it's passing to the compiler/linker.
This patch makes g-ir-scanner work the same way as libtool basically;
we default to printing out stuff, and add a --quiet option.
The Makefile.introspection handles passing --quiet automatically.
https://bugzilla.gnome.org/show_bug.cgi?id=622751
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any annotation where the key has a dot in the name will go into the
attribute list. For example
* @arg: (foo.bar baz): some arg
the parameter @arg will get the attribute with key foo.bar and value
baz. This also works for.
* Returns: (foo.bar2 baz2): the return value
Also add tests for this new feature.
See https://bugzilla.gnome.org/show_bug.cgi?id=571548
Signed-off-by: David Zeuthen <davidz@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This work allows us to move closer to replacing gtk-doc, among other
things. We add a generic attribute "introspectable", and inside the
typelib compiler if we see "introspectable=no", we don't put it in the
typelib. This replaces the hackish pre-filter for varargs with a much
more generic mechanism.
The varargs is now handled in the scanner, and we emit
introspectable=no for them.
Add generic metadata to Node with references to file/line/column,
which currently comes from symbols.
Add scanner options --warn-all and --warn-error.
https://bugzilla.gnome.org/show_bug.cgi?id=621570
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* girepository/*: Add g_property_info_get_ownership_transfer() and write
the transfer attribute of properties into the typelib.
* giscanner/*: Parse the (transfer) annotation and write it into the .gir.
* tools/generate.c: Read the transfer annotation for properties and write
to the .tgir.
https://bugzilla.gnome.org/show_bug.cgi?id=620484
|
|
|
|
| |
Regenerate PNG
|
|
|
|
|
| |
Add an overview page for the documentation with a simple
diagram explaining the relationship between the main components.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Mark macros as standard and a couple of structs
as private. Remove multiple defintion of GITypelib to reduce
gtk-doc spew.
|
| |
|
|
|
|
| |
They will be defined in inline gtk-doc comments.
|
|
|
|
|
|
| |
Instead of displaying all structures and methods
in girepository.h on one page, split them out to a
bunch of pages.
|
| |
|
| |
|
|
|
|
|
| |
When invoking make clean, remove the directories with
generated documentation
|
|
|
|
| |
Use xi:includes instead of sgml entities
|
| |
|
|
|
|
|
|
| |
three dashes, changed to two dashes.
https://bugzilla.gnome.org/show_bug.cgi?id=616837
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We now support an extensible mechanism where arbitrary key-value
pairs may be associated with almost all items, including objects,
methods, and properties.
These attributes appear in both the .gir and the .typelib.
|
| |
|
|
|
|
|
|
|
|
| |
Similar to GObject class structs, we pair up GInterfaces with
their C structures.
Also, move some GLib-specific things into glibast.py, and make
the naming more generic.
|
|
|
|
|
|
| |
typelib-format.txt was growing out of date; a good solution to this is
to move it closer to the code it's documenting. By doing this we also
gain the ability to use gtk-doc on it.
|
|
|
|
| |
section title
|
|
|
|
|
|
|
| |
The gtk-doc manual suggests using inline comments:
http://library.gnome.org/devel/gtk-doc-manual/stable/documenting.html.en
So we'll do that.
|
|
|
|
|
|
|
|
|
|
| |
to SUBDIRS
The gtk-doc introductory commit introduced some generated files; remove those.
We apparently only require 1.11, so downgrade to that.
Finally, the docs directory was missing from the toplevel SUBDIRS.
|
|
|
|
|
| |
Do this by including the generated annotation
glossary.
|
| |
|
| |
|
|
|
|
| |
svn path=/trunk/; revision=1092
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inside glibtransformer, we now look at structures ending in "Class" and
see if they have an associated GlibObject (i.e. a structure of the same
name without the "Class" suffix). If found, pair them up.
The .gir file for <class> gains an attribute denoting its associated
class struct. Any <record> many now have a glib:is-class-struct-for
annotation which tells which (if any) <class> for which it defines the
layout.
In the .typelib, we record the association between the class and
its structure. Generic structures however just have a boolean
saying whether they're a class struct. (Going from a generic class
struct to its class should not be necessary).
Finally, we expose GIRepository APIs to access both bits of information
from the .typelib.
svn path=/trunk/; revision=1088
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-03 Andreas Rottmann <a.rottmann@gmx.at>
Bug 556489 – callback annotations
* giscanner/transformer.py
* tools/generate.c (write_callable_info): Write out the new scope,
closure and destroy attributes.
* giscanner/transformer.py (Transformer._type_is_callback): New
method, checking if a given type is a callback.
(Transformer._augment_callback_params): New method; adds
information (closure, destroy) to callback parameters.
(Transformer._handle_closure, Transformer._handle_destroy): New methods,
auxiliary to _augment_callback_params.
(Transformer._create_function): Call _augment_callback_params().
(Transformer._create_parameter): Handle scope option.
(Transformer._create_typedef_callback): New method, creates a
callback, and registers it in the typedef namespace
(Transformer._create_typedef): Use _create_typedef_callback()
instead of the plain _create_callback().
* giscanner/ast.py (Parameter): Added callback-related fields.
* giscanner/girwriter.py: Write out new Parameter fields.
* girepository/girnode.h (GIrNodeParam): Added fields scope,
closure and destroy.
* girepository/gtypelib.h (ArgBlob): Ditto.
* girepository/girparser.c (start_parameter): Handle new fields.
* girepository/girmodule.c (g_ir_module_build_typelib): Adjust
arg_blob_size, bump major version due to this change.
* girepository/girnode.c (g_ir_node_get_full_size_internal)
(g_ir_node_build_typelib)
* girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size
adjustments.
(g_ir_node_build_typelib): Fill in new ArgBlob flags from param.
* girepository/girepository.h (GIScope): New enumeration, listing
the different possible scopes for callbacks.
* girepository/ginfo.c (g_arg_info_get_scope)
(g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for
callback-related argument indices (callback scope, closure for a
callback, destroy notification for a callback).
* tests/scanner/: Added testcases for new features.
svn path=/trunk/; revision=998
|
|
|
|
| |
svn path=/trunk/; revision=977
|