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

index d552dfc0941e5aa13f7e6ccd8564a52ea463d3c7..dbc3b778e0fff574adcbd8cebad2bc583a77e566 100644 (file)
@@ -773,6 +773,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) {
@@ -780,7 +782,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);
@@ -790,7 +792,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);
                        }
@@ -884,9 +886,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);
                }