[vala] Allow using array element access as ref and out method arguments
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vala] Allow using array element access as ref and out method arguments
- Date: Wed, 10 Feb 2010 10:02:13 +0000 (UTC)
commit b7a5be2f5a2b1d2c4ab03d6e74251f41c53ce893
Author: Jürg Billeter <j bitron ch>
Date: Wed Feb 10 10:59:51 2010 +0100
Allow using array element access as ref and out method arguments
Fixes bug 609388.
vala/valaunaryexpression.vala | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/vala/valaunaryexpression.vala b/vala/valaunaryexpression.vala
index a171c8e..53ebd9a 100644
--- a/vala/valaunaryexpression.vala
+++ b/vala/valaunaryexpression.vala
@@ -215,13 +215,15 @@ public class Vala.UnaryExpression : Expression {
assignment.check (analyzer);
return true;
} else if (operator == UnaryOperator.REF || operator == UnaryOperator.OUT) {
- if (inner.symbol_reference is Field || inner.symbol_reference is FormalParameter || inner.symbol_reference is LocalVariable) {
- // ref and out can only be used with fields, parameters, and local variables
+ var ea = inner as ElementAccess;
+ if (inner.symbol_reference is Field || inner.symbol_reference is FormalParameter || inner.symbol_reference is LocalVariable ||
+ (ea != null && ea.container.value_type is ArrayType)) {
+ // ref and out can only be used with fields, parameters, local variables, and array element access
lvalue = true;
value_type = inner.value_type;
} else {
error = true;
- Report.error (source_reference, "ref and out method arguments can only be used with fields, parameters, and local variables");
+ Report.error (source_reference, "ref and out method arguments can only be used with fields, parameters, local variables, and array element access");
return false;
}
} else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]