From: Juerg Billeter Date: Wed, 28 May 2008 20:20:04 +0000 (+0000) Subject: Allow short-hand form to initialize arrays, fixes bug 515407 X-Git-Tag: VALA_0_3_3~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d46c61a99b9faebed55d5f419c512faff48357d4;p=thirdparty%2Fvala.git Allow short-hand form to initialize arrays, fixes bug 515407 2008-05-28 Juerg Billeter * vala/valaparser.vala: Allow short-hand form to initialize arrays, fixes bug 515407 svn path=/trunk/; revision=1471 --- diff --git a/ChangeLog b/ChangeLog index 35271eb40..48e1a7ce5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-05-28 Jürg Billeter + + * vala/valaparser.vala: + + Allow short-hand form to initialize arrays, fixes bug 515407 + 2008-05-28 Jürg Billeter * vala/valaparser.vala: diff --git a/vala/valaparser.vala b/vala/valaparser.vala index e944624b9..06099652b 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -1373,6 +1373,15 @@ public class Vala.Parser : CodeVisitor { Expression initializer = null; if (accept (TokenType.ASSIGN)) { initializer = parse_variable_initializer (); + + // transform shorthand form + // int[] array = { 42 }; + // into + // int[] array = new int[] { 42 }; + var array_type = variable_type as ArrayType; + if (array_type != null && initializer is InitializerList) { + initializer = new ArrayCreationExpression (array_type.element_type.copy (), array_type.rank, (InitializerList) initializer, initializer.source_reference); + } } return new LocalVariable (variable_type, id, initializer, get_src_com (begin)); }