From 64d156751cb36c6f13893f6bdfb12a70935d91a0 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Sat, 8 Apr 2023 19:30:33 +0200 Subject: vala: Check type-arguments in more declarations --- vala/valadelegate.vala | 4 +--- vala/valafield.vala | 1 + vala/valalocalvariable.vala | 1 + vala/valamethod.vala | 4 +--- vala/valaparameter.vala | 4 +--- vala/valaproperty.vala | 1 + vala/valasignal.vala | 4 +--- 7 files changed, 7 insertions(+), 12 deletions(-) diff --git a/vala/valadelegate.vala b/vala/valadelegate.vala index 97d61c010..e7ec720a2 100644 --- a/vala/valadelegate.vala +++ b/vala/valadelegate.vala @@ -321,9 +321,7 @@ public class Vala.Delegate : TypeSymbol, Callable, GenericSymbol { return_type.check (context); if (!external_package) { context.analyzer.check_type (return_type); - if (return_type is DelegateType) { - return_type.check_type_arguments (context); - } + return_type.check_type_arguments (context, !(return_type is DelegateType)); } if (return_type.type_symbol == context.analyzer.va_list_type.type_symbol) { diff --git a/vala/valafield.vala b/vala/valafield.vala index 566a68b12..dbe8176e8 100644 --- a/vala/valafield.vala +++ b/vala/valafield.vala @@ -112,6 +112,7 @@ public class Vala.Field : Variable, Lockable { variable_type.check (context); if (!external_package) { context.analyzer.check_type (variable_type); + variable_type.check_type_arguments (context, true); // check symbol availability if (variable_type.type_symbol != null) { diff --git a/vala/valalocalvariable.vala b/vala/valalocalvariable.vala index 7fbde469f..cbe612254 100644 --- a/vala/valalocalvariable.vala +++ b/vala/valalocalvariable.vala @@ -105,6 +105,7 @@ public class Vala.LocalVariable : Variable { } if (!external_package) { context.analyzer.check_type (variable_type); + variable_type.check_type_arguments (context, true); } } diff --git a/vala/valamethod.vala b/vala/valamethod.vala index 76dcbb5d3..0814565c8 100644 --- a/vala/valamethod.vala +++ b/vala/valamethod.vala @@ -866,9 +866,7 @@ public class Vala.Method : Subroutine, Callable, GenericSymbol { return_type.check (context); if (!external_package) { context.analyzer.check_type (return_type); - if (return_type is DelegateType) { - return_type.check_type_arguments (context); - } + return_type.check_type_arguments (context, !(return_type is DelegateType)); } if (return_type.type_symbol == context.analyzer.va_list_type.type_symbol) { diff --git a/vala/valaparameter.vala b/vala/valaparameter.vala index fb68ab069..ef27b4cd2 100644 --- a/vala/valaparameter.vala +++ b/vala/valaparameter.vala @@ -208,9 +208,7 @@ public class Vala.Parameter : Variable { if (!ellipsis) { if (!external_package) { context.analyzer.check_type (variable_type); - if (variable_type is DelegateType) { - variable_type.check_type_arguments (context); - } + variable_type.check_type_arguments (context, !(variable_type is DelegateType)); // check symbol availability if ((parent_symbol == null || !parent_symbol.external_package) && variable_type.type_symbol != null) { diff --git a/vala/valaproperty.vala b/vala/valaproperty.vala index fac24d53d..9963d19ff 100644 --- a/vala/valaproperty.vala +++ b/vala/valaproperty.vala @@ -493,6 +493,7 @@ public class Vala.Property : Symbol, Lockable { property_type.check (context); if (!external_package) { context.analyzer.check_type (property_type); + property_type.check_type_arguments (context, true); } if (get_accessor == null && set_accessor == null) { diff --git a/vala/valasignal.vala b/vala/valasignal.vala index 2b5005e3b..9eb7c894c 100644 --- a/vala/valasignal.vala +++ b/vala/valasignal.vala @@ -208,9 +208,7 @@ public class Vala.Signal : Symbol, Callable { return_type.check (context); if (!external_package) { context.analyzer.check_type (return_type); - if (return_type is DelegateType) { - return_type.check_type_arguments (context); - } + return_type.check_type_arguments (context, !(return_type is DelegateType)); } if (return_type.type_symbol == context.analyzer.va_list_type.type_symbol) { -- cgit v1.2.1