]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Several transformer fixes
authorLuca Bruno <lucabru@src.gnome.org>
Thu, 29 Dec 2011 11:39:15 +0000 (12:39 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 11 Mar 2019 12:49:26 +0000 (13:49 +0100)
vala/valacodetransformer.vala
vala/valaconditionalexpression.vala

index eaff508b4ed49abfe34d7d0e55ad09f8e97f9832..8727c8e7e4025dddd53d4cd8cd0f7f3499634691 100644 (file)
@@ -196,6 +196,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                var loop = new Loop (stmt.body, stmt.source_reference);
 
                var parent_block = (Block) stmt.parent_node;
+               context.analyzer.replaced_nodes.add (stmt);
                parent_block.replace_statement (stmt, loop);
 
                stmt.body.checked = false;
@@ -210,6 +211,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                        var loop = new Loop (stmt.body, stmt.source_reference);
 
                        var parent_block = (Block) stmt.parent_node;
+                       context.analyzer.replaced_nodes.add (stmt);
                        parent_block.replace_statement (stmt, loop);
 
                        check (loop);
@@ -237,6 +239,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                block.add_statement (new Loop (stmt.body, stmt.source_reference));
 
                var parent_block = (Block) stmt.parent_node;
+               context.analyzer.replaced_nodes.add (stmt);
                parent_block.replace_statement (stmt, block);
 
                stmt.body.checked = false;
@@ -283,6 +286,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                block.add_statement (new Loop (stmt.body, stmt.source_reference));
 
                var parent_block = (Block) stmt.parent_node;
+               context.analyzer.replaced_nodes.add (stmt);
                parent_block.replace_statement (stmt, block);
 
                stmt.body.checked = false;
@@ -366,6 +370,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                                block.remove_local_variable (local);
                                context.analyzer.get_insert_block (expr).add_local_variable (local);
 
+                               context.analyzer.replaced_nodes.add (expr);
                                old_parent_node.replace_expression (expr, temp_access);
                                check (temp_access);
                        }
@@ -396,6 +401,7 @@ public class Vala.CodeTransformer : CodeVisitor {
                ma.formal_target_type = expr.formal_target_type;
                ma.target_type = expr.target_type;
 
+               context.analyzer.replaced_nodes.add (expr);
                expr.parent_node.replace_expression (expr, ma);
                check (ma);
        }
index 72f42d19584d964f4516c1472393a2adaf3fb8b5..16e54064f2fcc069a6b1c7bf123953c3d4898f8c 100644 (file)
@@ -85,11 +85,9 @@ public class Vala.ConditionalExpression : Expression {
        }
 
        public override void accept (CodeVisitor visitor) {
-               // FIXME: temporary workaround to keep alive the object
-               var self = this;
-               visitor.visit_conditional_expression (self);
+               visitor.visit_conditional_expression (this);
 
-               visitor.visit_expression (self);
+               visitor.visit_expression (this);
        }
 
        public override void accept_children (CodeVisitor visitor) {