From: Jürg Billeter Date: Sat, 16 Oct 2010 14:02:04 +0000 (+0200) Subject: Improve error message for declaration in embedded statement X-Git-Tag: 0.11.1~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85af585a0c2f9a7fc7ff326f1879784acac697cc;p=thirdparty%2Fvala.git Improve error message for declaration in embedded statement Fixes bug 615230. --- diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 43dd8e09b..e73ca755d 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -1628,7 +1628,23 @@ public class Vala.Parser : CodeVisitor { case TokenType.TRY: return parse_try_statement (); case TokenType.LOCK: return parse_lock_statement (); case TokenType.DELETE: return parse_delete_statement (); - default: return parse_expression_statement (); + case TokenType.VAR: + case TokenType.CONST: + throw new ParseError.SYNTAX (get_error ("embedded statement cannot be declaration ")); + case TokenType.OP_INC: + case TokenType.OP_DEC: + case TokenType.BASE: + case TokenType.THIS: + case TokenType.OPEN_PARENS: + case TokenType.STAR: + case TokenType.NEW: + return parse_expression_statement (); + default: + if (is_expression ()) { + return parse_expression_statement (); + } else { + throw new ParseError.SYNTAX (get_error ("embedded statement cannot be declaration")); + } } }