| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The disguised attribute started off as a way to indicate a typedef to a
structure pointer, e.g.
typedef struct Foo* FooPtr;
Over the years, though, it started to include opaque structure types,
e.g.
typedef struct _FooObject FooObject;
typedef struct _FooObjectClass FooObjectClass;
This has led to issues in language bindings, code generators, and
documentation generators, which now have issues when dealing with both
pointer aliases and opaque types.
An initial attempt at fixing this mess in commit f606183a ended up
breaking Vala, and had to be reverted.
To avoid breaking existing users we can follow a similar approach to the
allow-none/nullable/optional solution:
1. introduce a new pair of attributes: "pointer" and "opaque"
2. deprecate the "disguised" attribute
The "pointer" attribute covers the case of pointer types.
The "opaque" attribute covers the case of opaque structured types.
See also: https://gitlab.gnome.org/GNOME/vala/-/issues/735
Fixes: #101
|
|
|
|
|
| |
Add the (copy-func) and (free-func) annotations to the documentation,
and the copy-function and free-function attributes to the GIR schema.
|
|
|
|
|
|
|
|
|
| |
The default-value attribute for a property element is fundamentally
meant for documentation generators.
We only care about the GIR data, as the conversion from the default
value to a string is lossy by definition, and may very well not
roundtrip.
|
| |
|
| |
|
|
|
|
|
|
| |
Signals that have an emitter function should have an annotation to allow
consumers of the introspection XML to effectively pair signals to their
corresponding emitter functions that share the same prototype.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The "final" attribute is not namespaced. Like "abstract", the "final"
flag is shared across type systems, it's not strongly related to GObject
types.
|
| |
|
|
|
|
|
| |
Mention them in the annotations list, and add the new attributes to the
GIR schema.
|
|
|
|
|
|
|
|
| |
A "final" class is a leaf node in a derivable type hierarchy, and cannot
be derived any further.
This matches the changes in libgobject that introduced G_TYPE_FLAG_FINAL
to the type flags.
|
|
|
|
|
|
|
| |
The GNOME developers documentation website has been updated, and we're
in the process of moving API references elsewhere. The old documentation
is still available under developer-old.gnome.org, so let's update the
URLs we have in our documentation.
|
|
|
|
|
|
|
| |
This member will contain the string from the GEnumValue/GFlagsValue
'value_name' introspection dump.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
| |
Closes #373
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This updates the schema to validate all GIRs currently
available in Debian unstable except a few obviously broken ones.
For testing the following tools were used:
$ trang gir-1.2.rnc gir-1.2.rng
$ xmllint --noout --relaxng gir-1.2.rng Gtk-3.0.gir
https://bugzilla.gnome.org/show_bug.cgi?id=766313
|
|
This is an attempt at standardising the GIR XML in a way that we can
reliably validate; the schema is enough to validate simple GIR files,
but it still needs work for complex ones, like GTK's.
I've decided to use the compact Relax NG syntax as the schema format
because it's definitely easier to read and write that the DTD format.
Since the current XML version is 1.2, let's standardise on that instead
of making up a version 1.0.
|