]>
git.ipfire.org Git - thirdparty/vala.git/log
wb9688 [Tue, 26 May 2020 09:57:03 +0000 (11:57 +0200)]
parser: Map empty start/end index to 0/length for slice expressions
This allows a syntax like a[:], a[2:] or a[:3] for arrays and strings.
Co-authored-by: Simon Werbeck <simon.werbeck@gmail.com>
Fixes https://gitlab.gnome.org/GNOME/vala/issues/238
Rico Tzschichholz [Sun, 24 May 2020 17:25:41 +0000 (19:25 +0200)]
tests: Extend "s[p]lice" tests to increase coverage
Rico Tzschichholz [Sun, 24 May 2020 17:25:41 +0000 (19:25 +0200)]
codegen: Dup arrays only if length > 0, this consistently returns NULL (POSIX)
Rico Tzschichholz [Sun, 24 May 2020 12:15:38 +0000 (14:15 +0200)]
Revert "glib-2.0: Map given end == 0 for string.slice/splice() to string.length"
This reverts commit
f844ad1c02fb5b17e923a7ba4e69cf2a7df96a14 .
wb9688 [Thu, 21 May 2020 08:52:01 +0000 (10:52 +0200)]
glib-2.0: Map given end == 0 for string.slice/splice() to string.length
Fixes https://gitlab.gnome.org/GNOME/vala/issues/179
Rico Tzschichholz [Fri, 22 May 2020 16:31:46 +0000 (18:31 +0200)]
gtk+-3.0: Deprecated abstract methods are not required to be implemented
Rico Tzschichholz [Tue, 19 May 2020 13:34:56 +0000 (15:34 +0200)]
Sync NEWS from 0.48
Rico Tzschichholz [Tue, 19 May 2020 13:20:07 +0000 (15:20 +0200)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Tue, 19 May 2020 10:56:53 +0000 (12:56 +0200)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Tue, 19 May 2020 10:56:26 +0000 (12:56 +0200)]
webkit2gtk-4.0: Update to 2.29.1
Rico Tzschichholz [Mon, 18 May 2020 10:37:57 +0000 (12:37 +0200)]
gtk4: Update to 3.98.3+
028942c8
Rico Tzschichholz [Mon, 18 May 2020 10:30:07 +0000 (12:30 +0200)]
girparser: Add support for boolean "new" argument for methods
Rico Tzschichholz [Mon, 18 May 2020 10:26:14 +0000 (12:26 +0200)]
vala: Explicit "new" method may be incompatible with a posssible base method
Rico Tzschichholz [Mon, 18 May 2020 07:31:41 +0000 (09:31 +0200)]
codegen: Use loop index instead of get_ccode_pos() for ellipsis parameter
Otherwise this will cause an index clash resulting in loosing the first
variable list parameter.
Regression of
b1cb7036bee1f21e98e93ac34b31a95eeed32815
Fixes https://gitlab.gnome.org/GNOME/vala/issues/995
Rico Tzschichholz [Sun, 10 May 2020 14:40:56 +0000 (16:40 +0200)]
gtk4: Update to 3.98.3+
386b36a6
Rico Tzschichholz [Sun, 10 May 2020 10:54:15 +0000 (12:54 +0200)]
vala: Transform cast from integer-type to boxed-type
Don't generate faulty c-code with results in segmentation faults.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/992
Rico Tzschichholz [Sat, 9 May 2020 11:35:07 +0000 (13:35 +0200)]
vala: Transform cast from floating-type to boxed-type
Don't generate invalid c-code leading to "cannot convert to a pointer type"
Fixes https://gitlab.gnome.org/GNOME/vala/issues/991
Rico Tzschichholz [Sun, 10 May 2020 06:46:33 +0000 (08:46 +0200)]
codegen: Correctly handle cast-expression of real struct to nullable struct
Don't generate invalid c-code leading to "cannot convert to a pointer type"
Fix https://gitlab.gnome.org/GNOME/vala/issues/991
Rico Tzschichholz [Sat, 9 May 2020 06:17:47 +0000 (08:17 +0200)]
vala: Set value_type of undefined member-access to avoid further criticals
Rico Tzschichholz [Thu, 7 May 2020 18:58:36 +0000 (20:58 +0200)]
Use "str_equal" as equal_func for ArrayList<string> instances
Rico Tzschichholz [Thu, 7 May 2020 18:58:36 +0000 (20:58 +0200)]
parser: Use [Flags] for ModifierFlags
Rico Tzschichholz [Thu, 7 May 2020 18:58:36 +0000 (20:58 +0200)]
vala: Use stable hash for methods in HashMap of implicit_implementations
Fixes https://gitlab.gnome.org/GNOME/vala/issues/990
Rico Tzschichholz [Thu, 7 May 2020 08:44:54 +0000 (10:44 +0200)]
valadoc: Add implicit "Posix" using-directive for POSIX profile
Rico Tzschichholz [Thu, 7 May 2020 08:44:54 +0000 (10:44 +0200)]
valadoc: Keep using add_package() for default packages and handle POSIX
Caused empty documentations for glib-2.0 and gobject-2.0 after
bd73f1ba11c387c919ad06d44badfd7065d1e35f
Fixes https://gitlab.gnome.org/GNOME/vala/issues/989
Rico Tzschichholz [Tue, 5 May 2020 10:28:32 +0000 (12:28 +0200)]
vala: params-array parameter is not allowed in abstract/virtual method
Fixes https://gitlab.gnome.org/GNOME/vala/issues/985
Rico Tzschichholz [Tue, 5 May 2020 07:32:48 +0000 (09:32 +0200)]
vala: SemanticAnalyzer.get_instance_base_type() is not allowed to return null
This is private internal API.
Rico Tzschichholz [Tue, 5 May 2020 07:19:28 +0000 (09:19 +0200)]
vala: Allow node_reference being null in SemanticAnalyzer.get_instance_base_type()
This allows a wider usage of DataType.get_actual_type() without an actual
reference to the AST.
This is private internal API.
Rico Tzschichholz [Sat, 2 May 2020 07:56:25 +0000 (09:56 +0200)]
gtk4: Update to 3.98.3+
429e0bfa
Rico Tzschichholz [Mon, 27 Apr 2020 12:43:59 +0000 (14:43 +0200)]
gitignore: Update and add some IDE files
Rico Tzschichholz [Fri, 29 Mar 2019 13:27:14 +0000 (14:27 +0100)]
vala: Check coverage of switch on enum-type and issue warnings if needed
See https://gitlab.gnome.org/GNOME/vala/issues/777
Rico Tzschichholz [Thu, 23 Apr 2020 07:03:03 +0000 (09:03 +0200)]
Sync NEWS from 0.48
Rico Tzschichholz [Thu, 23 Apr 2020 05:40:41 +0000 (07:40 +0200)]
tests: Extend "fastvapi" test to increase coverage
Rico Tzschichholz [Thu, 23 Apr 2020 05:44:21 +0000 (07:44 +0200)]
Revert "vala: Set default_construction_method in semantic-analyzer check if required"
This reverts commit
d176f179581fac880f5598bb53b3475392af2c4b .
Fixes https://gitlab.gnome.org/GNOME/vala/issues/982
Rico Tzschichholz [Tue, 21 Apr 2020 13:15:01 +0000 (15:15 +0200)]
Sync NEWS from 0.48
Rico Tzschichholz [Tue, 21 Apr 2020 12:27:13 +0000 (14:27 +0200)]
tests: Fix make dist
Rico Tzschichholz [Tue, 21 Apr 2020 11:37:11 +0000 (13:37 +0200)]
gtk4: Update to 3.98.3
Rico Tzschichholz [Mon, 20 Apr 2020 14:26:49 +0000 (16:26 +0200)]
gtk4: Update to 3.98.2+
2869f80b
Rico Tzschichholz [Sun, 19 Apr 2020 16:20:41 +0000 (18:20 +0200)]
gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list()
Fixes https://gitlab.gnome.org/GNOME/vala/issues/340
Rico Tzschichholz [Sun, 19 Apr 2020 16:20:41 +0000 (18:20 +0200)]
girparser: Improve detection of AsyncReadyCallback/AsyncResult parameters
Rico Tzschichholz [Sun, 19 Apr 2020 16:20:41 +0000 (18:20 +0200)]
girparser: Drop special handling of GLib.Data, GLib.PtrArray and GLib.String
Rico Tzschichholz [Sun, 19 Apr 2020 16:20:41 +0000 (18:20 +0200)]
girparser: Move special handling for certain parameters to process_callable()
- Detect delegate throwing error when GLib.Error out-parameter exists
- Mark method as async based on finding an AsyncReadyCallback parameter
- Apply null-literal default-value for trailing GLib.Cancellable? parameters
Rico Tzschichholz [Sun, 19 Apr 2020 16:20:41 +0000 (18:20 +0200)]
codegen: Fix default of CCode.pos for parameters in async methods
Rico Tzschichholz [Sat, 18 Apr 2020 11:10:34 +0000 (13:10 +0200)]
gtk4: Update to 3.98.2+
6a4f7889
Rico Tzschichholz [Sat, 18 Apr 2020 11:10:34 +0000 (13:10 +0200)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Sat, 18 Apr 2020 11:10:34 +0000 (13:10 +0200)]
glib-2.0: Add Unicode 13.0 symbols
Princeton Ferro [Fri, 17 Apr 2020 06:45:12 +0000 (02:45 -0400)]
vala: Ensure non-empty argument list for "disconnect" before accessing it
Avoids an internal assertion on accessing an empty collection.
Rico Tzschichholz [Thu, 16 Apr 2020 14:38:55 +0000 (16:38 +0200)]
tests: Actually make the "version check" tests work
Rico Tzschichholz [Thu, 16 Apr 2020 12:36:10 +0000 (14:36 +0200)]
tests: Add "version check" tests to increase coverage
Use several symbols from glib-2.0 >= 2.50 and refer to custom pkg-config
file defining 2.48.0 as version.
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)]
vala: Quote symbol on report by version attribute check
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)]
vala: Perform version check for types of non-external variable declarations
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)]
vala: Don't perform version check on internal lambda method
Rico Tzschichholz [Thu, 16 Apr 2020 08:00:21 +0000 (10:00 +0200)]
glib-2.0: Guard Pid.to_string() with GLIB_2_50 to deal with G_PID_FORMAT
Otherwise building with glib-2.0 < 2.50 breaks due availability check of
GLib.Pid.FORMAT.
Rico Tzschichholz [Thu, 16 Apr 2020 08:00:21 +0000 (10:00 +0200)]
vala: Fix cleaning of output in CodeContext.pkg_config_modversion()
Rico Tzschichholz [Thu, 16 Apr 2020 08:00:21 +0000 (10:00 +0200)]
Revert "vala: Drop mitigation in CodeContext.pkg_config_modversion() when it failed"
This reverts commit
09e565a511f43e48737b0bfb881ccfb32cf0ab82 .
Rico Tzschichholz [Wed, 15 Apr 2020 19:17:33 +0000 (21:17 +0200)]
vala: Check assigned handler of dynamic signal before proceeding further
This fixes criticals if an errornous expression was given.
Rico Tzschichholz [Wed, 15 Apr 2020 14:24:10 +0000 (16:24 +0200)]
codegen: Check vfunc of abstract/virtual properties for NULL before using it
Fixes https://gitlab.gnome.org/GNOME/vala/issues/153
Rico Tzschichholz [Wed, 15 Apr 2020 14:24:10 +0000 (16:24 +0200)]
codegen: Check vfunc of abstract/virtual methods for NULL before using it
Fixes https://gitlab.gnome.org/GNOME/vala/issues/153
Rico Tzschichholz [Wed, 15 Apr 2020 12:06:57 +0000 (14:06 +0200)]
codegen: Fix base-access to non-abstract/non-virtual properties
Don't unconditionally try to access vfuncs and actually emit assignments.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/204
Rico Tzschichholz [Mon, 13 Apr 2020 13:29:56 +0000 (15:29 +0200)]
testrunner: Add -Werror=array-bounds
Rico Tzschichholz [Mon, 13 Apr 2020 13:29:56 +0000 (15:29 +0200)]
codegen: Use specified indices to access multidimensional array constants
This fixes compile issues together with -Waggressive-loop-optimizations
and warnings with -Warray-bounds.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/905
Rico Tzschichholz [Sun, 12 Apr 2020 09:02:29 +0000 (11:02 +0200)]
codegen: Correctly handle signals returning real non-nullable struct
Fixes https://gitlab.gnome.org/GNOME/vala/issues/466
Rico Tzschichholz [Sun, 12 Apr 2020 09:02:29 +0000 (11:02 +0200)]
codegen: Use get_value_*_function() in GSignalModule.generate_marshaller()
This makes sure to pick up the intended function like the generated ones
for fundamental classes.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/468
Andrea Del Signore [Fri, 3 Apr 2020 17:10:40 +0000 (19:10 +0200)]
codegen: Fix binary 'in' operator on array with boxed value-typed needle
See https://gitlab.gnome.org/GNOME/vala/issues/951
Princeton Ferro [Thu, 9 Apr 2020 19:15:45 +0000 (21:15 +0200)]
parser: Handle incomplete expression statements
Incomplete expression statements are parsed as expression statements
now, rather than local variable declarations. This primarily affects
incomplete member access expressions at the end of blocks.
Rico Tzschichholz [Wed, 10 Apr 2019 07:23:54 +0000 (09:23 +0200)]
vala: Add SourceLocation.to_string()
Rico Tzschichholz [Tue, 19 Mar 2019 14:58:25 +0000 (15:58 +0100)]
vala: Add SourceReference.contains()
Rico Tzschichholz [Sat, 11 Apr 2020 11:39:01 +0000 (13:39 +0200)]
gstreamer-1.0: Don't skip GST_*_FORMAT strings
Partially reverts
10b87427a263886b0e36d5f4a297d6e079b74b6e
Fixes https://gitlab.gnome.org/GNOME/vala/issues/970
Princeton Ferro [Sat, 11 Apr 2020 07:32:54 +0000 (03:32 -0400)]
vala: Don't use possibly uninitialized backing field of package_name
Don't check _package_name directly, which may be null at the time
installed_version is accessed. This fixes a bug where Vala wouldn't
generate errors when using symbols that are unavailable for a package
version.
Introduced by
7f0e90a5c34f437b7ab8f9197a9d42fc835b1a60
Fixes https://gitlab.gnome.org/GNOME/vala/issues/971
Rico Tzschichholz [Sat, 11 Apr 2020 08:55:52 +0000 (10:55 +0200)]
vala: Drop mitigation in CodeContext.pkg_config_modversion() when it failed
See https://gitlab.gnome.org/GNOME/vala/issues/971
vanadiae [Fri, 10 Apr 2020 15:44:42 +0000 (17:44 +0200)]
glib-2.0: Fix Filename.canonicalize() binding of g_canonicalize_filename
The required attibutes were not applied correctly when introduced by
c124f827557420b620f7118cfbabb15d83b4a3e6
Rico Tzschichholz [Thu, 9 Apr 2020 12:14:43 +0000 (14:14 +0200)]
gstreamer-app-1.0: Don't merge Src.push_buffer_*() signal with its method
Fixes https://gitlab.gnome.org/GNOME/vala/issues/968
Rico Tzschichholz [Wed, 8 Apr 2020 12:32:07 +0000 (14:32 +0200)]
vala: Set default_construction_method in semantic-analyzer check if required
Doing this in the parser is not reasonable while this is clearly a sematic
requirement.
Rico Tzschichholz [Tue, 7 Apr 2020 10:39:20 +0000 (12:39 +0200)]
tests: Add "Bus/DBusConnection.get_proxy*()" tests to increase coverage
Rico Tzschichholz [Mon, 6 Apr 2020 13:39:33 +0000 (15:39 +0200)]
Sync NEWS from 0.48
Rico Tzschichholz [Mon, 6 Apr 2020 07:57:33 +0000 (09:57 +0200)]
gobject-2.0: Add ParamSpec/Signal.is_valid_name() since 2.66
Rico Tzschichholz [Sun, 5 Apr 2020 20:29:00 +0000 (22:29 +0200)]
gio-2.0: Update to 2.65.0~
a136776e
Rico Tzschichholz [Sun, 5 Apr 2020 20:29:00 +0000 (22:29 +0200)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Sun, 5 Apr 2020 20:29:00 +0000 (22:29 +0200)]
gtk4: Update to 3.98.2+
11495027
Rico Tzschichholz [Sun, 5 Apr 2020 20:24:58 +0000 (22:24 +0200)]
codegen: Don't pass CCodeCastExpression to NULL-aware free macro
This resulted in invalid C code:
error: lvalue required as left operand of assignment
Fixes https://gitlab.gnome.org/GNOME/vala/issues/953
Corentin Noël [Fri, 3 Apr 2020 10:53:27 +0000 (12:53 +0200)]
gdbus: Use GDBusProxy API to set `g-interface-info` at initialization time
This allows GDBusProxy subclasses to have the g-interface-info assigned
even when the class hasn't been created by Vala itself.
Keep obsolete setting of 'vala-dbus-interface-info' to preserve backwards
compatibility.
Corentin Noël [Sun, 5 Apr 2020 12:25:29 +0000 (14:25 +0200)]
tests: Extend "DBus signals" test to increase coverage
This adds code coverage for generating multiple signals, tests for
arrays and ensures that the private signals are not leaking.
Rico Tzschichholz [Sun, 5 Apr 2020 12:45:34 +0000 (14:45 +0200)]
vala: Warn about usage of override to implement abstract interface methods
Fixes criticals in GAsyncModule.visit_method()
vala_symbol_get_parent_symbol: assertion 'self != NULL' failed
which were introduced with
12db9b7eeb1f53975010d89839d554b5fcf99831
Mason Bogue [Fri, 20 Mar 2020 22:42:59 +0000 (18:42 -0400)]
vala: Drop --use-header compiler option and enable it by default
Import definitions from generated header files if available
Fixes https://gitlab.gnome.org/GNOME/vala/issues/713
Mason Bogue [Sat, 21 Mar 2020 23:14:51 +0000 (19:14 -0400)]
codegen: Use defintions of public header in internal header if available
Add CCode API to distinguish between public and internal header files.
See https://gitlab.gnome.org/GNOME/vala/issues/713
Rico Tzschichholz [Sun, 5 Apr 2020 09:02:01 +0000 (11:02 +0200)]
codegen: Correctly handle transformation of translated string-literal constants
The required header includes were not emited to the correct declaration space.
Rico Tzschichholz [Sun, 5 Apr 2020 07:11:04 +0000 (09:11 +0200)]
codegen: Include "glib.h" for G_BEGIN_DECLS/G_END_DECLS usage
Rico Tzschichholz [Sat, 4 Apr 2020 08:25:31 +0000 (10:25 +0200)]
vala: Parse standalone integer/real literals as expression statement
Issue an error in the semantic check to forbid such statements.
Parsing such an errornous expression-statement failed since
5464767cfa5a8dbbc5f46293693ca627b8fcc46d
Fixes https://gitlab.gnome.org/GNOME/vala/issues/961
Rico Tzschichholz [Wed, 1 Apr 2020 18:07:23 +0000 (20:07 +0200)]
tests: Extend "array foreach" test to increase coverage
Rico Tzschichholz [Wed, 1 Apr 2020 12:02:55 +0000 (14:02 +0200)]
vala: Consider boolean types are compatible with each other
Rico Tzschichholz [Tue, 31 Mar 2020 20:56:44 +0000 (22:56 +0200)]
tests: Add "expression as argument" tests to increase coverage
Rico Tzschichholz [Tue, 31 Mar 2020 12:55:59 +0000 (14:55 +0200)]
codegen: Correct field declaration for captured inline-allocated array
Also pass proper size to memset for local temp variables of
inline-allocated arrays in asynchronous context.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/954
Rico Tzschichholz [Tue, 31 Mar 2020 08:39:38 +0000 (10:39 +0200)]
codegen: Don't free value if property setter takes ownership
Correctly handle owned property accessor in object initializer.
In addition to
c0e955db075d3d155782c167a0abb81e0dce5f59
See https://gitlab.gnome.org/GNOME/vala/issues/953
Rico Tzschichholz [Tue, 31 Mar 2020 08:39:38 +0000 (10:39 +0200)]
tests: Add "local clash with implicit this" test to increase coverage
Rico Tzschichholz [Tue, 31 Mar 2020 08:39:38 +0000 (10:39 +0200)]
tests: Add "switch enum" test to increase coverage
Rico Tzschichholz [Mon, 30 Mar 2020 06:47:17 +0000 (08:47 +0200)]
codegen: Avoid critical trying to serialize an unsupported type to Variant
Fixes https://gitlab.gnome.org/GNOME/vala/issues/952
Rico Tzschichholz [Sun, 29 Mar 2020 12:30:49 +0000 (14:30 +0200)]
vala: Handle all ctors and dtors in CodeWriter
Rico Tzschichholz [Sun, 29 Mar 2020 12:30:49 +0000 (14:30 +0200)]
vala: Handle unlock() statement in CodeWriter
Simon Werbeck [Tue, 24 Mar 2020 16:35:09 +0000 (17:35 +0100)]
vala: Support struct initializer list in non-constant array
A struct initializer list contained in an array initializer list is now
transformed to a struct creation expression. The pre-existing logic
ensures that constant expressions are not transformed.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/949
Rico Tzschichholz [Tue, 25 Feb 2020 11:35:15 +0000 (12:35 +0100)]
codegen: Append initializer for "_*_size_" of array field in internal struct
Fixes https://gitlab.gnome.org/GNOME/vala/issues/914
Rico Tzschichholz [Thu, 3 Jan 2019 11:15:21 +0000 (12:15 +0100)]
vala: Move setting of target profile and standard packages into CodeContext