[vala/staging] vala: Add common CallableExpression.call property API
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] vala: Add common CallableExpression.call property API
- Date: Tue, 22 Feb 2022 12:14:42 +0000 (UTC)
commit e51493ea5019872d6d2b5152d1781394b37a4f40
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Tue Feb 22 13:10:20 2022 +0100
vala: Add common CallableExpression.call property API
vala/valacallableexpression.vala | 5 +++++
vala/valamethodcall.vala | 9 +++------
vala/valaobjectcreationexpression.vala | 7 +++++++
3 files changed, 15 insertions(+), 6 deletions(-)
---
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.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]