]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Genie: Report error on print expressions with uneven parentheses
authorJürg Billeter <j@bitron.ch>
Sun, 24 Oct 2010 11:24:28 +0000 (13:24 +0200)
committerJürg Billeter <j@bitron.ch>
Tue, 26 Oct 2010 18:08:36 +0000 (20:08 +0200)
vala/valagenieparser.vala

index 415a9fed34819470175216e08fe68db11afbf8fc..b132846927afd54b1996ec14d2b3375a0cb453da 100644 (file)
@@ -853,14 +853,16 @@ public class Vala.Genie.Parser : CodeVisitor {
                var begin = get_location ();
        
                expect (TokenType.PRINT);
-               accept (TokenType.OPEN_PARENS);
-       
+               bool parens = accept (TokenType.OPEN_PARENS);
+
                var expr = new MemberAccess (null, "print", get_src (begin));
                
                var arg_list = parse_print_argument_list ();
-               
-               accept (TokenType.CLOSE_PARENS);
-               
+
+               if (parens) {
+                       expect (TokenType.CLOSE_PARENS);
+               }
+
                var print_expr = new MethodCall (expr, get_src (begin));
                
                foreach (Expression arg in arg_list) {
@@ -875,14 +877,16 @@ public class Vala.Genie.Parser : CodeVisitor {
                var begin = get_location ();
        
                expect (TokenType.ASSERT);
-               accept (TokenType.OPEN_PARENS);
-       
+               bool parens = accept (TokenType.OPEN_PARENS);
+
                var expr = new MemberAccess (null, "assert", get_src (begin));
                
                var arg_list = parse_argument_list ();
-               
-               accept (TokenType.CLOSE_PARENS);
-               
+
+               if (parens) {
+                       expect (TokenType.CLOSE_PARENS);
+               }
+
                var assert_expr = new MethodCall (expr, get_src (begin));
                
                foreach (Expression arg in arg_list) {