From: Rico Tzschichholz Date: Thu, 19 Mar 2020 08:53:27 +0000 (+0100) Subject: parser: Improve error message for invalid ArrayCreationExpression X-Git-Tag: 0.48.2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1203f54a72bea601b7635a4895f7f199c70e1e2d;p=thirdparty%2Fvala.git parser: Improve error message for invalid ArrayCreationExpression Fixes https://gitlab.gnome.org/GNOME/vala/issues/939 --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 7f7b6f6d3..036aff1f5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -620,6 +620,7 @@ TESTS = \ scanner/string-escape-x-digit-length.test \ scanner/string-escape-x-empty.test \ scanner/string-escape-x.vala \ + parser/array-creation-invalid.test \ parser/assignment.vala \ parser/attribute-duplicate.test \ parser/attribute-wrong-number.test \ diff --git a/tests/parser/array-creation-invalid.test b/tests/parser/array-creation-invalid.test new file mode 100644 index 000000000..22d439d3d --- /dev/null +++ b/tests/parser/array-creation-invalid.test @@ -0,0 +1,5 @@ +Invalid Code + +void main () { + var foo = new int[]; +} diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 62ad72898..f1b49352d 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -1012,6 +1012,9 @@ public class Vala.Parser : CodeVisitor { foreach (Expression size in size_specifier_list) { expr.append_size (size); } + } else if (initializer == null) { + Report.warning (src, "possibly missing array size"); + throw new ParseError.SYNTAX ("expected array initializer list"); } return expr; }