]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Add common CallableExpression.call property API
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 22 Feb 2022 12:10:20 +0000 (13:10 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Tue, 22 Feb 2022 12:13:11 +0000 (13:13 +0100)
vala/valacallableexpression.vala
vala/valamethodcall.vala
vala/valaobjectcreationexpression.vala

index 930c7a0a2452125114245c354da8e5654a7fb5bb..cf9c7ddbefb5abee1c0737951e59fbf78afbd3ee 100644 (file)
@@ -36,6 +36,11 @@ public interface Vala.CallableExpression : Expression {
         */
        public abstract bool is_chainup { get; set; }
 
+       /**
+        * The expression to call.
+        */
+       public abstract Expression call { get; }
+
        /**
         * Appends the specified expression to the list of arguments.
         *
index 70ad8fb6a926f050bde08c84db56ba2d35aee812..162a9fad4ae2391f52d9cabbe1612096e331a034 100644 (file)
@@ -31,10 +31,6 @@ public class Vala.MethodCall : Expression, CallableExpression {
         */
        public Expression call {
                get { return _call; }
-               private set {
-                       _call = value;
-                       _call.parent_node = this;
-               }
        }
 
        public bool is_yield_expression { get; set; }
@@ -61,7 +57,8 @@ public class Vala.MethodCall : Expression, CallableExpression {
         */
        public MethodCall (Expression call, SourceReference? source_reference = null) {
                this.source_reference = source_reference;
-               this.call = call;
+               this._call = call;
+               this._call.parent_node = this;
        }
 
        /**
@@ -99,7 +96,7 @@ public class Vala.MethodCall : Expression, CallableExpression {
 
        public override void replace_expression (Expression old_node, Expression new_node) {
                if (call == old_node) {
-                       call = new_node;
+                       _call = new_node;
                }
 
                int index = argument_list.index_of (old_node);
index 9cea934170b6fd54f497ad1f6bc812806aeab2e7..5793b46f15efb6ac7eb418f8250d6f995ad7c3c4 100644 (file)
@@ -37,6 +37,13 @@ public class Vala.ObjectCreationExpression : Expression, CallableExpression {
                }
        }
 
+       /**
+        * The construction method to call.
+        */
+       public Expression call {
+               get { return member_name; }
+       }
+
        /**
         * The construction method to use or the data type to be created
         * with the default construction method.