]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Drop useless temporary variable in visit_cast_expression
authorLuca Bruno <lucabru@src.gnome.org>
Sat, 11 Jun 2011 10:09:11 +0000 (12:09 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 6 Jul 2011 20:32:31 +0000 (22:32 +0200)
codegen/valaccodebasemodule.vala

index f61d5fb9ab464b28f6da9b09b3791f1e0735b435..d20f1e7ce654680c15cfff0d5500935168a75e3a 100644 (file)
@@ -4577,15 +4577,11 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                if (context.profile == Profile.GOBJECT && (iface != null || (cl != null && !cl.is_compact))) {
                        // checked cast for strict subtypes of GTypeInstance
                        if (expr.is_silent_cast) {
-                               var temp_decl = get_temp_variable (expr.inner.value_type, expr.inner.value_type.value_owned, expr, false);
-                               emit_temp_var (temp_decl);
-                               var ctemp = get_variable_cexpression (temp_decl.name);
-
-                               ccode.add_assignment (ctemp, get_cvalue (expr.inner));
-                               var ccheck = create_type_check (ctemp, expr.type_reference);
-                               var ccast = new CCodeCastExpression (ctemp, expr.type_reference.get_cname ());
+                               var cexpr = get_cvalue (expr.inner);
+                               var ccheck = create_type_check (cexpr, expr.type_reference);
+                               var ccast = new CCodeCastExpression (cexpr, expr.type_reference.get_cname ());
                                var cnull = new CCodeConstant ("NULL");
-       
+
                                set_cvalue (expr, new CCodeConditionalExpression (ccheck, ccast, cnull));
                        } else {
                                set_cvalue (expr, generate_instance_cast (get_cvalue (expr.inner), expr.type_reference.data_type));