]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Add ObjectCreationExpression.to_string()
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 19 Aug 2020 15:42:37 +0000 (17:42 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 20 Aug 2020 04:47:26 +0000 (06:47 +0200)
vala/valamethodcall.vala
vala/valaobjectcreationexpression.vala

index d7b58ac8520a05a722db7566d0b9fd156ad0d0ff..ab98f99bd6c8c09c102d2e0c1aa24b7b7329e2fb 100644 (file)
@@ -746,7 +746,6 @@ public class Vala.MethodCall : Expression {
 
        public override string to_string () {
                var b = new StringBuilder ();
-               b.append_c ('(');
                if (is_yield_expression) {
                        b.append ("yield ");
                }
@@ -761,7 +760,7 @@ public class Vala.MethodCall : Expression {
                        b.append (expr.to_string ());
                        first = false;
                }
-               b.append ("))");
+               b.append_c (')');
 
                return b.str;
        }
index b01431c4e97171a5501b38bd54b293adcbc34d44..9c7f6133cfde4cbb6dde33a582e7dbf62cb0d463 100644 (file)
@@ -576,4 +576,30 @@ public class Vala.ObjectCreationExpression : Expression {
                        init.get_used_variables (collection);
                }
        }
+
+       public override string to_string () {
+               var b = new StringBuilder ();
+               if (is_yield_expression) {
+                       b.append ("yield ");
+               }
+               if (!struct_creation) {
+                       b.append ("new ");
+               }
+               if (member_name != null) {
+                       b.append (member_name.to_string ());
+               }
+               b.append_c ('(');
+
+               bool first = true;
+               foreach (var expr in argument_list) {
+                       if (!first) {
+                               b.append (", ");
+                       }
+                       b.append (expr.to_string ());
+                       first = false;
+               }
+               b.append_c (')');
+
+               return b.str;
+       }
 }