| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Related to: https://bugzilla.gnome.org/show_bug.cgi?id=710561
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GTK-Doc description fields for tags can contain multiple lines and
even multiple paragraphs. Whitespace cannot be preserved in XML
attributes, so we move the "deprecated" description text into
a "<doc-deprecated />" element right next to where we already have
the "<doc />" element. Keep the "deprecated" attribute around for
backwards compatibility though, but set its value to "1" (analogous
to the "writable", "contruct", etc attributes) if the annotated
symbol is marked as deprecated.
While at it, add <doc-version /> and <doc-stability /> which
was not yet available in the .gir files...
This takes care of the "Since:", "Stability:" and "Deprecated:"
GTK-Doc tags. Nothing needs to be done for the "Returns:" tag as
as we already write a "<doc />" child element on "<return-value />".
|
|
|
|
|
| |
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
|
|
|
|
| |
Continuation of previous work.
|
|
|
|
| |
Continuation of previous work.
|
|
|
|
| |
Continuing on with previous commit.
|
|
|
|
|
|
|
|
|
|
|
| |
The .gir format has a weird legacy where stuff like the includes are
outside of the <namespace>. But conceptually they're tied together,
so let's start reflecting this in the code.
This way we can just pass around and look at a Namespace object
instead of a 4-tuple of (namespace, includes, c_includes, pkg_config).
https://bugzilla.gnome.org/show_bug.cgi?id=694593
|
|
|
|
|
|
|
|
|
| |
The eventual model I want to have is that .parent is the "container"
of the node. In all the cases where we don't explicitly set the parent,
this is the namespace, but having this under one field name would be
a big cleanup for the docwriter.
https://bugzilla.gnome.org/show_bug.cgi?id=693876
|
|
|
|
|
|
| |
This makes it only use kwargs
https://bugzilla.gnome.org/show_bug.cgi?id=693876
|
|
|
|
|
|
|
|
| |
g-ir-doc-tool wants to use the instance parameter to read docs
and the parameter name, so it needs to be shuttled through the
GIR.
https://bugzilla.gnome.org/show_bug.cgi?id=693040
|
|
|
|
|
|
|
| |
We need this for the doctool so that we can link to an enum
definition when we reference one of the member values.
https://bugzilla.gnome.org/show_bug.cgi?id=693040
|
|
|
|
|
|
|
| |
pylint was complaining about the non-existent instance member,
self._filename
https://bugzilla.gnome.org/show_bug.cgi?id=693040
|
|
|
|
|
|
|
| |
Properties have it, there is no reason for Field not to, and in this
way mallard docs can treat a field almost like a property.
https://bugzilla.gnome.org/show_bug.cgi?id=683046
|
|
|
|
|
|
|
|
| |
Traverse appended nodes for methods, so that namespace.symbols contains
all known symbols and not just global functions.
Also, ensure that all relevant nodes are appended when parsing GIRs.
https://bugzilla.gnome.org/show_bug.cgi?id=683046
|
|
|
|
|
|
|
| |
In order to be able to linkify a constructor/method, we need
to first track it by symbol.
https://bugzilla.gnome.org/show_bug.cgi?id=682969
|
| |
|
|
|
|
|
| |
Add an annotation tag "Value:" which can be used on
constants to override the value.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the same backcompat machinery that was introduced for static
methods for non-class types, so this change does not break users of the
existing presentations.
New libgirepository API:
g_enum_info_get_n_methods
g_enum_info_get_method
https://bugzilla.gnome.org/show_bug.cgi?id=656499
|
|
|
|
|
|
|
| |
Make sure that fundamental attribute and associated
functions (ref-func, unref-func, set-value-func and get-value-func)
are parsed, otherwise we fail reparse-validating girs containing
fundamentals.
|
| |
|
|
|
|
|
|
| |
This adds all GSignalFlags into the gir.
https://bugzilla.gnome.org/show_bug.cgi?id=656457
|
|
|
|
|
|
|
| |
Use it to remove backcompat copies of functions that non introspectable
anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=572408
|
|
|
|
|
|
| |
For generating documentation, we actually want to preserve these.
https://bugzilla.gnome.org/show_bug.cgi?id=656389
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
* gdumpparser.py was incorrectly passing the ctype for transfer
* Property constructor wasn't actually doing anything with passed transfer
* Parse transfer-ownership in girparser
|
|
|
|
|
|
|
| |
Previously we were just looking for <type> inside a GLib.List,
but it may be <array>.
See bug 637262 for code that triggered this.
|
| |
|
| |
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=594125
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 makes type parsing more uniform.
Delete the typedef for GSList in foo.h - that's not
supported anymore, or at least for now.
|
| |
|
| |
|
|
|
|
|
|
| |
I want to start bumping it on incompatible .gir changes.
https://bugzilla.gnome.org/show_bug.cgi?id=621895
|
|
|
|
|
|
|
|
| |
GArray args
Based on a previous patch by C. Scott Ananian <cscott@litl.com>
https://bugzilla.gnome.org/show_bug.cgi?id=581687
|
|
|
|
|
| |
This fixes a cache issue where the pickle in the cache doesn't
have self._pkgconfig_packages set in its instance
|
|
|
|
|
|
|
|
|
|
| |
When generating a .gir file, we now first parse all of our .gir includes
to pick up their <package> headers. Then, we merge that with the set of
--pkg arguments passed to us, run pkg-config to gather the arguments,
and finally save the merged pkg-config list to our new .gir file.
This is useful for software which needs to map from .gir to pkg-config
in a programmatic way.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-12 Johan Dahlin <jdahlin@async.com.br>
Bug 563794 - Redo annotation parsing & applying
Thanks to Colin for helping out considerably in landing this.
* giscanner/Makefile.am:
* giscanner/ast.py:
* giscanner/dumper.py:
* giscanner/girparser.py:
* giscanner/giscannermodule.c (pygi_source_scanner_get_comments),
(calc_attrs_length), (pygi_collect_attributes), (init_giscanner):
* giscanner/glibtransformer.py:
* giscanner/scannerlexer.l:
* giscanner/sourcescanner.c (gi_source_symbol_unref),
(gi_source_scanner_new), (gi_source_scanner_free),
(gi_source_scanner_get_comments):
* giscanner/sourcescanner.h:
* giscanner/sourcescanner.py:
* giscanner/transformer.py:
* giscanner/xmlwriter.py:
* tests/scanner/annotation-1.0-expected.gir:
* tests/scanner/annotation-1.0-expected.tgir:
* tests/scanner/annotation.c:
* tests/scanner/annotation.h:
* tests/scanner/foo-1.0-expected.gir:
* tests/scanner/foo-1.0-expected.tgir:
* tests/scanner/foo.h:
* tools/g-ir-scanner:
This commit merges the annotation parser rewrite branch.
It'll change the annotation parsing to be done completely in python
code which will make it easier to do further annotation parsing
easier.
svn path=/trunk/; revision=1017
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-03 Jürg Billeter <j@bitron.ch>
* giscanner/ast.py:
* giscanner/dumper.py:
* giscanner/girparser.py:
* giscanner/glibtransformer.py:
* giscanner/sourcescanner.py:
* giscanner/transformer.py:
* giscanner/xmlwriter.py:
Fix inconsistencies with PEP8
svn path=/trunk/; revision=997
|
|
|
|
| |
svn path=/trunk/; revision=934
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Certain types like GIConv and GdkAtom are pointers internally but don't
look like pointers when referenced. They have the form.
typedef struct _X *X;
Parse these as structures/records but mark them in the gir with a 'disguised'
attribute so that we know that they need special handling.
In the typelib treat them like any other structure.
svn path=/trunk/; revision=872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-11-04 Johan Dahlin <jdahlin@async.com.br>
* giscanner/__init__.py:
* giscanner/ast.py:
* giscanner/cachestore.py:
* giscanner/cgobject.py:
* giscanner/girparser.py:
* giscanner/girwriter.py:
* giscanner/giscannermodule.c:
* giscanner/glibast.py:
* giscanner/glibtransformer.py:
* giscanner/libtoolimporter.py:
* giscanner/minixpath.py:
* giscanner/odict.py:
* giscanner/sourcescanner.c:
* giscanner/sourcescanner.h:
* giscanner/sourcescanner.py:
* giscanner/transformer.py:
* giscanner/utils.py:
* giscanner/xmlwriter.py:
* COPYING:
Relicense the giscanner library under LGPLv2+.
This has been approved by all contributors.
svn path=/trunk/; revision=862
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-11-01 Owen Taylor <otaylor@redhat.com>
Bug 558848 giparser.py: shared library should be optional
When parsing a .gir, allow the shared-library attribute
of <namespace/> to be missing: this corresponds to the handling
in libgirepository and elsewhere.
svn path=/trunk/; revision=860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
* giscanner/girparser.py:
Remove arguments from the constructor, move them to
separate accessors. Add a new parse_tree method
which takes an element tree instance.
* tools/g-ir-scanner:
Update callsite for this
* giscanner/Makefile.am:
* giscanner/cachestore.py:
* giscanner/transformer.py:
Cache the include parsing. Saves ~25% time when
creating vte (which includes everything up to gtk+).
svn path=/trunk/; revision=842
|