]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Append temporary variables in order of declaration
authorJürg Billeter <j@bitron.ch>
Tue, 10 Aug 2010 07:08:25 +0000 (09:08 +0200)
committerJürg Billeter <j@bitron.ch>
Tue, 10 Aug 2010 07:08:25 +0000 (09:08 +0200)
15 files changed:
codegen/valaccodearraymodule.vala
codegen/valaccodeassignmentmodule.vala
codegen/valaccodebasemodule.vala
codegen/valaccodecontrolflowmodule.vala
codegen/valaccodememberaccessmodule.vala
codegen/valaccodemethodcallmodule.vala
codegen/valadovaarraymodule.vala
codegen/valadovaassignmentmodule.vala
codegen/valadovabasemodule.vala
codegen/valadovamemberaccessmodule.vala
codegen/valadovamethodcallmodule.vala
codegen/valadovavaluemodule.vala
codegen/valagobjectmodule.vala
codegen/valagsignalmodule.vala
codegen/valagtypemodule.vala

index c2c2daff040d6b1e85f803091893dfc650bf2a3d..96558f5a552e53538223e775ac9097c4305dfb97 100644 (file)
@@ -52,7 +52,7 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                        var name_cnode = get_variable_cexpression (temp_var.name);
                        int i = 0;
 
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
 
                        append_initializer_list (ce, name_cnode, expr.initializer_list, expr.rank, ref i);
 
@@ -84,7 +84,7 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                                var name_cnode = get_variable_cexpression (temp_var.name);
                                size.ccodenode = name_cnode;
 
-                               temp_vars.insert (0, temp_var);
+                               temp_vars.add (temp_var);
 
                                csize = new CCodeAssignment (name_cnode, csize);
                        }
@@ -116,7 +116,7 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                        var name_cnode = get_variable_cexpression (temp_var.name);
                        int i = 0;
                        
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
                        
                        ce.append_expression (new CCodeAssignment (name_cnode, gnew));
 
@@ -446,15 +446,15 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
 
                var len_var = get_temp_variable (int_type);
                len_var.source_reference = expr.source_reference;
-               temp_vars.insert (0, len_var);
+               temp_vars.add (len_var);
 
                var slice_var = get_temp_variable (expr.value_type, true, expr);
-               temp_vars.insert (0, slice_var);
+               temp_vars.add (slice_var);
 
                if (!is_pure_ccode_expression (cstart)) {
                        // avoid double evaluation of start
                        var start_var = get_temp_variable (int_type);
-                       temp_vars.insert (0, start_var);
+                       temp_vars.add (start_var);
 
                        var start_assignment = new CCodeAssignment (get_variable_cexpression (start_var.name), cstart);
                        ccomma.append_expression (start_assignment);
@@ -692,7 +692,7 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                        }
 
                        var decl = get_temp_variable (expression_type, false, node);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ctemp = get_variable_cexpression (decl.name);
 
index 1a9dca1b636c6a305927178e64694abdf7b7f0e9..1e6b9210783e6c019781903f1bbb1d66425c8a1f 100644 (file)
@@ -134,13 +134,13 @@ public class Vala.CCodeAssignmentModule : CCodeMemberAccessModule {
                                var lhs_value_type = assignment.left.value_type.copy ();
                                string lhs_temp_name = "_tmp%d_".printf (next_temp_var_id++);
                                var lhs_temp = new LocalVariable (lhs_value_type, "*" + lhs_temp_name);
-                               temp_vars.insert (0, lhs_temp);
+                               temp_vars.add (lhs_temp);
                                outer_ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (lhs_temp_name), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, lhs)));
                                lhs = new CCodeParenthesizedExpression (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, get_variable_cexpression (lhs_temp_name)));
                        }
 
                        var temp_decl = get_temp_variable (assignment.left.value_type, true, null, false);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_decl.name), rhs));
                        if (unref_old) {
                                /* unref old value */
index 19e18c789896c539582fc0326f3ddc3eee82710b..b2871c5d76a46f0ffa97c9c337fdf085eeabd8bf 100644 (file)
@@ -2029,12 +2029,12 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                if (!array_type.fixed_length) {
                                        for (int dim = 1; dim <= array_type.rank; dim++) {
                                                var len_var = new LocalVariable (int_type.copy (), head.get_array_length_cname (get_variable_cname (local.name), dim));
-                                               temp_vars.insert (0, len_var);
+                                               temp_vars.add (len_var);
                                        }
 
                                        if (array_type.rank == 1) {
                                                var size_var = new LocalVariable (int_type.copy (), head.get_array_size_cname (get_variable_cname (local.name)));
-                                               temp_vars.insert (0, size_var);
+                                               temp_vars.add (size_var);
                                        }
                                }
                        } else if (local.variable_type is DelegateType) {
@@ -2043,10 +2043,10 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                if (d.has_target) {
                                        // create variable to store delegate target
                                        var target_var = new LocalVariable (new PointerType (new VoidType ()), get_delegate_target_cname (get_variable_cname (local.name)));
-                                       temp_vars.insert (0, target_var);
+                                       temp_vars.add (target_var);
                                        if (deleg_type.value_owned) {
                                                var target_destroy_notify_var = new LocalVariable (new DelegateType ((Delegate) context.root.scope.lookup ("GLib").scope.lookup ("DestroyNotify")), get_delegate_target_destroy_notify_cname (get_variable_cname (local.name)));
-                                               temp_vars.insert (0, target_destroy_notify_var);
+                                               temp_vars.add (target_destroy_notify_var);
                                        }
                                }
                        }
@@ -2069,7 +2069,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (local.variable_type, true, local, false);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), rhs));
 
                                        for (int dim = 1; dim <= array_type.rank; dim++) {
@@ -2094,7 +2094,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (local.variable_type, true, local, false);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), rhs));
 
                                        CCodeExpression lhs_delegate_target_destroy_notify;
@@ -3714,7 +3714,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                        
                        // assign current value to temp variable
                        var temp_decl = get_temp_variable (prop.property_type, true, expr, false);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_decl.name), (CCodeExpression) expr.inner.ccodenode));
                        
                        // increment/decrement property
@@ -3825,7 +3825,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                        // (copy (&expr, &temp), temp)
 
                        var decl = get_temp_variable (expression_type, false, node);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ctemp = get_variable_cexpression (decl.name);
                        
@@ -3925,7 +3925,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                        return ccall;
                } else {
                        var decl = get_temp_variable (expression_type, false, node, false);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ctemp = get_variable_cexpression (decl.name);
                        
@@ -4445,7 +4445,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (param.variable_type, true, null, false);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), cexpr));
                                        ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name)));
 
@@ -4683,7 +4683,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                /* (tmp = var, var = null, tmp) */
                var ccomma = new CCodeCommaExpression ();
                var temp_decl = get_temp_variable (expr.value_type, true, expr, false);
-               temp_vars.insert (0, temp_decl);
+               temp_vars.add (temp_decl);
                var cvar = get_variable_cexpression (temp_decl.name);
 
                ccomma.append_expression (new CCodeAssignment (cvar, (CCodeExpression) expr.inner.ccodenode));
@@ -4701,7 +4701,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                        var lbe = (BinaryExpression) expr.left;
 
                        var temp_decl = get_temp_variable (lbe.right.value_type, true, null, false);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        var cvar = get_variable_cexpression (temp_decl.name);
                        var ccomma = new CCodeCommaExpression ();
                        var clbe = (CCodeBinaryExpression) lbe.ccodenode;
@@ -5091,7 +5091,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                // treat void* special to not leak memory with void* method parameters
                        } else if (requires_destroy (expression_type)) {
                                var decl = get_temp_variable (expression_type, true, expression_type, false);
-                               temp_vars.insert (0, decl);
+                               temp_vars.add (decl);
                                temp_ref_vars.insert (0, decl);
                                cexpr = new CCodeAssignment (get_variable_cexpression (decl.name), cexpr);
 
@@ -5101,7 +5101,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        ccomma.append_expression (cexpr);
                                        for (int dim = 1; dim <= array_type.rank; dim++) {
                                                var len_decl = new LocalVariable (int_type.copy (), head.get_array_length_cname (decl.name, dim));
-                                               temp_vars.insert (0, len_decl);
+                                               temp_vars.add (len_decl);
                                                ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (len_decl.name), head.get_array_length_cexpression (expr, dim)));
                                        }
                                        ccomma.append_expression (get_variable_cexpression (decl.name));
@@ -5111,9 +5111,9 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        ccomma.append_expression (cexpr);
 
                                        var target_decl = new LocalVariable (new PointerType (new VoidType ()), get_delegate_target_cname (decl.name));
-                                       temp_vars.insert (0, target_decl);
+                                       temp_vars.add (target_decl);
                                        var target_destroy_notify_decl = new LocalVariable (new DelegateType ((Delegate) context.root.scope.lookup ("GLib").scope.lookup ("DestroyNotify")), get_delegate_target_destroy_notify_cname (decl.name));
-                                       temp_vars.insert (0, target_destroy_notify_decl);
+                                       temp_vars.add (target_destroy_notify_decl);
                                        CCodeExpression target_destroy_notify;
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (target_decl.name), get_delegate_target_cexpression (expr, out target_destroy_notify)));
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (target_destroy_notify_decl.name), target_destroy_notify));
@@ -5132,7 +5132,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                if (gvalue_boxing) {
                        // implicit conversion to GValue
                        var decl = get_temp_variable (target_type, true, target_type);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ccomma = new CCodeCommaExpression ();
 
@@ -5224,7 +5224,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                cexpr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, cexpr);
                        } else {
                                var decl = get_temp_variable (expression_type, expression_type.value_owned, expression_type, false);
-                               temp_vars.insert (0, decl);
+                               temp_vars.add (decl);
 
                                var ccomma = new CCodeCommaExpression ();
                                ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (decl.name), cexpr));
@@ -5346,7 +5346,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (ma.inner.target_type, true, null, false);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), instance));
                                        ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name)));
 
@@ -5367,7 +5367,7 @@ public class Vala.CCodeBaseModule : CCodeModule {
                CCodeExpression rv;
                if (array_type != null && !prop.no_array_length) {
                        var temp_var = get_temp_variable (prop.property_type, true, null, false);
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
                        var ccomma = new CCodeCommaExpression ();
                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), cexpr));
                        ccall.add_argument (get_variable_cexpression (temp_var.name));
index b6d9ca537510ec7d632e1447d3959b2d5b4d94a3..9daa5286c6c8902300557a64886fc7dd463c6bfd 100644 (file)
@@ -47,7 +47,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule {
        void visit_string_switch_statement (SwitchStatement stmt) {
                // we need a temporary variable to save the property value
                var temp_var = get_temp_variable (stmt.expression.value_type, stmt.expression.value_type.value_owned, stmt, false);
-               stmt.expression.temp_vars.insert (0, temp_var);
+               stmt.expression.temp_vars.add (temp_var);
 
                var ctemp = get_variable_cexpression (temp_var.name);
                var cinit = new CCodeAssignment (ctemp, (CCodeExpression) stmt.expression.ccodenode);
@@ -66,7 +66,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule {
                var ccond = new CCodeConditionalExpression (cisnull, new CCodeConstant ("0"), cquark);
 
                temp_var = get_temp_variable (gquark_type);
-               stmt.expression.temp_vars.insert (0, temp_var);
+               stmt.expression.temp_vars.add (temp_var);
 
                int label_count = 0;
 
index 6e8ff0c638b12783ec4733c621882044ce111a8b..9dfe2c7ba2987531fff96465584f30ceae8d4ee9 100644 (file)
@@ -80,7 +80,7 @@ public class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                                // instance expression has side-effects
                                                // store in temp. variable
                                                var temp_var = get_temp_variable (expr.inner.value_type, true, null, false);
-                                               temp_vars.insert (0, temp_var);
+                                               temp_vars.add (temp_var);
                                                var ctemp = get_variable_cexpression (temp_var.name);
                                                inst = new CCodeAssignment (ctemp, pub_inst);
                                                expr.inner.ccodenode = ctemp;
@@ -275,7 +275,7 @@ public class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                                        var ccomma = new CCodeCommaExpression ();
 
                                                        var temp_var = get_temp_variable (expr.inner.target_type, true, null, false);
-                                                       temp_vars.insert (0, temp_var);
+                                                       temp_vars.add (temp_var);
                                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), pub_inst));
                                                        ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name)));
 
index c1187003ef81ed37df81229814427020f87fc5b1..ec2b13940824612fc62ec3b96ff40fd54027797f 100644 (file)
@@ -199,7 +199,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (ma.inner.target_type, true, null, false);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), instance));
                                        ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name)));
 
@@ -352,14 +352,14 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                                        if (param.array_length_type != null) {
                                                                if (param.direction == ParameterDirection.OUT) {
                                                                        var temp_array_length = get_temp_variable (new CType (param.array_length_type));
-                                                                       temp_vars.insert (0, temp_array_length);
+                                                                       temp_vars.add (temp_array_length);
                                                                        array_length_expr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (temp_array_length.name));
 
                                                                        var comma = new CCodeCommaExpression ();
                                                                        LocalVariable? temp_result = null;
                                                                        if (!(m.return_type is VoidType)) {
                                                                                temp_result = get_temp_variable (m.return_type);
-                                                                               temp_vars.insert (0, temp_result);
+                                                                               temp_vars.add (temp_result);
                                                                                ccall_expr = new CCodeAssignment (get_variable_cexpression (temp_result.name), ccall_expr);
                                                                        }
 
@@ -429,7 +429,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                                var ccomma = new CCodeCommaExpression ();
 
                                                var temp_decl = get_temp_variable (arg.value_type, true, null, false);
-                                               temp_vars.insert (0, temp_decl);
+                                               temp_vars.add (temp_decl);
                                                ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_decl.name), cexpr));
 
                                                cexpr = get_variable_cexpression (temp_decl.name);
@@ -450,7 +450,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                                var ccomma = new CCodeCommaExpression ();
 
                                                var temp_var = get_temp_variable (param.variable_type, param.variable_type.value_owned);
-                                               temp_vars.insert (0, temp_var);
+                                               temp_vars.add (temp_var);
                                                cexpr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name));
 
                                                if (param.direction == ParameterDirection.REF) {
@@ -467,14 +467,14 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                                        ccomma.append_expression (ccall_expr);
                                                } else {
                                                        ret_temp_var = get_temp_variable (itype.get_return_type (), true, null, false);
-                                                       temp_vars.insert (0, ret_temp_var);
+                                                       temp_vars.add (ret_temp_var);
                                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (ret_temp_var.name), ccall_expr));
                                                }
 
                                                var cassign_comma = new CCodeCommaExpression ();
 
                                                var assign_temp_var = get_temp_variable (unary.inner.value_type, unary.inner.value_type.value_owned, null, false);
-                                               temp_vars.insert (0, assign_temp_var);
+                                               temp_vars.add (assign_temp_var);
 
                                                cassign_comma.append_expression (new CCodeAssignment (get_variable_cexpression (assign_temp_var.name), transform_expression (get_variable_cexpression (temp_var.name), param.variable_type, unary.inner.value_type, arg)));
 
@@ -534,7 +534,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        var temp_var = get_temp_variable (itype.get_return_type (), true, null, false);
                                        var temp_ref = get_variable_cexpression (temp_var.name);
 
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
 
                                        ccall_expr = new CCodeAssignment (temp_ref, ccall_expr);
 
@@ -553,7 +553,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        }
                                        var temp_ref = get_variable_cexpression (temp_var.name);
 
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
 
                                        out_arg_map.set (get_param_pos (m.carray_length_parameter_position + 0.01 * dim), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -569,7 +569,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                var temp_var = get_temp_variable (new PointerType (new VoidType ()));
                                var temp_ref = get_variable_cexpression (temp_var.name);
 
-                               temp_vars.insert (0, temp_var);
+                               temp_vars.add (temp_var);
 
                                out_arg_map.set (get_param_pos (m.cdelegate_target_parameter_position), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -579,7 +579,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        temp_var = get_temp_variable (new DelegateType ((Delegate) context.root.scope.lookup ("GLib").scope.lookup ("DestroyNotify")));
                                        temp_ref = get_variable_cexpression (temp_var.name);
 
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
 
                                        out_arg_map.set (get_param_pos (m.cdelegate_target_parameter_position + 0.01), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -598,7 +598,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        var temp_var = get_temp_variable (itype.get_return_type (), true, null, false);
                                        var temp_ref = get_variable_cexpression (temp_var.name);
 
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
 
                                        ccall_expr = new CCodeAssignment (temp_ref, ccall_expr);
 
@@ -611,7 +611,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                        var temp_var = get_temp_variable (int_type);
                                        var temp_ref = get_variable_cexpression (temp_var.name);
 
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
 
                                        out_arg_map.set (get_param_pos (deleg.carray_length_parameter_position + 0.01 * dim), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -627,7 +627,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                var temp_var = get_temp_variable (new PointerType (new VoidType ()));
                                var temp_ref = get_variable_cexpression (temp_var.name);
 
-                               temp_vars.insert (0, temp_var);
+                               temp_vars.add (temp_var);
 
                                out_arg_map.set (get_param_pos (deleg.cdelegate_target_parameter_position), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -684,7 +684,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                        var temp_var = get_temp_variable (itype.get_return_type ());
                        var temp_ref = get_variable_cexpression (temp_var.name);
 
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
 
                        out_arg_map.set (get_param_pos (-3), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref));
 
@@ -767,7 +767,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                        var temp_decl = get_temp_variable (int_type);
                        var temp_ref = get_variable_cexpression (temp_decl.name);
 
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
 
                        /* memset needs string.h */
                        source_declarations.add_include ("string.h");
index c532d174e495e2d6311dbe3f41c67b729a8b01f1..5d9272022f049774f2a433a8bc40e091430b61e6 100644 (file)
@@ -42,7 +42,7 @@ internal class Vala.DovaArrayModule : DovaMethodCallModule {
                        var name_cnode = new CCodeIdentifier (temp_var.name);
                        int i = 0;
 
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
 
                        append_initializer_list (ce, name_cnode, expr.initializer_list, ref i);
 
index f1667de6c755474c52ec6b06fa9c9a2b507cba13..85171bca7d66f86fca9e4fe98a79e6041f070b0d 100644 (file)
@@ -106,13 +106,13 @@ internal class Vala.DovaAssignmentModule : DovaMemberAccessModule {
                                var lhs_value_type = assignment.left.value_type.copy ();
                                string lhs_temp_name = "_tmp%d_".printf (next_temp_var_id++);
                                var lhs_temp = new LocalVariable (lhs_value_type, "*" + lhs_temp_name);
-                               temp_vars.insert (0, lhs_temp);
+                               temp_vars.add (lhs_temp);
                                outer_ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (lhs_temp_name), new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, lhs)));
                                lhs = new CCodeParenthesizedExpression (new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, get_variable_cexpression (lhs_temp_name)));
                        }
 
                        var temp_decl = get_temp_variable (assignment.left.value_type);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_decl.name), rhs));
                        if (unref_old) {
                                /* unref old value */
index cbb85c62ec62e37aa02c875a0e2f76f10c62e5c3..d1b9a6b3193d74159ae7858bdf05ccf044d9c347 100644 (file)
@@ -1559,7 +1559,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
 
                        // assign current value to temp variable
                        var temp_decl = get_temp_variable (prop.property_type, true, expr);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_decl.name), (CCodeExpression) expr.inner.ccodenode));
 
                        // increment/decrement property
@@ -1651,7 +1651,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                        // (copy (&temp, 0, &expr, 0), temp)
 
                        var decl = get_temp_variable (expression_type, false, node);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ctemp = get_variable_cexpression (decl.name);
 
@@ -1695,7 +1695,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                        return ccall;
                } else {
                        var decl = get_temp_variable (expression_type, false, node);
-                       temp_vars.insert (0, decl);
+                       temp_vars.add (decl);
 
                        var ctemp = get_variable_cexpression (decl.name);
 
@@ -1918,7 +1918,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                                        var ccomma = new CCodeCommaExpression ();
 
                                        var temp_var = get_temp_variable (arg.target_type);
-                                       temp_vars.insert (0, temp_var);
+                                       temp_vars.add (temp_var);
                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), cexpr));
                                        ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (temp_var.name)));
 
@@ -1974,7 +1974,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                if (expr.type_reference.data_type != null && expr.type_reference.data_type.get_full_name () == "Dova.Value") {
                        // box value
                        var temp_decl = get_temp_variable (expr.inner.value_type, true, expr);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        var cvar = get_variable_cexpression (temp_decl.name);
 
                        var ccomma = new CCodeCommaExpression ();
@@ -1991,7 +1991,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                } else if (expr.inner.value_type.data_type != null && expr.inner.value_type.data_type.get_full_name () == "Dova.Value") {
                        // unbox value
                        var temp_decl = get_temp_variable (expr.type_reference, true, expr);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        var cvar = get_variable_cexpression (temp_decl.name);
 
                        var ccomma = new CCodeCommaExpression ();
@@ -2034,7 +2034,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                /* (tmp = var, var = null, tmp) */
                var ccomma = new CCodeCommaExpression ();
                var temp_decl = get_temp_variable (expr.value_type, true, expr);
-               temp_vars.insert (0, temp_decl);
+               temp_vars.add (temp_decl);
                var cvar = get_variable_cexpression (temp_decl.name);
 
                ccomma.append_expression (new CCodeAssignment (cvar, (CCodeExpression) expr.inner.ccodenode));
@@ -2190,7 +2190,7 @@ internal class Vala.DovaBaseModule : CCodeModule {
                                // treat void* special to not leak memory with void* method parameters
                        } else if (requires_destroy (expression_type)) {
                                var decl = get_temp_variable (expression_type, true, expression_type);
-                               temp_vars.insert (0, decl);
+                               temp_vars.add (decl);
                                temp_ref_vars.insert (0, decl);
                                cexpr = new CCodeAssignment (get_variable_cexpression (decl.name), cexpr);
                        }
index 58fb664d8dfca5b38ec8b72062ffa10ebd3b6664..3e618737923fdfb4bfc8c647b8518870f8347b81 100644 (file)
@@ -75,7 +75,7 @@ internal class Vala.DovaMemberAccessModule : DovaControlFlowModule {
                                                // instance expression has side-effects
                                                // store in temp. variable
                                                var temp_var = get_temp_variable (expr.inner.value_type);
-                                               temp_vars.insert (0, temp_var);
+                                               temp_vars.add (temp_var);
                                                var ctemp = new CCodeIdentifier (temp_var.name);
                                                inst = new CCodeAssignment (ctemp, pub_inst);
                                                expr.inner.ccodenode = ctemp;
index aab0f3b47dd929919c2167f4973f6ab85839cc12..14ada219ccdd0c5a183be68c05b790c4a84b1553 100644 (file)
@@ -85,7 +85,7 @@ internal class Vala.DovaMethodCallModule : DovaAssignmentModule {
                                                var ccomma = new CCodeCommaExpression ();
 
                                                var temp_var = get_temp_variable (ma.inner.target_type);
-                                               temp_vars.insert (0, temp_var);
+                                               temp_vars.add (temp_var);
                                                ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), instance));
                                                ccomma.append_expression (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name)));
 
@@ -139,7 +139,7 @@ internal class Vala.DovaMethodCallModule : DovaAssignmentModule {
                                                var ccomma = new CCodeCommaExpression ();
 
                                                var temp_var = get_temp_variable (param.variable_type, param.variable_type.value_owned);
-                                               temp_vars.insert (0, temp_var);
+                                               temp_vars.add (temp_var);
                                                cexpr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_variable_cexpression (temp_var.name));
 
                                                if (param.direction == ParameterDirection.REF) {
@@ -155,14 +155,14 @@ internal class Vala.DovaMethodCallModule : DovaAssignmentModule {
                                                        ccomma.append_expression (ccall_expr);
                                                } else {
                                                        ret_temp_var = get_temp_variable (itype.get_return_type ());
-                                                       temp_vars.insert (0, ret_temp_var);
+                                                       temp_vars.add (ret_temp_var);
                                                        ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (ret_temp_var.name), ccall_expr));
                                                }
 
                                                var cassign_comma = new CCodeCommaExpression ();
 
                                                var assign_temp_var = get_temp_variable (unary.inner.value_type, unary.inner.value_type.value_owned);
-                                               temp_vars.insert (0, assign_temp_var);
+                                               temp_vars.add (assign_temp_var);
 
                                                cassign_comma.append_expression (new CCodeAssignment (get_variable_cexpression (assign_temp_var.name), transform_expression (get_variable_cexpression (temp_var.name), param.variable_type, unary.inner.value_type, arg)));
 
@@ -207,7 +207,7 @@ internal class Vala.DovaMethodCallModule : DovaAssignmentModule {
                        var ccomma = new CCodeCommaExpression ();
 
                        var temp_var = get_temp_variable (expr.value_type);
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
                        if (expr.value_type is GenericType) {
                                ccall.add_argument (get_variable_cexpression (temp_var.name));
                        } else {
index ac3b6141e5fb4cddeb47eab82e39daa0eceec2ad..fece4fc79ad73d67342edb8f5e922aa0897ed9c8 100644 (file)
@@ -553,7 +553,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
                        var temp_var = get_temp_variable (array_type, true, expr);
                        var name_cnode = get_variable_cexpression (temp_var.name);
 
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
 
                        int i = 0;
                        foreach (Expression e in expr.get_expressions ()) {
@@ -587,7 +587,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
                        var temp_var = get_temp_variable (array_type, true, expr);
                        var name_cnode = get_variable_cexpression (temp_var.name);
 
-                       temp_vars.insert (0, temp_var);
+                       temp_vars.add (temp_var);
 
                        int i = 0;
                        foreach (Expression e in expr.get_expressions ()) {
@@ -623,7 +623,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
                        var key_temp_var = get_temp_variable (key_array_type, true, expr);
                        var key_name_cnode = get_variable_cexpression (key_temp_var.name);
 
-                       temp_vars.insert (0, key_temp_var);
+                       temp_vars.add (key_temp_var);
 
                        var value_array_type = new ArrayType (expr.map_value_type, 1, expr.source_reference);
                        value_array_type.inline_allocated = true;
@@ -633,7 +633,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
                        var value_temp_var = get_temp_variable (value_array_type, true, expr);
                        var value_name_cnode = get_variable_cexpression (value_temp_var.name);
 
-                       temp_vars.insert (0, value_temp_var);
+                       temp_vars.add (value_temp_var);
 
                        for (int i = 0; i < length; i++) {
                                key_ce.append_expression (new CCodeAssignment (new CCodeElementAccess (key_name_cnode, new CCodeConstant (i.to_string ())), (CCodeExpression) expr.get_keys ().get (i).ccodenode));
@@ -662,7 +662,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
 
                var type_temp_var = get_temp_variable (type_array_type, true, tuple);
                var type_name_cnode = get_variable_cexpression (type_temp_var.name);
-               temp_vars.insert (0, type_temp_var);
+               temp_vars.add (type_temp_var);
 
                var array_type = new ArrayType (new PointerType (new VoidType ()), 1, tuple.source_reference);
                array_type.inline_allocated = true;
@@ -671,7 +671,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
 
                var temp_var = get_temp_variable (array_type, true, tuple);
                var name_cnode = get_variable_cexpression (temp_var.name);
-               temp_vars.insert (0, temp_var);
+               temp_vars.add (temp_var);
 
                var type_ce = new CCodeCommaExpression ();
                var ce = new CCodeCommaExpression ();
@@ -695,7 +695,7 @@ internal class Vala.DovaValueModule : DovaObjectModule {
                                // tmp = expr, &tmp
 
                                var element_temp_var = get_temp_variable (element_type);
-                               temp_vars.insert (0, element_temp_var);
+                               temp_vars.add (element_temp_var);
                                ce.append_expression (new CCodeAssignment (get_variable_cexpression (element_temp_var.name), cexpr));
                                cexpr = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (element_temp_var.name));
                        }
index d6ce29d1301e3e16dba02b5441a890507bcf5c46..33a828a0537ccdd2f1c447a862be5826fe7ab6f8 100644 (file)
@@ -793,7 +793,7 @@ public class Vala.GObjectModule : GTypeModule {
 
                                var ccomma = new CCodeCommaExpression ();
                                var temp_var = get_temp_variable (expr.value_type, false, expr, false);
-                               temp_vars.insert (0, temp_var);
+                               temp_vars.add (temp_var);
                                ccomma.append_expression (new CCodeAssignment (get_variable_cexpression (temp_var.name), (CCodeExpression) expr.ccodenode));
 
                                var is_floating_ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_object_is_floating"));
index 8d09f301eca9934c6af699ca539028f86bc57c71..7765c7b7d47b50478a837d209dbe4082df1f77c2 100644 (file)
@@ -653,7 +653,7 @@ public class Vala.GSignalModule : GObjectModule {
                        // get signal id
                        ccomma = new CCodeCommaExpression ();
                        var temp_decl = get_temp_variable (uint_type);
-                       temp_vars.insert (0, temp_decl);
+                       temp_vars.add (temp_decl);
                        var parse_call = new CCodeFunctionCall (new CCodeIdentifier ("g_signal_parse_name"));
                        parse_call.add_argument (sig.get_canonical_cconstant (signal_detail));
                        var decl_type = (TypeSymbol) sig.parent_symbol;
@@ -665,7 +665,7 @@ public class Vala.GSignalModule : GObjectModule {
                                parse_call.add_argument (new CCodeConstant ("FALSE"));
                        } else {
                                detail_temp_decl = get_temp_variable (gquark_type);
-                               temp_vars.insert (0, detail_temp_decl);
+                               temp_vars.add (detail_temp_decl);
                                parse_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (detail_temp_decl.name)));
                                parse_call.add_argument (new CCodeConstant ("TRUE"));
                        }
index 5781cd70ebc46d969330fb0f7bf35776fcbed88e..ca61a3aeb730991ed2a3461b84812b54811ba4fe 100644 (file)
@@ -2047,7 +2047,7 @@ public class Vala.GTypeModule : GErrorModule {
 
                var ccomma = new CCodeCommaExpression ();
                var temp_var = get_temp_variable (new CType ("GEnumValue*"), false, expr, false);
-               temp_vars.insert (0, temp_var);
+               temp_vars.add (temp_var);
 
                var class_ref = new CCodeFunctionCall (new CCodeIdentifier ("g_type_class_ref"));
                class_ref.add_argument (new CCodeIdentifier (ma.inner.value_type.get_type_id ()));