summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2018-01-18 20:38:47 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2018-01-18 20:55:35 +0100
commit5573992dd97bf4a135d151bc669992be96cd9d9d (patch)
tree450e09d80cde77c2f741ba656c3e47c61d204fea
parent7700a0da788bac096e13a86225c2d19c5954c2a6 (diff)
downloadvala-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.vala25
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;
}
}