]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Drop MemberAccess creation for static field initialization
authorLuca Bruno <lucabru@src.gnome.org>
Fri, 11 Mar 2011 11:40:36 +0000 (12:40 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Mon, 4 Apr 2011 19:01:56 +0000 (21:01 +0200)
codegen/valaccodebasemodule.vala

index 69b26590d34ec5638da3e42fb615edf0d9c8e2df..2c7633e1f738d5cf18fe5ca4199aaf5d9858c62c 100644 (file)
@@ -1146,14 +1146,11 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                                                if (f.variable_type is ArrayType && !f.no_array_length &&
                                                    f.initializer is ArrayCreationExpression) {
                                                        var array_type = (ArrayType) f.variable_type;
-                                                       var ma = new MemberAccess.simple (f.name);
-                                                       ma.symbol_reference = f;
-                                                       ma.value_type = f.variable_type.copy ();
-                                                       visit_member_access (ma);
+                                                       var field_value = get_field_cvalue (f, null);
 
                                                        List<Expression> sizes = ((ArrayCreationExpression) f.initializer).get_sizes ();
                                                        for (int dim = 1; dim <= array_type.rank; dim++) {
-                                                               var array_len_lhs = get_array_length_cexpression (ma, dim);
+                                                               var array_len_lhs = get_array_length_cvalue (field_value, dim);
                                                                var size = sizes[dim - 1];
                                                                ccode.add_assignment (array_len_lhs, get_cvalue (size));
                                                        }