]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
parser: Make parse_embedded_statement_without_block more robust
authorPrinceton Ferro <princetonferro@gmail.com>
Sat, 18 Jan 2020 19:03:37 +0000 (20:03 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 3 Feb 2020 12:33:40 +0000 (13:33 +0100)
... when --keep-going was passed

vala/valaparser.vala

index aaae5a25aa589627a290f54ee3daf8d5021caaa4..5f9bd34646433b401eec0b25070eee73b98d154a 100644 (file)
@@ -1734,8 +1734,16 @@ public class Vala.Parser : CodeVisitor {
 
                var block = new Block (get_src (get_location ()));
 
-               var stmt = parse_embedded_statement_without_block (statement_name, accept_empty_body);
-               block.add_statement (stmt);
+               try {
+                       var stmt = parse_embedded_statement_without_block (statement_name, accept_empty_body);
+                       block.add_statement (stmt);
+               } catch (ParseError e) {
+                       if (context.keep_going) {
+                               report_parse_error (e);
+                       } else {
+                               throw e;
+                       }
+               }
                block.source_reference.end = get_last_src ().end;
 
                return block;