]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Drop unnecessary comma expressions in creation expressions
authorJürg Billeter <j@bitron.ch>
Sun, 10 Oct 2010 08:50:21 +0000 (10:50 +0200)
committerJürg Billeter <j@bitron.ch>
Sun, 10 Oct 2010 08:50:21 +0000 (10:50 +0200)
codegen/valaccodebasemodule.vala
codegen/valadovabasemodule.vala

index 5adc2a31eb88c60e5241485d8993fe73024831da..d0b5a8c01a478fe41a791039dbbf80fb8fd36608 100644 (file)
@@ -4230,12 +4230,10 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                        set_cvalue (expr, creation_expr);
                        return;
                } else if (instance != null) {
-                       var ccomma = new CCodeCommaExpression ();
-
                        if (expr.type_reference.data_type is Struct) {
-                               ccomma.append_expression (creation_expr);
+                               ccode.add_expression (creation_expr);
                        } else {
-                               ccomma.append_expression (new CCodeAssignment (instance, creation_expr));
+                               ccode.add_expression (new CCodeAssignment (instance, creation_expr));
                        }
 
                        foreach (MemberInitializer init in expr.get_object_initializer ()) {
@@ -4249,7 +4247,7 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                        } else {
                                                lhs = new CCodeMemberAccess.pointer (typed_inst, f.get_cname ());
                                        }
-                                       ccomma.append_expression (new CCodeAssignment (lhs, get_cvalue (init.initializer)));
+                                       ccode.add_expression (new CCodeAssignment (lhs, get_cvalue (init.initializer)));
 
                                        if (f.variable_type is ArrayType && !f.no_array_length) {
                                                var array_type = (ArrayType) f.variable_type;
@@ -4260,7 +4258,7 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                                                lhs = new CCodeMemberAccess.pointer (typed_inst, get_array_length_cname (f.get_cname (), dim));
                                                        }
                                                        var rhs_array_len = get_array_length_cexpression (init.initializer, dim);
-                                                       ccomma.append_expression (new CCodeAssignment (lhs, rhs_array_len));
+                                                       ccode.add_expression (new CCodeAssignment (lhs, rhs_array_len));
                                                }
                                        } else if (f.variable_type is DelegateType && (f.variable_type as DelegateType).delegate_symbol.has_target && !f.no_delegate_target) {
                                                if (expr.type_reference.data_type is Struct) {
@@ -4270,7 +4268,7 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                                }
                                                CCodeExpression rhs_delegate_target_destroy_notify;
                                                var rhs_delegate_target = get_delegate_target_cexpression (init.initializer, out rhs_delegate_target_destroy_notify);
-                                               ccomma.append_expression (new CCodeAssignment (lhs, rhs_delegate_target));
+                                               ccode.add_expression (new CCodeAssignment (lhs, rhs_delegate_target));
                                        }
 
                                        var cl = f.parent_symbol as Class;
@@ -4282,13 +4280,11 @@ public class Vala.CCodeBaseModule : CodeGenerator {
                                        inst_ma.value_type = expr.type_reference;
                                        set_cvalue (inst_ma, instance);
                                        var ma = new MemberAccess (inst_ma, init.name);
-                                       ccomma.append_expression (get_property_set_call ((Property) init.symbol_reference, ma, get_cvalue (init.initializer)));
+                                       ccode.add_expression (get_property_set_call ((Property) init.symbol_reference, ma, get_cvalue (init.initializer)));
                                }
                        }
 
-                       ccomma.append_expression (instance);
-
-                       creation_expr = ccomma;
+                       creation_expr = instance;
                }
 
                if (creation_expr != null) {
index 2c66c8c100639cf2242a837f632586d1eee953b1..8e42962a3e3ed37ae00a39570e11e98aaddf18be 100644 (file)
@@ -1675,12 +1675,10 @@ public class Vala.DovaBaseModule : CodeGenerator {
                }
 
                if (instance != null) {
-                       var ccomma = new CCodeCommaExpression ();
-
                        if (expr.type_reference.data_type is Struct) {
-                               ccomma.append_expression (creation_expr);
+                               ccode.add_expression (creation_expr);
                        } else {
-                               ccomma.append_expression (new CCodeAssignment (instance, creation_expr));
+                               ccode.add_expression (new CCodeAssignment (instance, creation_expr));
                        }
 
                        foreach (MemberInitializer init in expr.get_object_initializer ()) {
@@ -1694,19 +1692,17 @@ public class Vala.DovaBaseModule : CodeGenerator {
                                        } else {
                                                lhs = new CCodeMemberAccess.pointer (typed_inst, f.get_cname ());
                                        }
-                                       ccomma.append_expression (new CCodeAssignment (lhs, get_cvalue (init.initializer)));
+                                       ccode.add_expression (new CCodeAssignment (lhs, get_cvalue (init.initializer)));
                                } else if (init.symbol_reference is Property) {
                                        var inst_ma = new MemberAccess.simple ("new");
                                        inst_ma.value_type = expr.type_reference;
                                        set_cvalue (inst_ma, instance);
                                        var ma = new MemberAccess (inst_ma, init.name);
-                                       ccomma.append_expression (get_property_set_call ((Property) init.symbol_reference, ma, get_cvalue (init.initializer)));
+                                       ccode.add_expression (get_property_set_call ((Property) init.symbol_reference, ma, get_cvalue (init.initializer)));
                                }
                        }
 
-                       ccomma.append_expression (instance);
-
-                       creation_expr = ccomma;
+                       creation_expr = instance;
                }
 
                if (creation_expr != null) {