From: Rico Tzschichholz Date: Tue, 22 Feb 2022 12:10:20 +0000 (+0100) Subject: vala: Add common CallableExpression.call property API X-Git-Tag: 0.55.90~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e51493ea5019872d6d2b5152d1781394b37a4f40;p=thirdparty%2Fvala.git vala: Add common CallableExpression.call property API --- diff --git a/vala/valacallableexpression.vala b/vala/valacallableexpression.vala index 930c7a0a2..cf9c7ddbe 100644 --- a/vala/valacallableexpression.vala +++ b/vala/valacallableexpression.vala @@ -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. * diff --git a/vala/valamethodcall.vala b/vala/valamethodcall.vala index 70ad8fb6a..162a9fad4 100644 --- a/vala/valamethodcall.vala +++ b/vala/valamethodcall.vala @@ -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); diff --git a/vala/valaobjectcreationexpression.vala b/vala/valaobjectcreationexpression.vala index 9cea93417..5793b46f1 100644 --- a/vala/valaobjectcreationexpression.vala +++ b/vala/valaobjectcreationexpression.vala @@ -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.