summaryrefslogtreecommitdiff
path: root/vala/valamethod.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-05-26 09:02:52 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2021-05-26 12:18:47 +0200
commit0b0ff3b318ca9ad734a39ea673e0e5593d15e8d9 (patch)
tree8c58e5b38bb5daaaf90a7f845aefcd62ae6b9d3c /vala/valamethod.vala
parentbf2f5c1ef74f4f242da35f25e28e1669964c8e97 (diff)
downloadvala-0b0ff3b318ca9ad734a39ea673e0e5593d15e8d9.tar.gz
vala: Parameter following params-array parameter is not allowed
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1183
Diffstat (limited to 'vala/valamethod.vala')
-rw-r--r--vala/valamethod.vala6
1 files changed, 6 insertions, 0 deletions
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index 427a37980..daef9789f 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -848,6 +848,7 @@ public class Vala.Method : Subroutine, Callable {
}
var optional_param = false;
+ var params_array_param = false;
foreach (Parameter param in parameters) {
if (!param.check (context)) {
error = true;
@@ -872,6 +873,11 @@ public class Vala.Method : Subroutine, Callable {
optional_param = true;
}
+ if (params_array_param) {
+ Report.error (param.source_reference, "parameter follows params-array parameter");
+ } else if (param.params_array) {
+ params_array_param = true;
+ }
// Add local variable to provide access to params arrays which will be constructed out of the given va-args
if (param.params_array && body != null) {
if (params_array_var != null) {