]>
git.ipfire.org Git - thirdparty/vala.git/log
Rico Tzschichholz [Mon, 24 Feb 2020 14:23:19 +0000 (15:23 +0100)]
Release 0.47.92
Rico Tzschichholz [Sat, 22 Feb 2020 15:00:22 +0000 (16:00 +0100)]
vala: Add local-variables to current scope regardless its error state
This avoids subsequent errors which are not useful to report when the user
actually defined it.
Rico Tzschichholz [Thu, 20 Feb 2020 14:34:35 +0000 (15:34 +0100)]
vala: Skip UsingDirective if error is set
Princeton Ferro [Thu, 20 Feb 2020 14:31:13 +0000 (15:31 +0100)]
vala: Handle unavailable type-symbol in Constant.check_const_type()
This caused criticals like:
vala_typesymbol_is_subtype_of: assertion 'self != NULL' failed
Rico Tzschichholz [Thu, 20 Feb 2020 14:26:46 +0000 (15:26 +0100)]
vala: Don't analyze error-type of errornous catch-clauses
Rico Tzschichholz [Thu, 20 Feb 2020 14:24:36 +0000 (15:24 +0100)]
vala: Properly set CodeNode.error when reporting an error (2)
Rico Tzschichholz [Thu, 20 Feb 2020 14:19:37 +0000 (15:19 +0100)]
vala: Don't check for unhandled error if error is set on body
This is how Method and CreationMethod behave already.
Rico Tzschichholz [Thu, 20 Feb 2020 13:19:10 +0000 (14:19 +0100)]
vala: Bail ThrowStatement.get_error_types() if error is set
This caused criticals when error_expression is not correct.
Rico Tzschichholz [Thu, 20 Feb 2020 13:19:10 +0000 (14:19 +0100)]
vala: Rely on more implementations of Block in SwitchSection
It was possible that statements in switch-sections were not processed
by the semantic-analyzer. Therefore they were not checked for errors
and marked as such.
Rico Tzschichholz [Thu, 20 Feb 2020 13:19:10 +0000 (14:19 +0100)]
vala: Rework ReturnStatement.check to handle "current_return_type == null"
Thanks to Daniel Espinosa Ortiz.
Rico Tzschichholz [Thu, 20 Feb 2020 08:33:19 +0000 (09:33 +0100)]
tests: Add invalid "return" tests to increase coverage
Rico Tzschichholz [Thu, 20 Feb 2020 06:40:33 +0000 (07:40 +0100)]
vapi: Add some fundamental deps files
When using --nostdpkg those are important to have.
See https://gitlab.gnome.org/GNOME/vala/issues/911
Rico Tzschichholz [Wed, 19 Feb 2020 13:56:37 +0000 (14:56 +0100)]
vala: Prevent possible stack-overflow in Class.is_compact/is_immutable
Guard recursive call on base_class in is_compact and is_immutable by
checking for cyclic class declaration.
Princeton Ferro [Wed, 19 Feb 2020 13:43:00 +0000 (14:43 +0100)]
vala: Method representing a LambdaExpression might be null on an error
This caused criticals like:
vala_method_get_closure: assertion 'self != NULL' failed
Rico Tzschichholz [Sun, 16 Jun 2019 17:28:24 +0000 (19:28 +0200)]
Add support for sealed classes in bindings
The "sealed" keyword was available and parsed for a long time. So simply
pick it up information and expose it in the AST.
Issue an error when it is used in vala source.
See https://gitlab.gnome.org/GNOME/vala/issues/278
Rico Tzschichholz [Wed, 19 Feb 2020 06:36:30 +0000 (07:36 +0100)]
vala: Never add "null" in ForeachStatement.get_defined_variables()
See https://gitlab.gnome.org/GNOME/vala/issues/911
Rico Tzschichholz [Tue, 18 Feb 2020 17:35:40 +0000 (18:35 +0100)]
vala: Don't process arguments of MethodCall if error is set
This caused criticals like:
vala_method_get_closure: assertion 'self != NULL' failed
Rico Tzschichholz [Tue, 18 Feb 2020 15:35:21 +0000 (16:35 +0100)]
vala: Set error and return early on invalid index in ElementAccess
This caused criticals like:
vala_code_node_check: assertion 'self != NULL' failed
Rico Tzschichholz [Tue, 18 Feb 2020 15:20:42 +0000 (16:20 +0100)]
vala: Don't process initializer of parameter if error is set
This caused criticals like:
vala_data_type_compatible: assertion 'self != NULL' failed
vala_code_node_to_string: assertion 'self != NULL' failed
Rico Tzschichholz [Tue, 18 Feb 2020 14:03:42 +0000 (15:03 +0100)]
tests: Add "GObject and GType class lifetime" tests to increase coverage
Rico Tzschichholz [Tue, 18 Feb 2020 16:12:19 +0000 (17:12 +0100)]
vala: Handle PointerType and VoidType in Constant.check_const_type()
This caused criticals like:
vala_typesymbol_is_subtype_of: assertion 'self != NULL' failed
Rico Tzschichholz [Tue, 18 Feb 2020 15:59:52 +0000 (16:59 +0100)]
testrunner: Pass G_DEBUG=fatal-warnings to invalid test
Rico Tzschichholz [Mon, 17 Feb 2020 16:43:24 +0000 (17:43 +0100)]
codegen: Don't initialize stack-allocated array with local-constant length
Fixes https://gitlab.gnome.org/GNOME/vala/issues/910
Rico Tzschichholz [Mon, 17 Feb 2020 10:01:54 +0000 (11:01 +0100)]
Release 0.47.91
Rico Tzschichholz [Mon, 17 Feb 2020 10:00:46 +0000 (11:00 +0100)]
manual: Update from wiki.gnome.org
Rico Tzschichholz [Mon, 17 Feb 2020 08:47:37 +0000 (09:47 +0100)]
pango: Update and add harfbuzz-gobject as dependency
See https://gitlab.gnome.org/GNOME/pango/issues/458
Rico Tzschichholz [Wed, 12 Feb 2020 16:48:04 +0000 (17:48 +0100)]
vapi: Add harfbuzz-gobject binding
Mark it as experimental while is it subject to change.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/909
Rico Tzschichholz [Sun, 16 Feb 2020 19:34:08 +0000 (20:34 +0100)]
gtk4: Update to 3.98.0+
410dbdf6
Rico Tzschichholz [Sun, 16 Feb 2020 19:15:04 +0000 (20:15 +0100)]
girparser: Report a warning for conflicting class and instance methods
Rico Tzschichholz [Sun, 16 Feb 2020 18:43:05 +0000 (19:43 +0100)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Sun, 16 Feb 2020 17:32:56 +0000 (18:32 +0100)]
webkit2gtk-4.0: Update to 2.27.90
Rico Tzschichholz [Sun, 16 Feb 2020 13:47:24 +0000 (14:47 +0100)]
gtk+-*.0,gtk4: Fix iter parameter of TextIter.order()
Fixes https://gitlab.gnome.org/GNOME/vala/issues/908
Rico Tzschichholz [Mon, 10 Feb 2020 09:42:41 +0000 (10:42 +0100)]
vala: Properly set CodeNode.error when reporting an error
Rico Tzschichholz [Wed, 5 Feb 2020 07:32:53 +0000 (08:32 +0100)]
testrunner: Invalid tests and therefore expected failures must return 1
Rico Tzschichholz [Wed, 5 Feb 2020 07:32:53 +0000 (08:32 +0100)]
vala: Don't ignore errors in Parameter and acknowledge them further
This avoids useless subsequent errors and possible criticals while
operating on broken AST.
Rico Tzschichholz [Wed, 5 Feb 2020 07:32:53 +0000 (08:32 +0100)]
vala: Fix base-access check for compact classes (2)
See
84de99560ee96afa8cb80db3b342d584a72188cd
Rico Tzschichholz [Wed, 5 Feb 2020 07:32:52 +0000 (08:32 +0100)]
Correct a few spelling errors in user visible strings
Rico Tzschichholz [Tue, 4 Feb 2020 07:59:22 +0000 (08:59 +0100)]
Release 0.47.4
Rico Tzschichholz [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
vala: Use some replacement for an unavailable identifier string
Rico Tzschichholz [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
parser: Make parse_identifier more robust
... when --keep-going was passed
Princeton Ferro [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
parser: Make parse_embedded_statement_without_block more robust
... when --keep-going was passed
Rico Tzschichholz [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
parser: Make parse_argument_list/parse_initializer more robust
... when --keep-going was passed or the input appears to be incomplete
Rico Tzschichholz [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
parser: Handle delimiters inside of parse_argument_list/parse_initializer
Rico Tzschichholz [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
parser: Deal with certain missing delimiters and let the parser continue
Rico Tzschichholz [Mon, 3 Feb 2020 12:22:28 +0000 (13:22 +0100)]
codegen: Make *_try_id specific to emit-context instead being global states
Rico Tzschichholz [Mon, 3 Feb 2020 10:03:30 +0000 (11:03 +0100)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Mon, 3 Feb 2020 10:02:47 +0000 (11:02 +0100)]
gtk4: Update to 3.96.0+
4ab12ab7
Rico Tzschichholz [Sat, 1 Feb 2020 15:37:36 +0000 (16:37 +0100)]
codegen: Explicitly include <glib.h> as needed for null-literal
Rico Tzschichholz [Sat, 1 Feb 2020 15:29:59 +0000 (16:29 +0100)]
codegen: Explicitly include header for length-type of arrays
Rico Tzschichholz [Sat, 1 Feb 2020 13:47:00 +0000 (14:47 +0100)]
vala: Inline allocated arrays require length or initializer
Fixes https://gitlab.gnome.org/GNOME/vala/issues/903
Rico Tzschichholz [Thu, 30 Jan 2020 12:42:43 +0000 (13:42 +0100)]
tests: Add more "parser" tests to increase coverage
Princeton Ferro [Wed, 29 Jan 2020 04:14:42 +0000 (23:14 -0500)]
vala: Improve detection of recursive struct declarations
Introduced with
da2d58c95f39fd142dc845f5df9cdcd55be32476
Fixes https://gitlab.gnome.org/GNOME/vala/issues/902
Corentin Noël [Mon, 23 Dec 2019 11:47:40 +0000 (12:47 +0100)]
javascriptcoregtk-4.0: Make JSC.Class usable by defining the right callback
Rico Tzschichholz [Fri, 24 Jan 2020 21:48:06 +0000 (22:48 +0100)]
codegen: Handle different type-symbols in visit_base_access()
It is required to distinguish between classes, compact classes, structs
and simple-type structs.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/901
Rico Tzschichholz [Fri, 24 Jan 2020 22:29:01 +0000 (23:29 +0100)]
codegen: Skip StructRegisterFunction for boolean/integer/floating types
Fixes https://gitlab.gnome.org/GNOME/vala/issues/901
Rico Tzschichholz [Sat, 25 Jan 2020 17:33:13 +0000 (18:33 +0100)]
vala: Fix base-access check for compact classes
See
84de99560ee96afa8cb80db3b342d584a72188cd
Rico Tzschichholz [Wed, 22 Jan 2020 09:15:39 +0000 (10:15 +0100)]
Release 0.47.3
Rico Tzschichholz [Tue, 21 Jan 2020 16:56:28 +0000 (17:56 +0100)]
codegen: Cast instance parameter in member-initializer for base-properties
This fixes warnings issued with -Wincompatible-pointer-types
Fixes https://gitlab.gnome.org/GNOME/vala/issues/899
Simon Werbeck [Mon, 13 Jan 2020 14:10:48 +0000 (15:10 +0100)]
codegen: Commonized generation of public/private fields
Simon Werbeck [Mon, 30 Dec 2019 19:19:21 +0000 (20:19 +0100)]
codegen: Refactor generation of fields for ccode structs
Introduce a common method to add field including its possible composite
fields for array and delegate types.
Rico Tzschichholz [Mon, 20 Jan 2020 19:18:01 +0000 (20:18 +0100)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Mon, 20 Jan 2020 19:08:00 +0000 (20:08 +0100)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Mon, 20 Jan 2020 19:06:54 +0000 (20:06 +0100)]
gtk4: Update to 3.96.0+
7e2e92a8
Rico Tzschichholz [Mon, 20 Jan 2020 19:03:57 +0000 (20:03 +0100)]
webkit2gtk-4.0: Update to 2.27.4
Rico Tzschichholz [Sat, 18 Jan 2020 17:00:28 +0000 (18:00 +0100)]
Regenerate for GIR-based bindings to apply explicit ctype attributes
Rico Tzschichholz [Sat, 18 Jan 2020 16:58:42 +0000 (17:58 +0100)]
girparser: Apply explicitly given ctype metadata attributes on callables
Rico Tzschichholz [Mon, 20 Jan 2020 11:45:03 +0000 (12:45 +0100)]
girparser: Improve source_reference of parameters
Princeton Ferro [Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)]
vala: Always bail if there are semantic errors
Previously introduced by
1430c461d4a45026331663989113feb195588255
Rico Tzschichholz [Wed, 15 Jan 2020 14:52:49 +0000 (15:52 +0100)]
Add further support for params arrays
This brings support for params-arrays in normal vala source code.
The parameter is a null-terminated array which is represented as variadic
parameter in generated C.
This feature is considered experimental for now.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/128
Rico Tzschichholz [Tue, 14 Jan 2020 13:05:02 +0000 (14:05 +0100)]
glib-2.0: Let (u)int.try_parse() return false if there is an unparsed part
This is how our other try_parse() implementions behave.
Rico Tzschichholz [Tue, 14 Jan 2020 07:36:26 +0000 (08:36 +0100)]
codegen: Use result value of assignment rather than its computation
An inline assignment of an array-length, like
int j = --i.length;
resulted in a faulty tranformation
i_length1 = i_length1 - 1;
j = i_length1 - 1;
Regression of
80d4bf61e0c3100c839f3fdbcb5218996b6afd5f
Fixes https://gitlab.gnome.org/GNOME/vala/issues/895
Princeton Ferro [Sun, 12 Jan 2020 03:33:05 +0000 (22:33 -0500)]
parser: Extend source_reference of parenthesized expr to cover "( ... )"
Jeremy Philippe [Sat, 11 Jan 2020 00:18:43 +0000 (01:18 +0100)]
vala: Fix short-circuiting behavior of coalescing operator
It is closely modeled after how ConditionalExpression implements
short-circuiting behavior.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/534
Jeremy Philippe [Wed, 8 Jan 2020 12:20:31 +0000 (13:20 +0100)]
vala: Non-nullable value-type in coalesce expression needs to be copied
The code generated by the coalesce expression could lead to stale
pointers to the stack if the right-side expression is an immediate value
(such as an integer literal or a struct).
Fixes https://gitlab.gnome.org/GNOME/vala/issues/893
Jeremy Philippe [Tue, 7 Jan 2020 21:05:57 +0000 (22:05 +0100)]
vala: Infer target_type in coalescing expressions
Correctly handle reference tranfers of inner expressions.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/892
Rico Tzschichholz [Tue, 7 Jan 2020 16:20:25 +0000 (17:20 +0100)]
codegen: Don't set implemenation of interface property to its own
A base-class is allowed to provide interface implementations for methods
and properties. If those exist without an explicit implementation in the
sub-class we then we end up finding the interface property itself. Using
that is obviously wrong and causes a cyclic call stack.
Fixes https://gitlab.gnome.org/GNOME/vala/issues/891
Rico Tzschichholz [Tue, 7 Jan 2020 13:17:27 +0000 (14:17 +0100)]
Release 0.47.2
Rico Tzschichholz [Tue, 7 Jan 2020 13:53:08 +0000 (14:53 +0100)]
tests: Fix make distcheck
Rico Tzschichholz [Tue, 7 Jan 2020 13:01:37 +0000 (14:01 +0100)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Tue, 7 Jan 2020 13:01:06 +0000 (14:01 +0100)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Tue, 7 Jan 2020 13:00:29 +0000 (14:00 +0100)]
gtk4: Update to 3.96.0+
448a4023
Jeremy Philippe [Fri, 3 Jan 2020 23:41:37 +0000 (00:41 +0100)]
glib-2.0: Reset errno before calling strto*() functions.
Standard library functions only set errno on error and these particular
functions return an "in-band" error indicator (the error indicator is
also a normal return value).
Jeremy Philippe [Sat, 21 Dec 2019 19:55:53 +0000 (20:55 +0100)]
genie: Fix parser's inner state when a struct is declared after a class
If the struct is declared after a class and has a default creation
method, the parser will raise a "missing return type in method ..."
error.
The cause of the bug is that the global 'class_name' variable is not
updated when the parser encounters a struct, so the previous value
is used, and if a class has been parsed before, this value will be the
name of the class instead of the struct.
Rico Tzschichholz [Mon, 2 Dec 2019 16:04:06 +0000 (17:04 +0100)]
compiler: Add "--depfile" option writing package dependencies to given file
This is meant to be used by build systems before invoking rebuilds
Jeremy Philippe [Sat, 21 Dec 2019 10:54:30 +0000 (11:54 +0100)]
vala: Allow to override base interface properties explicitly
Rico Tzschichholz [Mon, 9 Dec 2019 12:50:55 +0000 (13:50 +0100)]
vapi: Update GIR-based bindings
Rico Tzschichholz [Mon, 9 Dec 2019 11:15:44 +0000 (12:15 +0100)]
vala: Check before accessing "name" of parent_symbol which might be null
Rico Tzschichholz [Thu, 5 Dec 2019 17:47:51 +0000 (18:47 +0100)]
glib-2.0: Add new symbols from 2.64
Rico Tzschichholz [Thu, 5 Dec 2019 17:03:13 +0000 (18:03 +0100)]
glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
Rico Tzschichholz [Fri, 6 Dec 2019 08:27:15 +0000 (09:27 +0100)]
codegen: Don't attribute *_get_type_once() with G_GNUC_CONST
Follow up on
6b03920e39bc3900148d02ea5c2ddc13d6e91091
Rico Tzschichholz [Thu, 5 Dec 2019 13:08:36 +0000 (14:08 +0100)]
codegen: Improve *_get_type() fast path (requires glib >= 2.58)
Uses G_GNUC_NO_INLINE if glib >= 2.58 is targetted otherwise the
compiler is free to inline the separate *_get_type_once() function.
Follows the changes introduced in glib by
https://gitlab.gnome.org/GNOME/glib/commit/
e924f777369710221c3e0a9d7bf40392a27d1fa4
See https://gitlab.gnome.org/GNOME/glib/issues/541
and https://gitlab.gnome.org/GNOME/vala/issues/879
Rico Tzschichholz [Thu, 5 Dec 2019 13:08:36 +0000 (14:08 +0100)]
codegen: Remove unreachable code in TypeRegisterFunction.init_from_type()
Not used since
79b1a3e39a3d2bac9fbe40c99336b3b89e374571
Rico Tzschichholz [Tue, 3 Dec 2019 12:02:13 +0000 (13:02 +0100)]
vala: Don't allow "va_list" as return-type or type of fields
Fixes https://gitlab.gnome.org/GNOME/vala/issues/884
Rico Tzschichholz [Mon, 2 Dec 2019 11:06:41 +0000 (12:06 +0100)]
vala: Improve error message for unsupported inner types and declarations
Rico Tzschichholz [Wed, 27 Nov 2019 12:57:21 +0000 (13:57 +0100)]
gstreamer: Update from 1.17.0+ git master
Rico Tzschichholz [Wed, 27 Nov 2019 12:56:26 +0000 (13:56 +0100)]
gtk4: Update to 3.96.0+
9f69c7f3
Rico Tzschichholz [Wed, 27 Nov 2019 12:55:35 +0000 (13:55 +0100)]
webkit2gtk-4.0: Update to 2.27.3
Rico Tzschichholz [Tue, 26 Nov 2019 13:31:20 +0000 (14:31 +0100)]
test: Add some "method-call" tests to increase coverage
Rico Tzschichholz [Wed, 27 Nov 2019 12:38:47 +0000 (13:38 +0100)]
vala: Don't report further errors if MemberInitializer.check() failed
Rico Tzschichholz [Wed, 27 Nov 2019 10:42:55 +0000 (11:42 +0100)]
vala: Don't ignore inner errors in Block and acknowledge them further
This avoids useless subsequent errors and possible criticals while
operating on broken AST.