summaryrefslogtreecommitdiff
path: root/vala/valaforstatement.vala
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2011-12-29 12:39:15 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2018-10-23 18:45:45 +0200
commit508d5d07ad6938e806d36eb085890944361b56aa (patch)
treeb046bcd7d80dfd7b67edc58e64bcbdc894f31f1b /vala/valaforstatement.vala
parent1ee72d5d2a29bb59504d05e4d09add53c648a3cb (diff)
downloadvala-508d5d07ad6938e806d36eb085890944361b56aa.tar.gz
vala: Add missing replace_expression() implementations
Diffstat (limited to 'vala/valaforstatement.vala')
-rw-r--r--vala/valaforstatement.vala16
1 files changed, 16 insertions, 0 deletions
diff --git a/vala/valaforstatement.vala b/vala/valaforstatement.vala
index 80ff8dbeb..79bd063f7 100644
--- a/vala/valaforstatement.vala
+++ b/vala/valaforstatement.vala
@@ -136,6 +136,22 @@ public class Vala.ForStatement : CodeNode, Statement {
body.accept (visitor);
}
+ public override void replace_expression (Expression old_node, Expression new_node) {
+ if (condition == old_node) {
+ condition = new_node;
+ }
+ for (int i=0; i < initializer.size; i++) {
+ if (initializer[i] == old_node) {
+ initializer[i] = new_node;
+ }
+ }
+ for (int i=0; i < iterator.size; i++) {
+ if (iterator[i] == old_node) {
+ iterator[i] = new_node;
+ }
+ }
+ }
+
bool always_true (Expression condition) {
var literal = condition as BooleanLiteral;
return (literal != null && literal.value);