From 5573992dd97bf4a135d151bc669992be96cd9d9d Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Thu, 18 Jan 2018 20:38:47 +0100 Subject: [PATCH] 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 --- vala/valamethod.vala | 25 +++++++++++-------------- 1 file 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; } } -- 2.47.2