diff options
author | Florian Brosch <flo.brosch@gmail.com> | 2012-01-24 21:14:35 +0100 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2012-01-26 21:20:39 +0100 |
commit | ddfac77ab73e8a1d10070f08fa2120b5cf3713bb (patch) | |
tree | d1137977f9a2e24d5c1a45622bf8f0e41bbd6249 /vala/valaparameter.vala | |
parent | cb18370fc70efe1e0b9c935b7032970fafd36ca3 (diff) | |
download | vala-ddfac77ab73e8a1d10070f08fa2120b5cf3713bb.tar.gz |
Check type of default arguments
Diffstat (limited to 'vala/valaparameter.vala')
-rw-r--r-- | vala/valaparameter.vala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vala/valaparameter.vala b/vala/valaparameter.vala index e34b773f2..22fe0c8ae 100644 --- a/vala/valaparameter.vala +++ b/vala/valaparameter.vala @@ -154,6 +154,8 @@ public class Vala.Parameter : Variable { Report.warning (source_reference, "`null' incompatible with parameter type `%s`".printf (variable_type.to_string ())); } else if (!(initializer is NullLiteral) && direction == ParameterDirection.OUT) { Report.error (source_reference, "only `null' is allowed as default value for out parameters"); + } else if (direction == ParameterDirection.IN && !initializer.value_type.compatible (variable_type)) { + Report.error (initializer.source_reference, "Cannot convert from `%s' to `%s'".printf (initializer.value_type.to_string (), variable_type.to_string ())); } else if (direction == ParameterDirection.REF) { Report.error (source_reference, "default value not allowed for ref parameter"); } |