]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
parser: Exclude trailing semicolon from source_reference of statements
authorRico Tzschichholz <ricotz@ubuntu.com>
Fri, 8 Mar 2019 17:46:02 +0000 (18:46 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 8 Mar 2019 17:46:02 +0000 (18:46 +0100)
vala/valaparser.vala

index 1a1320bb1b8658824059d23d8b4b038749646459..669c29d87cc0bdf7b579d4af169a599622a700db 100644 (file)
@@ -2028,15 +2028,17 @@ public class Vala.Parser : CodeVisitor {
        Statement parse_break_statement () throws ParseError {
                var begin = get_location ();
                expect (TokenType.BREAK);
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new BreakStatement (get_src (begin));
+               return new BreakStatement (src);
        }
 
        Statement parse_continue_statement () throws ParseError {
                var begin = get_location ();
                expect (TokenType.CONTINUE);
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new ContinueStatement (get_src (begin));
+               return new ContinueStatement (src);
        }
 
        Statement parse_return_statement () throws ParseError {
@@ -2046,8 +2048,9 @@ public class Vala.Parser : CodeVisitor {
                if (current () != TokenType.SEMICOLON) {
                        expr = parse_expression ();
                }
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new ReturnStatement (expr, get_src (begin));
+               return new ReturnStatement (expr, src);
        }
 
        Statement parse_yield_statement () throws ParseError {
@@ -2062,16 +2065,18 @@ public class Vala.Parser : CodeVisitor {
                        }
                        return parse_expression_statement ();
                }
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new YieldStatement (get_src (begin));
+               return new YieldStatement (src);
        }
 
        Statement parse_throw_statement () throws ParseError {
                var begin = get_location ();
                expect (TokenType.THROW);
                var expr = parse_expression ();
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new ThrowStatement (expr, get_src (begin));
+               return new ThrowStatement (expr, src);
        }
 
        Statement parse_try_statement () throws ParseError {
@@ -2138,16 +2143,18 @@ public class Vala.Parser : CodeVisitor {
                expect (TokenType.OPEN_PARENS);
                var expr = parse_expression ();
                expect (TokenType.CLOSE_PARENS);
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new UnlockStatement (expr, get_src (begin));
+               return new UnlockStatement (expr, src);
        }
 
        Statement parse_delete_statement () throws ParseError {
                var begin = get_location ();
                expect (TokenType.DELETE);
                var expr = parse_expression ();
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new DeleteStatement (expr, get_src (begin));
+               return new DeleteStatement (expr, src);
        }
 
        string parse_attribute_value () throws ParseError {