[vala/emitlocal: 10/16] codegen: Use create_temp_value in visit_end_full_expression



commit 00956d9eabc75b8bc617cc99248f35609b24de19
Author: Luca Bruno <lucabru src gnome org>
Date:   Tue Jun 14 11:17:10 2011 +0200

    codegen: Use create_temp_value in visit_end_full_expression

 codegen/valaccodebasemodule.vala |   13 +++----------
 1 files changed, 3 insertions(+), 10 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 7a4ee49..41b66dd 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -3036,8 +3036,6 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 			return;
 		}
 
-		LocalVariable full_expr_var = null;
-
 		var local_decl = expr.parent_node as LocalVariable;
 		if (!(local_decl != null && has_simple_struct_initializer (local_decl))) {
 			var expr_type = expr.value_type;
@@ -3045,20 +3043,15 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 				expr_type = expr.target_type;
 			}
 
-			full_expr_var = get_temp_variable (expr_type, true, expr, false);
-			emit_temp_var (full_expr_var);
-		
-			ccode.add_assignment (get_variable_cexpression (full_expr_var.name), get_cvalue (expr));
+			var temp_value = create_temp_value (expr_type, false, expr);
+			store_value (temp_value, expr.target_value);
+			expr.target_value = temp_value;
 		}
 		
 		foreach (var value in temp_ref_values) {
 			ccode.add_expression (destroy_value (value));
 		}
 
-		if (full_expr_var != null) {
-			set_cvalue (expr, get_variable_cexpression (full_expr_var.name));
-		}
-
 		temp_ref_values.clear ();
 	}
 	



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]