]> 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>
Wed, 10 Apr 2019 14:09:29 +0000 (16:09 +0200)
vala/valaparser.vala

index 42c300828226b5086346c59231578d2b258d8450..f20aceee3630c80bd7efeb4a00d0237e15895894 100644 (file)
@@ -2045,15 +2045,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 {
@@ -2063,8 +2065,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 {
@@ -2079,16 +2082,18 @@ public class Vala.Parser : CodeVisitor {
                if (accept (TokenType.RETURN)) {
                        expr = parse_expression ();
                }
+               var src = get_src (begin);
                expect (TokenType.SEMICOLON);
-               return new YieldStatement (expr, get_src (begin));
+               return new YieldStatement (expr, 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 {
@@ -2163,8 +2168,9 @@ public class Vala.Parser : CodeVisitor {
                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 {