summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2023-04-08 19:30:33 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2023-04-11 13:44:44 +0200
commit64d156751cb36c6f13893f6bdfb12a70935d91a0 (patch)
treebe1965b27f311c4e62939d57c4ed21f2a41e5aeb
parent45594e5cace0b8584539d13bf675baad69d90a15 (diff)
downloadvala-64d156751cb36c6f13893f6bdfb12a70935d91a0.tar.gz
vala: Check type-arguments in more declarations
-rw-r--r--vala/valadelegate.vala4
-rw-r--r--vala/valafield.vala1
-rw-r--r--vala/valalocalvariable.vala1
-rw-r--r--vala/valamethod.vala4
-rw-r--r--vala/valaparameter.vala4
-rw-r--r--vala/valaproperty.vala1
-rw-r--r--vala/valasignal.vala4
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) {