From: Luca Bruno Date: Fri, 11 Mar 2011 11:40:36 +0000 (+0100) Subject: codegen: Drop MemberAccess creation for static field initialization X-Git-Tag: 0.13.0~260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92c25dbd43c2bcf11fc05c3f601f0150b005be0b;p=thirdparty%2Fvala.git codegen: Drop MemberAccess creation for static field initialization --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 69b26590d..2c7633e1f 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -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 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)); }