diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-01-18 20:38:47 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2018-01-18 20:55:35 +0100 |
commit | 5573992dd97bf4a135d151bc669992be96cd9d9d (patch) | |
tree | 450e09d80cde77c2f741ba656c3e47c61d204fea | |
parent | 7700a0da788bac096e13a86225c2d19c5954c2a6 (diff) | |
download | vala-5573992dd97bf4a135d151bc669992be96cd9d9d.tar.gz |
Revert "Do not warn about non-default parameters for coroutines."
Breaks parameter inference for async method overrides.
This reverts commit dd24a1bfe1a78bf1a37d35f5d8dd6480fd4a8941.
https://bugzilla.gnome.org/show_bug.cgi?id=792660
-rw-r--r-- | vala/valamethod.vala | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/vala/valamethod.vala b/vala/valamethod.vala index b0a742a3c..ab85c121e 100644 --- a/vala/valamethod.vala +++ b/vala/valamethod.vala @@ -721,20 +721,17 @@ public class Vala.Method : Subroutine, Callable { Report.error (parameters[0].source_reference, "Named parameter required before `...'"); } - if (!coroutine) { - // TODO: begin and end parameters must be checked separately for coroutines - var optional_param = false; - foreach (Parameter param in parameters) { - param.check (context); - if (coroutine && param.direction == ParameterDirection.REF) { - error = true; - Report.error (param.source_reference, "Reference parameters are not supported for async methods"); - } - if (optional_param && param.initializer == null && !param.ellipsis) { - Report.warning (param.source_reference, "parameter without default follows parameter with default"); - } else if (param.initializer != null) { - optional_param = true; - } + var optional_param = false; + foreach (Parameter param in parameters) { + param.check (context); + if (coroutine && param.direction == ParameterDirection.REF) { + error = true; + Report.error (param.source_reference, "Reference parameters are not supported for async methods"); + } + if (optional_param && param.initializer == null && !param.ellipsis) { + Report.warning (param.source_reference, "parameter without default follows parameter with default"); + } else if (param.initializer != null) { + optional_param = true; } } |