[vala] Check number of generic type arguments of base types
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] Check number of generic type arguments of base types
- Date: Tue, 20 Oct 2009 20:10:26 +0000 (UTC)
commit 4fc5cbe2237df03fc4c5e94b5790380f1215df01
Author: Jürg Billeter <j bitron ch>
Date: Tue Oct 20 22:08:52 2009 +0200
Check number of generic type arguments of base types
Fixes bug 598658.
vala/valaclass.vala | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index d324b18..7b3f3ef 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -974,6 +974,18 @@ public class Vala.Class : ObjectTypeSymbol {
Report.error (source_reference, "base type `%s` is less accessible than class `%s`".printf (base_type_reference.to_string (), get_full_name ()));
return false;
}
+
+ int n_type_args = base_type_reference.get_type_arguments ().size;
+ int n_type_params = ((ObjectTypeSymbol) base_type_reference.data_type).get_type_parameters ().size;
+ if (n_type_args < n_type_params) {
+ error = true;
+ Report.error (base_type_reference.source_reference, "too few type arguments");
+ return false;
+ } else if (n_type_args > n_type_params) {
+ error = true;
+ Report.error (base_type_reference.source_reference, "too many type arguments");
+ return false;
+ }
}
foreach (DataType type in base_types) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]