]>
git.ipfire.org Git - thirdparty/vala.git/log
Rico Tzschichholz [Thu, 23 Jul 2020 06:24:15 +0000 (08:24 +0200)]
girparser: Skip 'docsection' elements in <namespace>
See https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/226
Rico Tzschichholz [Wed, 22 Jul 2020 13:04:04 +0000 (15:04 +0200)]
vala: Check error-type accessibility of creation methods and delegates
Rico Tzschichholz [Wed, 22 Jul 2020 08:16:39 +0000 (10:16 +0200)]
codegen: Check param for null before using it
Regression of
5490b0b21a4089d803d51c91311430d60d266f7b
This caused criticals like:
vala_get_ccode_array_length: assertion 'node != NULL' failed
See https://gitlab.gnome.org/GNOME/vala/issues/929
Rico Tzschichholz [Mon, 20 Jul 2020 18:11:13 +0000 (20:11 +0200)]
vala: Allow prototype access to signal with emitter
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1040
Rico Tzschichholz [Mon, 20 Jul 2020 18:11:13 +0000 (20:11 +0200)]
tests: Add "access vfunc pointer" test to increase coverage
Jean Pierre Dudey [Sun, 19 Jul 2020 21:48:12 +0000 (16:48 -0500)]
girwriter: Write c:symbol-prefix on supported elements
This specifies the symbol prefix, e.g.: window in gtk_window_new
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1038
Jean Pierre Dudey [Sun, 19 Jul 2020 23:34:36 +0000 (18:34 -0500)]
girwriter: Write c:type="void" when name="none"
This is to match g-ir-scanner behaviour of using the c:type to
identify void return value.
Jean Pierre Dudey [Sun, 19 Jul 2020 18:32:07 +0000 (13:32 -0500)]
girwriter: Add c:identifier-prefixes to <namespace>
c:prefix is deprecated and c:identifier-prefixes should be used.
Rico Tzschichholz [Mon, 20 Jul 2020 08:37:53 +0000 (10:37 +0200)]
vala: Improve check of expression passed to yield
Report a proper error and fix codegen cricical when a signal is given:
vala_ccode_function_add_expression: assertion 'expression != NULL' failed
See https://gitlab.gnome.org/GNOME/vala/issues/1039
Rico Tzschichholz [Fri, 17 Jul 2020 21:43:23 +0000 (23:43 +0200)]
tests: Fix "methods/extern" test with -Werror=address and gcc 5.4.0
Rico Tzschichholz [Fri, 17 Jul 2020 21:23:59 +0000 (23:23 +0200)]
gtk+-3.0: Resolve conflicts of signals with properties
Rico Tzschichholz [Fri, 17 Jul 2020 21:23:59 +0000 (23:23 +0200)]
girparser: Warn about conflicting signals and properties
Rico Tzschichholz [Fri, 17 Jul 2020 10:35:03 +0000 (12:35 +0200)]
vala: Fix code indentation
Rico Tzschichholz [Fri, 17 Jul 2020 10:29:25 +0000 (12:29 +0200)]
libvaladoc: Support exporting the `class` modifier on fields
Corentin Noël [Fri, 17 Jul 2020 08:35:37 +0000 (10:35 +0200)]
libvaladoc: Support exporting the `class` modifier on methods
Rico Tzschichholz [Thu, 16 Jul 2020 13:25:05 +0000 (15:25 +0200)]
vala: Tranform instance member-access to a static one if possible
There is a warning issued already and this cleans up the AST to prevent
unwanted behaviour in the code-generator, which resulted in the
invocation of "CCodeBaseModule.emit_temp_var()" and criticals like:
vala_ccode_function_add_declaration: assertion 'self != NULL' failed
vala_ccode_function_add_assignment: assertion 'self != NULL' failed
Fixes https://gitlab.gnome.org/GNOME/vala/issues/270
Rico Tzschichholz [Wed, 15 Jul 2020 15:46:58 +0000 (17:46 +0200)]
vala: Fully qualify member-access when using-directive was used to resolve
Fixes https://gitlab.gnome.org/GNOME/vala/issues/57
Rico Tzschichholz [Tue, 14 Jul 2020 12:13:51 +0000 (14:13 +0200)]
tests: Add "pre/post-increment" tests to increase coverage
Rico Tzschichholz [Tue, 14 Jul 2020 12:13:51 +0000 (14:13 +0200)]
codegen: Inline allocated and constant arrays are never NULL
Found by -Werror=tautological-pointer-compare
Rico Tzschichholz [Tue, 14 Jul 2020 12:13:51 +0000 (14:13 +0200)]
vapi: Disable deprecation warnings when checking bindings
Rico Tzschichholz [Sun, 12 Jul 2020 11:34:12 +0000 (13:34 +0200)]
webkit2gtk-4.0: Update to 2.29.3
Rico Tzschichholz [Sat, 11 Jul 2020 17:06:04 +0000 (19:06 +0200)]
vala: Handle parameter initializer without value-type
This caused criticals like:
vala_data_type_compatible: assertion 'self != NULL' failed
See https://gitlab.gnome.org/GNOME/vala/issues/1029
Rico Tzschichholz [Sat, 11 Jul 2020 16:29:42 +0000 (18:29 +0200)]
codegen: Properly compare string if binary-expression contains string-literal
Found by -Werror=address
Rico Tzschichholz [Wed, 8 Jul 2020 20:57:56 +0000 (22:57 +0200)]
tests: Add "unique namespace" test
A namespace symbol is unique for a given name in its CodeContext. This
means attributes are inherited accross all occurances.
Rico Tzschichholz [Sun, 5 Jul 2020 19:40:22 +0000 (21:40 +0200)]
tests: Extend "default gtype" tests to increase coverage
Rico Tzschichholz [Sat, 4 Jul 2020 14:04:22 +0000 (16:04 +0200)]
vala: Return copy of constant type in get_value_type_for_symbol()
Rico Tzschichholz [Sat, 4 Jul 2020 14:04:22 +0000 (16:04 +0200)]
vala: Recursive check of assignment target to recognize constants
See https://gitlab.gnome.org/GNOME/vala/issues/944
Rico Tzschichholz [Sat, 4 Jul 2020 07:07:06 +0000 (09:07 +0200)]
vala: Property must be writable when invoking ReturnsModifiedPointer method
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1023
Rico Tzschichholz [Fri, 3 Jul 2020 17:33:41 +0000 (19:33 +0200)]
vala: Don't allow "resize" invocation on variable with unowned array type
Fixes https://gitlab.gnome.org/GNOME/vala/issues/928
Rico Tzschichholz [Tue, 12 May 2020 05:28:29 +0000 (07:28 +0200)]
glib-2.0: Add AtomicUint, an alternation of AtomicInt for uint
Fixes https://gitlab.gnome.org/GNOME/vala/issues/915
Rico Tzschichholz [Thu, 2 Jul 2020 14:50:36 +0000 (16:50 +0200)]
vala: Improve error handling of nested initializer lists
This avoids reporting consequential errors.
Rico Tzschichholz [Thu, 2 Jul 2020 11:11:52 +0000 (13:11 +0200)]
tests: Don't use invalid syntax to declare local variable with array type
See https://gitlab.gnome.org/GNOME/vala/issues/942
Rico Tzschichholz [Thu, 2 Jul 2020 11:11:52 +0000 (13:11 +0200)]
vala: Avoid subsequent critical caused by invalid array type for constant
Rico Tzschichholz [Wed, 1 Jul 2020 09:06:59 +0000 (11:06 +0200)]
Release 0.46.11
Rico Tzschichholz [Tue, 30 Jun 2020 13:39:55 +0000 (15:39 +0200)]
harfbuzz-gobject: Update to 2.6.8
Rico Tzschichholz [Tue, 19 May 2020 10:56:26 +0000 (12:56 +0200)]
webkit2gtk-4.0: Update to 2.29.2
Rico Tzschichholz [Fri, 26 Jun 2020 13:27:11 +0000 (15:27 +0200)]
vala: Don't carry floating reference into unknown target type expression
A floating reference result of a method, which may throw an error, needs
to be sinked when passed as argument for ellipsis parameter.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1018
Rico Tzschichholz [Fri, 26 Jun 2020 11:46:07 +0000 (13:46 +0200)]
tests: Add "named argument" test to increase coverage
Rico Tzschichholz [Fri, 26 Jun 2020 06:43:12 +0000 (08:43 +0200)]
vala: Improve parameter check of "get" method meant to be used by foreach
The index-based iteration requires the "get" method to take one integer
compatible parameter. Otherwise continue checking other options.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1017
Chris White [Mon, 22 Jun 2020 12:24:48 +0000 (08:24 -0400)]
build: Update git-version-gen to latest upstream
From commit
8a09003664733eb6bef031f56ef9cd575e403023 of
https://git.savannah.gnu.org/cgit/autoconf.git/tree/build-aux/git-version-gen
Rico Tzschichholz [Wed, 17 Jun 2020 17:26:55 +0000 (19:26 +0200)]
codegen: Cast initializer-list to struct for non-constant/non-array assignments
Avoid invalid c-code and use the correct syntax for compound literals.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1013
Rico Tzschichholz [Wed, 17 Jun 2020 14:58:56 +0000 (16:58 +0200)]
girparser: Actually respect given cprefix metadata for enumerations
Rico Tzschichholz [Mon, 15 Jun 2020 18:18:11 +0000 (20:18 +0200)]
vala: Use correct value-type for ArrayCreationExpression used as argument
Copy fixed_length and inline_allocated attributes from formal-target-type.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1009
Rico Tzschichholz [Sun, 14 Jun 2020 06:59:51 +0000 (08:59 +0200)]
Consistently use get_ccode_lower_case_prefix() for function names
Create the expected name for "constructor" and "finalize" functions
which are non-public API.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1008
Rico Tzschichholz [Thu, 11 Jun 2020 11:29:52 +0000 (13:29 +0200)]
tests: Build typelib if g-ir-compiler is available
Corentin Noël [Fri, 27 Mar 2020 12:32:58 +0000 (13:32 +0100)]
libvaladoc/girimporter: Skip "function-macro" elements
This is the same patch as in commit
f51d9dfdaf97ab5b8377d7e5bb78cfc9b232dc86
Rico Tzschichholz [Sun, 7 Jun 2020 13:29:07 +0000 (15:29 +0200)]
harfbuzz-gobject: Update to 2.6.7
Rico Tzschichholz [Wed, 10 Jun 2020 12:01:05 +0000 (14:01 +0200)]
girwriter: Append symbol-attributes to callback field rather than its type
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1006
Rico Tzschichholz [Sat, 6 Jun 2020 07:53:19 +0000 (09:53 +0200)]
vala: Correctly handle qualified struct type reference in initializer list
Construct member-access including namespace of inferred struct type.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1004
Rico Tzschichholz [Fri, 5 Jun 2020 07:07:54 +0000 (09:07 +0200)]
vala: Fix typo in comments
Rico Tzschichholz [Thu, 4 Jun 2020 06:10:21 +0000 (08:10 +0200)]
codegen: Don't call get_ccode_finish_instance() with non-async methods
and restrict evaluation of CCode.finish_* attributes to async methods only
Rico Tzschichholz [Tue, 26 May 2020 08:03:16 +0000 (10:03 +0200)]
vala: Improve source documentation
Rico Tzschichholz [Sun, 24 May 2020 17:25:41 +0000 (19:25 +0200)]
codegen: Improve array-dup-wrapper for empty arrays
Guard against negative lengths and consistently return NULL if allocated
size would be 0.
See https://gitlab.gnome.org/GNOME/vala/issues/999
Rico Tzschichholz [Sun, 24 May 2020 17:25:41 +0000 (19:25 +0200)]
tests: Extend "s[p]lice" tests to increase coverage
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 15:12:12 +0000 (17:12 +0200)]
Release 0.46.10
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 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)]
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 [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 [Mon, 27 Apr 2020 12:43:59 +0000 (14:43 +0200)]
gitignore: Update and add some IDE files
Rico Tzschichholz [Thu, 23 Apr 2020 06:20:47 +0000 (08:20 +0200)]
Release 0.46.9
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 12:11:23 +0000 (14:11 +0200)]
Release 0.46.8
Rico Tzschichholz [Tue, 21 Apr 2020 12:27:13 +0000 (14:27 +0200)]
tests: Fix make dist
Rico Tzschichholz [Mon, 20 Apr 2020 20:10:49 +0000 (22:10 +0200)]
harfbuzz-gobject: Sync from 0.48.x
Rico Tzschichholz [Mon, 20 Apr 2020 20:08:05 +0000 (22:08 +0200)]
gtk+-3.0: Update to 3.24.18
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
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 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 [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 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 [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 [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)]
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.
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