]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Revert "Do not warn about non-default parameters for coroutines."
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 18 Jan 2018 19:38:47 +0000 (20:38 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 19 Jan 2018 08:37:33 +0000 (09:37 +0100)
Breaks parameter inference for async method overrides.

This reverts commit dd24a1bfe1a78bf1a37d35f5d8dd6480fd4a8941.

https://bugzilla.gnome.org/show_bug.cgi?id=792660

vala/valamethod.vala

index 0059561d7372d2cf246026138b31e075bc368583..5986f8786d7705b644dd95008854aaa109a087fb 100644 (file)
@@ -723,20 +723,17 @@ public class Vala.Method : Subroutine {
                        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;
                        }
                }