| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
sourcescanner: Allow empty declarations. Fixes #216
Closes #216
See merge request GNOME/gobject-introspection!89
|
| |
| |
| |
| |
| | |
As far as I see these are not valid C and only allowed in C++11.
But they do occur in the wild (mingw headers) so let's try to handle them.
|
|/
|
|
| |
Reduce total number of memory allocations and increase data locality.
|
| |
|
|\
| |
| |
| |
| | |
Drop all Python 2 compat code
See merge request GNOME/gobject-introspection!85
|
| |
| |
| |
| | |
We only support 3.4+ now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It just printed errors to stderr and always returns success even if parsing
fails. This prevents us to write any tests for it.
As a first step collect all lexing/parsing error messages and print them to stderr after
the scanner is done. This allows us to add some regression tests for !78.
In the future we probably want to raise an exception with those errors if parsing
fails.
|
|/
|
|
|
| |
pickle.loads() can pretty much throw any kind of exception and we can't
handle it besides ignoring it, so just catch all.
|
|\
| |
| |
| |
| | |
gi_source_scanner_parse_file: use a filename instead of a FILE struct
See merge request GNOME/gobject-introspection!79
|
| |
| |
| |
| |
| |
| | |
This allows us to get rid of the msvc hacks which are needed in case Python
is built with a different msvc than g-i. By passing a filename the FILE struct never
passes over library boundaries.
|
|\ \
| |/
|/|
| |
| | |
scanner: Replace use of typeof with void token
See merge request GNOME/gobject-introspection!78
|
| |
| |
| |
| |
| |
| | |
This makes it possible to parse inputs where typeof is used as part of
cast expression, e.g., in g_object_ref macro expansion. Selection of
VOID is arbitrary since there is no actual implementation of typeof.
|
|/
|
|
|
|
|
| |
... When we are building in a drive that is different from the drive
that we are acquiring the depedencies from. For example,
os.path.relpath() does not like it when we we are building G-I on D:\foo
while the GLib headers are found are C:\glib.
|
|
|
|
|
|
|
|
|
|
|
| |
Some documentation tool (as hotdoc[0]) need to have information about
symbol declaration and documentation positions in the source files
to be able to do smart indexing (automatically build the documenation
index).
[0] https://hotdoc.github.io/
Fixes #175
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
g-ir-scanner would cut away the 'common prefix' between the current
working directory and the file about be warned about. This is
problematic when using automatic jumping to warnings and errors, as it'd
mean the editor can't find the relevant file.
For example, if g-ir-scanner is run from 'build/', and a warning occurs
on a file in 'src/file.c', the scanner would print the warning
'src/file.c:123: Warning: This and that'. Running this from e.g. meson
would mean e.g. VIM would not find the correct file to jump to.
Meanwhile, GCC, in the same setup, would print '../src/file.c:123:
Warning: ...', as that is the relative path from where the scanner is
ran, and e.g. VIM would behave in a correct way.
|
| |
|
|
|
|
|
| |
This makes it easier to ensure that the right library is
scanned.
|
|
|
|
|
| |
Without this, it will probably take the system library instead of the
one that we are trying to test.
|
|
|
|
|
|
|
| |
GLib 2.57.2 introduced __typeof__ in g_clear_pointer, which the scanner
failed to parse.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/328
|
|
|
|
|
| |
Disables the new "W504 line break after binary operator" warning.
Fixes wrong escape sequences "W605 invalid escape sequence '\.'"
|
|
|
|
|
|
|
|
|
| |
Configure option gir_dir_prefix is used to configure install dir for
.gir files, so add its value to include file search paths.
Fix for flake8 and meson-test at same time.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
|
|
|
|
|
|
|
| |
Unfortunately, this is still needed for Visual Studio versions that do
not have an official CPython release that uses the CRT which the
compiler targets to, such as Visual Studio 2012 and 2013
This reverts commit a6a479af1bbe7c0d17766f1408c9fcb720df78dc.
|
|
|
|
|
|
|
|
|
|
|
| |
We need those includes and defines as we need to revert the commit that
revert the hacks on Windows, as they are still necessary in the cases
where we are using a Python installation that is not linked to the CRT
that the currently used compiler targets to, such as on Visual Studio
2012 and 2013, where no official Python release is linked to their
respective CRTs.
This reverts commit e36350e3fdcb18a21089256b63298d6e3a49212b.
|
|
|
|
|
|
| |
This reverts a small part of 19c03a46b1 to make tests pass again.
The test error weren't noticed because a new Python dependency was
missing, leading to those tests getting skipped.
|
|
|
|
|
| |
In 7f67146d8254 the FORMAT list was extended but the argparser uses
the first item as default value. This broke distcheck.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
g-i includes an old version of pep8 and pyflakes and uses that
during "make check".
It (1) doesn't catch all cases newer versions of pycodestyle/pyflakes catch
and (2) doesn't test all Python files (3) doesn't work with meson.
Instead of updating just remove them and depend on flake8 instead.
To run the checks simply run flake8 in the root dir.
This also makes it possible to run those checks when using meson and
not autotools.
To not get test suite failures on flake8 updates move the checks from
"make check" to an extra "make check.quality" target.
|
|\
| |
| |
| |
| | |
Add DevDocs formatting for GJS
See merge request GNOME/gobject-introspection!57
|
| |
| |
| |
| | |
- Fix autopep8 errors.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Reflect new string/GdkAtom marshalling that improves clipboard support: https://gitlab.gnome.org/GNOME/gjs/merge_requests/29
|
| |
| |
| |
| |
| |
| |
| | |
Add "plain" -> "text/plain" to the mapping since "plain" is used several
times in the GTK documentation. But also, fix the code that falls back to
no syntax highlighting for an unknown language - it did not check for
KeyError.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cogl-2.0.gir has the following entry:
<bitfield name="BufferMapHint"
version="1.4"
stability="Unstable"
c:type="CoglBufferMapHint">
<doc xml:whitespace="preserve">...</doc>
<member name="" value="1"
c:identifier="COGL_BUFFER_MAP_HINT_DISCARD">
<doc xml:whitespace="preserve">...</doc>
</member>
<member name="_range"
value="2"
c:identifier="COGL_BUFFER_MAP_HINT_DISCARD_RANGE">
<doc xml:whitespace="preserve">...</doc>
</member>
</bitfield>
The prefix is not picked up correctly and so we get a member without a
name, which crashes the docwriter in to_underscore(). Change that
function to handle this case by giving it a dummy "anonymous member"
name.
|
| |
| |
| |
| |
| |
| | |
Previously, Since:, Deprecated:, and Stability: annotations were all
given the same CSS class. In order to style them differently, we give them
different classes.
|
| |
| |
| |
| |
| | |
This uses the "throws" annotation in the generated docs, adding a "Throws
exception: Yes" if the annotation is present.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the functions template did not properly use
formatter.get_in_parameters() and formatter.get_out_parameters(), so we
had inaccurate function arguments in the documentation. In particular, I
originally didn't take functions with multiple return values into
account.
|
| |
| |
| |
| |
| |
| | |
Links to enum members, e.g. GLib.MyEnum.FOO, were previously formatted as
GLib.MyEnum.foo, so we add this special case for nodes that are
ast.Members.
|
| |
| |
| |
| | |
For aliases we add a description of what Javascript type they map to.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We add an extra CSS class to default.tmpl to indicate what kind of AST
node is represented here (e.g., ast.Constant). This should properly
belong in get_node_kind() in docwriter.py, but adding extra kinds there
would affect the way that all the other documentation output formats are
generated.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DevDocs will try to normalize links relative to the current documentation
if it can, and strips ../ off the front, so e.g. a link on the
gio20/gio.file page to ../gobject20/gobject.object will end up resolving
to http://<host>/gio20/gobject20/gobject.object, which doesn't exist.
We clearly mark links to other GIRs with a gir:// URL scheme that DevDocs
won't process automatically, and then fill in the links ourselves in the
DevDocs scraper.
|
| |
| |
| |
| |
| |
| | |
Because of some Ruby naming rules in DevDocs, other GIR modules will have
their documentation in ../namespace10/ instead of ../NameSpace-1.0/, so
change format_external_xref() to match this.
|
| |
| |
| |
| |
| | |
Pages for bare functions (not in a class) were missing descriptions of
their arguments and return values.
|
| |
| |
| |
| |
| |
| |
| | |
We change the style of documentation pages for constants, so that their
values are displayed in a <dt>/<dd> pair. We add a new method to the
formatter family, format_value() which should print the representation of
a constant's value in the target language; much like repr() in Python.
|
| |
| |
| |
| |
| | |
This function was failing on g_iconv() which has a blank name in the GIR
file (its name instead coming from the moved-to attribute.)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a def in _doc.tmpl that expands to "deprecated" if the node is
deprecated, and to nothing otherwise. We use it to give the deprecated CSS
class to particular elements. The presence of the class on a symbol's main
entry will inform DevDocs that the symbol is deprecated, though it won't
be formatted in a particular way. The presence of the class on an index
entry will cause the index entry to be struck out, so that it's visually
obvious in the index when a symbol is deprecated.
|
| |
| |
| |
| |
| |
| |
| | |
For GIR nodes with version annotations, such as "Since:", "Deprecated:",
and "Stability:", we generate stability notes at the top of each node's
documentation. These notes are given the CSS class "versioning-note" so
that we can format them nicely in DevDocs.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Skip private fields such as "priv" and "parent_instance". Unfortunately
not all private structure and parent instance fields are marked private,
and not all of them are named "priv" or "parent_instance".
This also includes fields that are contained within anonymous unions.
|