Commits on Source (64)
-
Christoph Reiter authored7a8256eb
-
Xavier Claessens authored
meson.source_root() return the root of the main project, but in this case we want the root of the gobject-introspection (sub)project.
0c414e34 -
Emmanuele Bassi authored
The scanner is chocking on the `__float80` and `__float128` types that are provided by GCC as extensions to ISO/IEC TS 18661-3:2015: https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html Fixes: #384
60b0cf2f -
Cristian Molina authored7d2a1694
-
Christoph Reiter authored
ccache is currently broken somehow. With 32bit Windows getting less and less usage/testing it's a good idea to move to 64 bit anyway.
17563f99 -
John Ericson authored
This resulted in duplicate module errors for me.
00bce556 -
John Ericson authored
Because of skepticism I received in #224, I made this PR which keeps the testsuite and CI improvements but doesn't add any new build options. I hope this would be less controversial: - no new knobs - tests for those using existing build options - CI tests `build_introspection_data = false`
f9c1b6f6 -
Philip Withnall authored
GLib upstream has renamed its `master` branch to `main`. See https://gitlab.gnome.org/GNOME/glib/-/issues/2348 . Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
aeaea290 -
Philip Withnall authored
Use the depth= argument from Meson 0.52 to limit the clone depth of subprojects to 1. This should make the CI images a little smaller, and reduce the bandwidth required to build them (although that’s not so important because it only happens once every few months). Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
f49a6632 -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
91ce4766 -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
9bef18a7 -
David King authored
Unref type before reusing it. Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
c0bd13cf -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
f3b8d277 -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
4dcc1b35 -
David King authored
Check for errors during g_file_open_tmp() and fdopen(). Make sure to free tmp_name and error as needed. Found with Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
3cab0172 -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
454c7188 -
David King authored
Found by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=1938731
d5cdbba5 -
Marc-André Lureau authored
Don't rely on runtime name, but on C header parsed symbol. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
01821d5e -
Marc-André Lureau authored
This member will contain the string from the GEnumValue/GFlagsValue 'value_name' introspection dump. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
b8880276 -
Emmanuele Bassi authored052c60ef
-
Emmanuele Bassi authored
Fedora 29 was EOL'ed in 2019.
106ca589 -
Emmanuele Bassi authoredcb633f5f
-
Emmanuele Bassi authored
Not every Linux distro ships with Docker, and Podman is nicer.
2cb1be52 -
Emmanuele Bassi authoredc6258401
-
Emmanuele Bassi authored
Don't call Ninja directly, and don't enter the build directory. Also move shared options to environment variables, so we don't have to copy and paste them everywhere.
5d8f4e7e -
Emmanuele Bassi authored
Drop explicit `-Wall` and `-Wextra` from the compiler flags. Meson adds `-Wall` with `warning_level=1`, and `-Wextra` with `warning_level=2`. Fixes: #319
8a4db08c -
Emmanuele Bassi authored
Avoid a "maybe uninitialized" compiler warning.
e3f02be1 -
Emmanuele Bassi authored
Don't install them as part of the CI job. It's pointless repetition.
2b98e9b7 -
Emmanuele Bassi authored
GLib dropped the internal libpcre copy, which means we end up with a subproject inside a subproject. Since libpcre is frozen, we can rely on using the installed copy.
e38042fc -
Emmanuele Bassi authored
GLib has dropped the internal copy libpcre, so we need to promote libpcre's subproject to the top level.
09e08bd6 -
David King authored4deecd65
-
Emmanuele Bassi authored
Make the variable names intelligible, and include a bunch of built files that are necessary to ensure that the generated GIR data actually matches the GLib API.
793b46cc -
Philip Chimento authored
The (out caller-allocates) and (out callee-allocates) annotations are meant for structured or pointer types. Plain old data types are just regular out parameters and don't need the annotation about who allocates them. See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2005
c691d9f0 -
Emmanuele Bassi authored
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.
7719bab8 -
Philip Chimento authored
This is so that GJS can use these variables in its own build files when including gobject-introspection as a Meson subproject. Previously we took the approach of using the files in their installed locations, but that doesn't work as a subproject.
4926312b -
Emmanuele Bassi authored
Up to the 2.69.1 tag.
937c37ba -
Emmanuele Bassi authored
We are going to introduce new API.
ffb165a5 -
Emmanuele Bassi authored
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.
661ca094 -
Emmanuele Bassi authored702fe967
-
Emmanuele Bassi authored
We need to check the container type before trying to obtain a GIPropertyInfo for GIFunctionInfos that have a SETTER or a GETTER flag set.
700e8776 -
Emmanuele Bassi authored
We introduce two new annotations: - (set-property PROPERTY_NAME) - (get-property PROPERTY_NAME) These annotations are valid inside function blocks for methods on objects and interfaces, and define whether a function is a property accessor, e.g.: /** * gtk_widget_set_name: (set-property name) * @self: ... * @name: ... * * ... */ /** * gtk_widget_get_name: (get-property name) * @self: ... * * ... * * Returns: ... */ The annotations are transformed into the GIR data as attributes: - glib:set-property="PROPERTY_NAME" - glib:get-property="PROPERTY_NAME" The underlying typelib data has had flags for setter and getter functions for a while, but they have never been plugged into the GIR data or the introspection scanner. Now they are; you can retrieve the GIPropertyInfo from a GIFunctionInfo that has the GI_FUNCTION_IS_SETTER or GI_FUNCTION_IS_GETTER flags set. Fixes: #13
3ec400b0 -
Emmanuele Bassi authored
Add an accessors pair to Regress.TestObj and annotate them.
e39804f3 -
Emmanuele Bassi authored
Mention them in the annotations list, and add the new attributes to the GIR schema.
63eeaf11 -
Emmanuele Bassi authored
A GObject property can be accessed generically through the GObject API, e.g. g_object_set_property() and g_object_get_property(). Properties typically also have public accessor functions, which are (according to our own best practices) called through the generic API. The introspection data is currently missing the relation between a property and its public accessor functions. With this information, a language binding could, for instance, avoid exposing the C API entirely, thus minimizing the chances of collisions between property names and accessor functions; alternatively, a binding could call the C API directly instead of going through the generic GObject API, thus avoiding the boxing and unboxing from a native type to a GIArgument and finally into a GValue, and vice versa. In the GIR, we add two new attributes to the `property` element: - setter="SYMBOL" - getter="SYMBOL" where "symbol" is the C function identifier of the setter and getter functions, respectively. The `setter` attribute is only applied to writable, non-construct-only properties; the `getter` attribute is only applied to readable properties. We maintain the ABI compatibility of the typelib data by using 20 bits of the 25 reserved bits inside the PropertyBlob structure. The data is exposed through two new GIPropertyInfo methods: - g_property_info_get_setter() - g_property_info_get_getter() which return the GIFunctionInfo for the setter and getter functions, respectively.
b058ccae -
Emmanuele Bassi authored
We need new annotations to allow library developers to associate a setter and a getter functions to a property definition.
f83e75dd -
Emmanuele Bassi authored382430dc
-
Emmanuele Bassi authoreda2067865
-
Emmanuele Bassi authored
Public accessor functions are the functions typically called through g_object_set_property() and g_object_get_property().
de2f64c4 -
Emmanuele Bassi authored
The heuristic is pretty trivial: for any given non-construct-only, writable property, we check if there's a `set_<property>` method; for any given readable property, we check if there's a `get_<property>` method.
9b5eae64 -
Emmanuele Bassi authored
If a property is boolean and read-only, the getter method can be the same as the property name, for instance: - gtk_widget_has_focus() - gtk_media_stream_has_audio()
194088c2 -
Emmanuele Bassi authored
Easier to read than `0x3ff`.
4bcb26d6 -
Emmanuele Bassi authored
The `set-property` and `get-property` identifier annotations only apply to methods. The `setter` and `getter` identifier annotations only apply to properties.
d324947d -
Emmanuele Bassi authored
If the (set-property) and (get-property) annotations on methods do not round trip with the (setter) and (getter) annotations on the corresponding property, we want to emit a warning.
2b6c06da -
Emmanuele Bassi authored
Some readonly boolean properties in the form of 'has-foo' or 'is-bar' expose a getter function in the form of `get_has_foo()` or `get_is_bar()`, according to extant coding practices. We should ensure we still check for those.
dfb5ce07 -
Emmanuele Bassi authored
Use the parent type and the function symbol when erroring out if we can't find a property accessor.
8d007420 -
Emmanuele Bassi authored
If a property is not introspectable we need to decouple it from its accessors; the property data will not be compiled into the typelib, and when the compiler will try to resolve the offsets into the binary blob we'll get a fatal exception.
e79ea48a -
Emmanuele Bassi authored
The "final" attribute is not namespaced. Like "abstract", the "final" flag is shared across type systems, it's not strongly related to GObject types.
64ae0bfd -
Emmanuele Bassi authored
For historical reasons, we have boxed types that do not follow the typical conversion from CamelCase to snake_case when it comes to their get_type function. The introspection scanner will correctly detect that a type is matched to that get_type function, but then it will default to tokenize the get_type function to set the c_symbol_prefix of the given type. The method pairing code in the main transformation path takes that mismatch into consideration, but the constructor pairing code does not. This leads to interesting cases, like GString. GString is correctly detected as GLib.String, and correctly matched to its `g_gstring_get_type()` type function, but its c_symbol_prefix is set to `gstring` after the tokenization. While methods like `g_string_append()` are correctly paired to the `GLib.String` node, constructors like `g_string_new()` do not, and end up being turned into function nodes, like `GLib.string_new`, even if they are annotated as constructors. I'm not entirely confident that changing the c_symbol_prefix tokenization this late in the game is going to be free of regressions; instead, we provide a way for pairing constructors if they are annotated as such. In other words: non-annotated constructors of types that have a different symbol prefix than the one of the get_type function will stay as they are today—a global function. To enforce the matching, we rely on an explicit `(constructor)` annotation; at least, this should ensure that we have explicit buy in from the maintainers of the API. Fixes: #399
3b17bb37 -
Emmanuele Bassi authorede3e06660
-
Emmanuele Bassi authored89764d13
-
Emmanuele Bassi authored7a7f989f
-
Emmanuele Bassi authored
GLib 2.70 has just been released, so let's sync up the documentation and annotations. Fixes: #402
c3a03a68 -
Emmanuele Bassi authored4502dd33
-
Jeremy Bicha authoreda0a5aed3
docs/g-ir-doc-tool.1
0 → 100644
docs/website/tools/g-ir-doc-tool.rst
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.