]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use create_temp_value in visit_object_creation_expression
authorLuca Bruno <lucabru@src.gnome.org>
Sat, 11 Jun 2011 09:59:43 +0000 (11:59 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 6 Jul 2011 20:32:32 +0000 (22:32 +0200)
codegen/valaccodebasemodule.vala

index 13da64b612f0344ea271539d5b73b30c6e9bb508..2f101795f21b1b1a0f990d3491511b27fe9b8e5e 100644 (file)
@@ -4083,10 +4083,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        if (local != null && has_simple_struct_initializer (local)) {
                                instance = get_cvalue_ (get_local_cvalue (local));
                        } else {
-                               var temp_decl = get_temp_variable (expr.type_reference, false, expr);
-                               emit_temp_var (temp_decl);
-
-                               instance = get_variable_cexpression (get_variable_cname (temp_decl.name));
+                               var temp_value = create_temp_value (expr.type_reference, true, expr);
+                               instance = get_cvalue_ (temp_value);
                        }
                }
 
@@ -4341,13 +4339,9 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                }
 
                if (creation_expr != null) {
-                       var temp_var = get_temp_variable (expr.value_type);
-                       var temp_ref = get_variable_cexpression (temp_var.name);
-
-                       emit_temp_var (temp_var);
-
-                       ccode.add_assignment (temp_ref, creation_expr);
-                       set_cvalue (expr, temp_ref);
+                       var temp_value = create_temp_value (expr.value_type, false, expr);
+                       ccode.add_assignment (get_cvalue_ (temp_value), creation_expr);
+                       expr.target_value = temp_value;
                }
        }