Fixes https://gitlab.gnome.org/GNOME/vala/issues/985
methods/delegate-target.vala \
methods/generics.vala \
methods/params-array.vala \
+ methods/params-array-abstract.test \
methods/print-attribute.vala \
methods/print-attribute-invalid.test \
methods/printf-invalid.test \
--- /dev/null
+Invalid Code
+
+abstract class Foo {
+ public abstract void bar (params int[] a);
+}
+
+void main () {
+}
public bool is_variadic () {
foreach (Parameter param in parameters) {
- if (param.ellipsis) {
+ if (param.ellipsis || param.params_array) {
return true;
}
}
if (is_variadic () && (is_abstract || is_virtual)) {
error = true;
- Report.error (source_reference, "Abstract and virtual methods may not be variadic. Use a `va_list' parameter instead of `...'.");
+ Report.error (source_reference, "Abstract and virtual methods may not be variadic. Use a `va_list' parameter instead of `...' or params-array.");
return false;
}