summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vala/valaarraycreationexpression.vala10
-rw-r--r--vala/valainitializerlist.vala6
-rw-r--r--vala/valamemberinitializer.vala4
-rw-r--r--vala/valaobjectcreationexpression.vala4
4 files changed, 24 insertions, 0 deletions
diff --git a/vala/valaarraycreationexpression.vala b/vala/valaarraycreationexpression.vala
index 3b52748ff..ec29ce800 100644
--- a/vala/valaarraycreationexpression.vala
+++ b/vala/valaarraycreationexpression.vala
@@ -260,4 +260,14 @@ public class Vala.ArrayCreationExpression : Expression {
codegen.visit_expression (this);
}
+
+ public override void get_used_variables (Collection<Variable> collection) {
+ foreach (Expression e in sizes) {
+ e.get_used_variables (collection);
+ }
+
+ if (initializer_list != null) {
+ initializer_list.get_used_variables (collection);
+ }
+ }
}
diff --git a/vala/valainitializerlist.vala b/vala/valainitializerlist.vala
index edd98570c..6955aad1e 100644
--- a/vala/valainitializerlist.vala
+++ b/vala/valainitializerlist.vala
@@ -224,4 +224,10 @@ public class Vala.InitializerList : Expression {
codegen.visit_expression (this);
}
+
+ public override void get_used_variables (Collection<Variable> collection) {
+ foreach (Expression expr in initializers) {
+ expr.get_used_variables (collection);
+ }
+ }
}
diff --git a/vala/valamemberinitializer.vala b/vala/valamemberinitializer.vala
index c5e5d8255..352b1ffa4 100644
--- a/vala/valamemberinitializer.vala
+++ b/vala/valamemberinitializer.vala
@@ -76,6 +76,10 @@ public class Vala.MemberInitializer : CodeNode {
initializer.emit (codegen);
}
+ public override void get_used_variables (Collection<Variable> collection) {
+ initializer.get_used_variables (collection);
+ }
+
public override void replace_expression (Expression old_node, Expression new_node) {
if (initializer == old_node) {
initializer = new_node;
diff --git a/vala/valaobjectcreationexpression.vala b/vala/valaobjectcreationexpression.vala
index e64b85244..daf31137d 100644
--- a/vala/valaobjectcreationexpression.vala
+++ b/vala/valaobjectcreationexpression.vala
@@ -479,5 +479,9 @@ public class Vala.ObjectCreationExpression : Expression {
foreach (Expression arg in argument_list) {
arg.get_used_variables (collection);
}
+
+ foreach (MemberInitializer init in object_initializer) {
+ init.get_used_variables (collection);
+ }
}
}