]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
parser: Don't include member-initializer in src-ref of object-creation-expr
authorRico Tzschichholz <ricotz@ubuntu.com>
Fri, 8 Mar 2019 20:57:24 +0000 (21:57 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 10 Apr 2019 14:09:29 +0000 (16:09 +0200)
vala/valaparser.vala

index 41e6e7da8cdbc995143c319d89cb5d3e574dbf2c..67544a9b55ad6d6177a22aee8dd0882071e9b7c7 100644 (file)
@@ -783,6 +783,8 @@ public class Vala.Parser : CodeVisitor {
                expect (TokenType.OPEN_PARENS);
                var arg_list = parse_argument_list ();
                expect (TokenType.CLOSE_PARENS);
+               var src = get_src (begin);
+
                var init_list = parse_object_initializer ();
 
                if (init_list.size > 0 && inner is MemberAccess) {
@@ -790,7 +792,7 @@ public class Vala.Parser : CodeVisitor {
                        var member = (MemberAccess) inner;
                        member.creation_member = true;
 
-                       var expr = new ObjectCreationExpression (member, get_src (begin));
+                       var expr = new ObjectCreationExpression (member, src);
                        expr.struct_creation = true;
                        foreach (Expression arg in arg_list) {
                                expr.add_argument (arg);
@@ -800,7 +802,7 @@ public class Vala.Parser : CodeVisitor {
                        }
                        return expr;
                } else {
-                       var expr = new MethodCall (inner, get_src (begin));
+                       var expr = new MethodCall (inner, src);
                        foreach (Expression arg in arg_list) {
                                expr.add_argument (arg);
                        }
@@ -894,9 +896,11 @@ public class Vala.Parser : CodeVisitor {
                member.creation_member = true;
                var arg_list = parse_argument_list ();
                expect (TokenType.CLOSE_PARENS);
+               var src = get_src (begin);
+
                var init_list = parse_object_initializer ();
 
-               var expr = new ObjectCreationExpression (member, get_src (begin));
+               var expr = new ObjectCreationExpression (member, src);
                foreach (Expression arg in arg_list) {
                        expr.add_argument (arg);
                }