From: Jürg Billeter Date: Sat, 9 Oct 2010 14:03:27 +0000 (+0200) Subject: codegen: Use append_array_size for array creation expressions X-Git-Tag: 0.11.1~176 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56a6fad4cc5075c3d7ecae0cbdf33b806a49de24;p=thirdparty%2Fvala.git codegen: Use append_array_size for array creation expressions --- diff --git a/codegen/valaccodearraymodule.vala b/codegen/valaccodearraymodule.vala index 276f5c73d..09772cb3e 100644 --- a/codegen/valaccodearraymodule.vala +++ b/codegen/valaccodearraymodule.vala @@ -83,6 +83,10 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule { emit_temp_var (temp_var); csize = new CCodeAssignment (name_cnode, csize); + + append_array_size (expr, name_cnode); + } else { + append_array_size (expr, csize); } if (first) { @@ -171,11 +175,7 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule { array_expr = reftransfer_expr.inner; } - if (array_expr is ArrayCreationExpression) { - List size = ((ArrayCreationExpression) array_expr).get_sizes (); - var length_expr = size[dim - 1]; - return (CCodeExpression) get_ccodenode (length_expr); - } else if (array_expr is MethodCall || array_expr is CastExpression || array_expr is SliceExpression) { + if (array_expr is ArrayCreationExpression || array_expr is MethodCall || array_expr is CastExpression || array_expr is SliceExpression) { List size = get_array_sizes (array_expr); if (size != null && size.size >= dim) { return size[dim - 1];