]> git.ipfire.org Git - thirdparty/vala.git/log
thirdparty/vala.git
5 years agotests: Add "version check" tests to increase coverage
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.

5 years agovala: Quote symbol on report by version attribute check
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)] 
vala: Quote symbol on report by version attribute check

5 years agovala: Perform version check for types of non-external variable declarations
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)] 
vala: Perform version check for types of non-external variable declarations

5 years agovala: Don't perform version check on internal lambda method
Rico Tzschichholz [Thu, 16 Apr 2020 10:37:26 +0000 (12:37 +0200)] 
vala: Don't perform version check on internal lambda method

5 years agovala: Check assigned handler of dynamic signal before proceeding further
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.

5 years agocodegen: Fix base-access to non-abstract/non-virtual properties
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

5 years agotestrunner: Add -Werror=array-bounds
Rico Tzschichholz [Mon, 13 Apr 2020 13:29:56 +0000 (15:29 +0200)] 
testrunner: Add -Werror=array-bounds

5 years agocodegen: Use specified indices to access multidimensional array constants
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

5 years agocodegen: Correctly handle signals returning real non-nullable struct
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

5 years agocodegen: Use get_value_*_function() in GSignalModule.generate_marshaller()
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

5 years agocodegen: Fix binary 'in' operator on array with boxed value-typed needle
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

5 years agoparser: Handle incomplete expression statements
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.

5 years agogstreamer-1.0: Don't skip GST_*_FORMAT strings
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

5 years agovala: Don't use possibly uninitialized backing field of package_name
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

5 years agovala: Fix cleaning of output in CodeContext.pkg_config_modversion()
Rico Tzschichholz [Thu, 16 Apr 2020 08:00:21 +0000 (10:00 +0200)] 
vala: Fix cleaning of output in CodeContext.pkg_config_modversion()

5 years agoglib-2.0: Guard Pid.to_string() with GLIB_2_50 to deal with G_PID_FORMAT
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.

5 years agoglib-2.0: Fix Filename.canonicalize() binding of g_canonicalize_filename
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

5 years agogstreamer-app-1.0: Don't merge Src.push_buffer_*() signal with its method
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

5 years agovala: Set default_construction_method in semantic-analyzer check if required
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.

5 years agotests: Add "Bus/DBusConnection.get_proxy*()" tests to increase coverage
Rico Tzschichholz [Tue, 7 Apr 2020 10:39:20 +0000 (12:39 +0200)] 
tests: Add "Bus/DBusConnection.get_proxy*()" tests to increase coverage

5 years agocodegen: Don't pass CCodeCastExpression to NULL-aware free macro
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

5 years agotests: Add "g-interface-info" dbus test to increase coverage
Corentin Noël [Fri, 3 Apr 2020 10:53:27 +0000 (12:53 +0200)] 
tests: Add "g-interface-info" dbus test to increase coverage

5 years agotests: Extend "DBus signals" test to increase coverage
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.

5 years agovala: Warn about usage of override to implement abstract interface methods
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

5 years agocodegen: Correctly handle transformation of translated string-literal constants
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.

5 years agocodegen: Include "glib.h" for G_BEGIN_DECLS/G_END_DECLS usage
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

5 years agovala: Parse standalone integer/real literals as expression statement
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

5 years agotests: Extend "array foreach" test to increase coverage
Rico Tzschichholz [Wed, 1 Apr 2020 18:07:23 +0000 (20:07 +0200)] 
tests: Extend "array foreach" test to increase coverage

5 years agovala: Consider boolean types are compatible with each other
Rico Tzschichholz [Wed, 1 Apr 2020 12:02:55 +0000 (14:02 +0200)] 
vala: Consider boolean types are compatible with each other

5 years agotests: Add "expression as argument" tests to increase coverage
Rico Tzschichholz [Tue, 31 Mar 2020 20:56:44 +0000 (22:56 +0200)] 
tests: Add "expression as argument" tests to increase coverage

5 years agocodegen: Correct field declaration for captured inline-allocated array
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

5 years agocodegen: Don't free value if property setter takes ownership
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

5 years agotests: 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 "local clash with implicit this" test to increase coverage

5 years agotests: Add "switch enum" 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

5 years agocodegen: Avoid critical trying to serialize an unsupported type to Variant
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

5 years agovala: Handle all ctors and dtors in CodeWriter
Rico Tzschichholz [Sun, 29 Mar 2020 12:30:49 +0000 (14:30 +0200)] 
vala: Handle all ctors and dtors in CodeWriter

5 years agovala: Handle unlock() statement in CodeWriter
Rico Tzschichholz [Sun, 29 Mar 2020 12:30:49 +0000 (14:30 +0200)] 
vala: Handle unlock() statement in CodeWriter

5 years agovala: Support struct initializer list in non-constant array
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

5 years agocodegen: Append initializer for "_*_size_" of array field in internal struct
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

5 years agotests: Add "throw in loops" tests to increase coverage
Rico Tzschichholz [Thu, 28 Nov 2019 09:05:30 +0000 (10:05 +0100)] 
tests: Add "throw in loops" tests to increase coverage

5 years agoRelease 0.46.7 0.46.7
Rico Tzschichholz [Thu, 26 Mar 2020 07:43:13 +0000 (08:43 +0100)] 
Release 0.46.7

5 years agoposix: Add pathconf and fpathconf bindings
Corentin Noël [Tue, 17 Mar 2020 11:19:22 +0000 (12:19 +0100)] 
posix: Add pathconf and fpathconf bindings

Also bind the named constants to use them.

5 years agogtk+-3.0: Update to 3.24.14
Rico Tzschichholz [Sun, 1 Mar 2020 08:54:13 +0000 (09:54 +0100)] 
gtk+-3.0: Update to 3.24.14

5 years agomanual: Update from wiki.gnome.org
Rico Tzschichholz [Mon, 23 Mar 2020 13:57:51 +0000 (14:57 +0100)] 
manual: Update from wiki.gnome.org

5 years agovala: Inline-allocated array can't be instantiated with creation expression
Rico Tzschichholz [Sat, 21 Mar 2020 16:09:30 +0000 (17:09 +0100)] 
vala: Inline-allocated array can't be instantiated with creation expression

This generalizes 0554ed7ad9cefe0f56e53dc00be88488dfa788bf

Fixes https://gitlab.gnome.org/GNOME/vala/issues/926

5 years agocodegen: Include "glib.h" for g_return_*() usage
Rico Tzschichholz [Thu, 19 Mar 2020 17:24:16 +0000 (18:24 +0100)] 
codegen: Include "glib.h" for g_return_*() usage

Fixes https://gitlab.gnome.org/GNOME/vala/issues/940

5 years agoglib-2.0: Add binding for g_win32_ftruncate()
Rico Tzschichholz [Mon, 16 Mar 2020 07:47:02 +0000 (08:47 +0100)] 
glib-2.0: Add binding for g_win32_ftruncate()

5 years agogio-2.0: Add binding for g_io_error_from_win32_error()
Rico Tzschichholz [Mon, 16 Mar 2020 07:08:46 +0000 (08:08 +0100)] 
gio-2.0: Add binding for g_io_error_from_win32_error()

5 years agoglib-2.0: Add missing IOChannel's win32 API
ZUHONG TAO [Sun, 15 Mar 2020 08:04:30 +0000 (08:04 +0000)] 
glib-2.0: Add missing IOChannel's win32 API

5 years agoparser: Improve error message for invalid ArrayCreationExpression
Rico Tzschichholz [Thu, 19 Mar 2020 08:53:27 +0000 (09:53 +0100)] 
parser: Improve error message for invalid ArrayCreationExpression

Fixes https://gitlab.gnome.org/GNOME/vala/issues/939

5 years agotests: Add "property array length" test to increase coverage
Rico Tzschichholz [Wed, 18 Mar 2020 17:11:13 +0000 (18:11 +0100)] 
tests: Add "property array length" test to increase coverage

5 years agocodegen: Use memset to initialize inline-allocated array with non-constant size
Rico Tzschichholz [Wed, 18 Mar 2020 13:05:13 +0000 (14:05 +0100)] 
codegen: Use memset to initialize inline-allocated array with non-constant size

In addition to a0bb129e5a2e8580eb272d9a68ba054e7b170dba

Fixes https://gitlab.gnome.org/GNOME/vala/issues/910

5 years agovala: Inherit lambda parameter attributes from delegate
Rico Tzschichholz [Tue, 17 Mar 2020 14:26:36 +0000 (15:26 +0100)] 
vala: Inherit lambda parameter attributes from delegate

... by setting base_parameter accordingly

5 years agovala: Improve copy of required attributes from delegate to lamdba method
Rico Tzschichholz [Tue, 17 Mar 2020 14:26:36 +0000 (15:26 +0100)] 
vala: Improve copy of required attributes from delegate to lamdba method

5 years agovala: Accept enum-values as length for inline allocated arrays
Rico Tzschichholz [Sat, 14 Mar 2020 14:15:51 +0000 (15:15 +0100)] 
vala: Accept enum-values as length for inline allocated arrays

Fixes https://gitlab.gnome.org/GNOME/vala/issues/935

5 years agovaladoc: Create and register current Vala.CodeContext properly
Rico Tzschichholz [Fri, 13 Mar 2020 18:30:32 +0000 (19:30 +0100)] 
valadoc: Create and register current Vala.CodeContext properly

5 years agovala: Use error() instead of Report.error() inside of CodeContext.get()
Rico Tzschichholz [Fri, 13 Mar 2020 18:09:07 +0000 (19:09 +0100)] 
vala: Use error() instead of Report.error() inside of CodeContext.get()

This is a bad thing while Report.error() actually uses CodeContext.get()

Regression of e436f2833dc332e3fd728fe6f6b2cd7f224dcf33

5 years agovapi: Add cairo-gobject binding
Rico Tzschichholz [Thu, 12 Mar 2020 19:41:57 +0000 (20:41 +0100)] 
vapi: Add cairo-gobject binding

and update reverse depends if appropriate

5 years agocairo: Add missing type_id attributes guarded by GOBJECT define
Corentin Noël [Thu, 12 Mar 2020 13:35:22 +0000 (14:35 +0100)] 
cairo: Add missing type_id attributes guarded by GOBJECT define

When Cairo is built with GObject support wrapper, it provides
cairo-gobject.h that defines GType and GBoxed structures and enums.

5 years agocodegen: Correctly access captured parameter in precondition of method
Rico Tzschichholz [Fri, 13 Mar 2020 08:11:01 +0000 (09:11 +0100)] 
codegen: Correctly access captured parameter in precondition of method

Fixes https://gitlab.gnome.org/GNOME/vala/issues/144

5 years agocodegen: Emit postconditions before free'ing local variables
Rico Tzschichholz [Thu, 12 Mar 2020 23:01:09 +0000 (00:01 +0100)] 
codegen: Emit postconditions before free'ing local variables

It was possible to cause segmentation-faults or use-after-free errors.

5 years agocodegen: Reset outdated array _size_ variable after use as ref parameter
Rico Tzschichholz [Thu, 12 Mar 2020 18:19:19 +0000 (19:19 +0100)] 
codegen: Reset outdated array _size_ variable after use as ref parameter

Fixes https://gitlab.gnome.org/GNOME/vala/issues/929

5 years agovapigen: Define "GOBJECT" corresponding to set profile of CodeContext
Rico Tzschichholz [Thu, 12 Mar 2020 18:19:19 +0000 (19:19 +0100)] 
vapigen: Define "GOBJECT" corresponding to set profile of CodeContext

This is required to evaluate pre-processor directives correctly in
sourced bindings.

Fixes https://gitlab.gnome.org/GNOME/vala/issues/933

5 years agoglib-2.0: Add binding for g_poll()
ZUHONG TAO [Wed, 11 Mar 2020 14:59:17 +0000 (14:59 +0000)] 
glib-2.0: Add binding for g_poll()

Fixes https://gitlab.gnome.org/GNOME/vala/issues/924

5 years agotests: Extend "GLib.Value (un-)boxing" test to increase coverage
Rico Tzschichholz [Tue, 10 Mar 2020 15:38:07 +0000 (16:38 +0100)] 
tests: Extend "GLib.Value (un-)boxing" test to increase coverage

5 years agopoppler-glib: Update to 0.85
Rico Tzschichholz [Sun, 8 Mar 2020 17:04:18 +0000 (18:04 +0100)] 
poppler-glib: Update to 0.85

Fixes https://gitlab.gnome.org/GNOME/vala/issues/922

5 years agoglib-2.0: Add missing "type_id" or "has_type_id" attributes to structs
Rico Tzschichholz [Sun, 8 Mar 2020 16:54:39 +0000 (17:54 +0100)] 
glib-2.0: Add missing "type_id" or "has_type_id" attributes to structs

See https://gitlab.gnome.org/GNOME/vala/issues/921

5 years agovala: Fix search for Parameter.base_parameter
Rico Tzschichholz [Sun, 8 Mar 2020 09:41:16 +0000 (10:41 +0100)] 
vala: Fix search for Parameter.base_parameter

5 years agoglib-2.0: Memory profiling ("g_mem_*") is deprecated since 2.46
Rico Tzschichholz [Sun, 8 Mar 2020 09:41:16 +0000 (10:41 +0100)] 
glib-2.0: Memory profiling ("g_mem_*") is deprecated since 2.46

5 years agotests: Extend "GenericAccessors" test to increase coverage
Rico Tzschichholz [Sat, 7 Mar 2020 09:50:21 +0000 (10:50 +0100)] 
tests: Extend "GenericAccessors" test to increase coverage

5 years agocodegen: Add destroy of parameter in vfunc of delegate property setter
Rico Tzschichholz [Sat, 7 Mar 2020 09:08:33 +0000 (10:08 +0100)] 
codegen: Add destroy of parameter in vfunc of delegate property setter

The vfunc of an owned setter requires a destroy parameter. Support for
this was introduced with 1e90d53dba0eff6ec2babd8292676099308dd4f6

Fixes https://gitlab.gnome.org/GNOME/vala/issues/919

5 years agotests: Split array tests to provide a GLib-independent test
Rico Tzschichholz [Fri, 6 Mar 2020 21:47:54 +0000 (22:47 +0100)] 
tests: Split array tests to provide a GLib-independent test

5 years agolinux: Don't depend on GLib.Time when using POSIX profile
Rico Tzschichholz [Fri, 6 Mar 2020 21:47:54 +0000 (22:47 +0100)] 
linux: Don't depend on GLib.Time when using POSIX profile

5 years agomanual: Update from wiki.gnome.org
Rico Tzschichholz [Tue, 3 Mar 2020 13:54:50 +0000 (14:54 +0100)] 
manual: Update from wiki.gnome.org

5 years agovala: Prevent possible stack-overflow in Class.is_subtype_of()
Princeton Ferro [Tue, 18 Feb 2020 09:39:54 +0000 (10:39 +0100)] 
vala: Prevent possible stack-overflow in Class.is_subtype_of()

5 years agogirparser: Delay adding of "GLib.Object" prerequisite to interfaces
Princeton Ferro [Mon, 3 Feb 2020 08:26:34 +0000 (03:26 -0500)] 
girparser: Delay adding of "GLib.Object" prerequisite to interfaces

5 years agogirparser: Decrease return_array_length_idx for transformed function
Rico Tzschichholz [Mon, 2 Mar 2020 22:56:57 +0000 (23:56 +0100)] 
girparser: Decrease return_array_length_idx for transformed function

5 years agovala: Report an internal error for unavailable context and bail
Rico Tzschichholz [Sun, 1 Mar 2020 11:37:52 +0000 (12:37 +0100)] 
vala: Report an internal error for unavailable context and bail

If calling CodeContext.get/pop() with an empty stack present then there is
no way to recover so bail.

5 years agovala: Fix circular reference in EnumValueType
Princeton Ferro [Sun, 1 Mar 2020 08:54:13 +0000 (09:54 +0100)] 
vala: Fix circular reference in EnumValueType

5 years agovala: Fix circular reference in Property
Princeton Ferro [Sun, 1 Mar 2020 08:54:13 +0000 (09:54 +0100)] 
vala: Fix circular reference in Property

5 years agoAdd missing CodeContext.pop() calls
Princeton Ferro [Sun, 1 Mar 2020 08:54:13 +0000 (09:54 +0100)] 
Add missing CodeContext.pop() calls

Release previously pushed CodeContext instances from static list.

5 years agovala: Add local-variables to current scope regardless its error state
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.

5 years agovala: Skip UsingDirective if error is set
Rico Tzschichholz [Thu, 20 Feb 2020 14:34:35 +0000 (15:34 +0100)] 
vala: Skip UsingDirective if error is set

5 years agovala: Handle unavailable type-symbol in Constant.check_const_type()
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

5 years agovala: Don't analyze error-type of errornous catch-clauses
Rico Tzschichholz [Thu, 20 Feb 2020 14:26:46 +0000 (15:26 +0100)] 
vala: Don't analyze error-type of errornous catch-clauses

5 years agovala: Properly set CodeNode.error when reporting an error (2)
Rico Tzschichholz [Thu, 20 Feb 2020 14:24:36 +0000 (15:24 +0100)] 
vala: Properly set CodeNode.error when reporting an error (2)

5 years agovala: Don't check for unhandled error if error is set on body
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.

5 years agovala: Bail ThrowStatement.get_error_types() if error is set
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.

5 years agovala: Rely on more implementations of Block in SwitchSection
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.

5 years agovala: Rework ReturnStatement.check to handle "current_return_type == null"
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.

5 years agotests: Add invalid "return" tests to increase coverage
Rico Tzschichholz [Thu, 20 Feb 2020 08:33:19 +0000 (09:33 +0100)] 
tests: Add invalid "return" tests to increase coverage

5 years agovapi: Add some fundamental deps files
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

5 years agovala: Prevent possible stack-overflow in Class.is_compact/is_immutable
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.

5 years agovala: Method representing a LambdaExpression might be null on an error
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

5 years agovala: Never add "null" in ForeachStatement.get_defined_variables()
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

5 years agovala: Don't process arguments of MethodCall if error is set
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

5 years agovala: Set error and return early on invalid index in ElementAccess
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

5 years agovala: Don't process initializer of parameter if error is set
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

5 years agotests: Add "GObject and GType class lifetime" tests to increase coverage
Rico Tzschichholz [Tue, 18 Feb 2020 14:03:42 +0000 (15:03 +0100)] 
tests: Add "GObject and GType class lifetime" tests to increase coverage

5 years agotestrunner: Pass G_DEBUG=fatal-warnings to invalid test
Rico Tzschichholz [Tue, 18 Feb 2020 15:59:52 +0000 (16:59 +0100)] 
testrunner: Pass G_DEBUG=fatal-warnings to invalid test