]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use builder API for reference transfer expressions
authorJürg Billeter <j@bitron.ch>
Sun, 17 Oct 2010 15:34:05 +0000 (17:34 +0200)
committerJürg Billeter <j@bitron.ch>
Sun, 17 Oct 2010 15:34:05 +0000 (17:34 +0200)
codegen/valaccodebasemodule.vala

index 40b94b2f130774e28fc3d6f9acaddff5868527d8..c5b1eb9efb6c1780b09f5df853764e19f1e2c507 100644 (file)
@@ -4603,15 +4603,14 @@ public class Vala.CCodeBaseModule : CodeGenerator {
 
        public override void visit_reference_transfer_expression (ReferenceTransferExpression expr) {
                /* (tmp = var, var = null, tmp) */
-               var ccomma = new CCodeCommaExpression ();
                var temp_decl = get_temp_variable (expr.value_type, true, expr, false);
                emit_temp_var (temp_decl);
                var cvar = get_variable_cexpression (temp_decl.name);
 
-               ccomma.append_expression (new CCodeAssignment (cvar, get_cvalue (expr.inner)));
-               ccomma.append_expression (new CCodeAssignment (get_cvalue (expr.inner), new CCodeConstant ("NULL")));
-               ccomma.append_expression (cvar);
-               set_cvalue (expr, ccomma);
+               ccode.add_expression (new CCodeAssignment (cvar, get_cvalue (expr.inner)));
+               ccode.add_expression (new CCodeAssignment (get_cvalue (expr.inner), new CCodeConstant ("NULL")));
+
+               set_cvalue (expr, cvar);
        }
 
        public override void visit_binary_expression (BinaryExpression expr) {