public void Construct(CommonTree syntaxArrayInitializer) { var simpleReturnType = TreeHelper.GetReturnType(syntaxArrayInitializer.GetChild(0).Text); ReturnType = ReturnType.ArrayOf(simpleReturnType); //ArraySize var syntaxArraySize = syntaxArrayInitializer.GetChild(1).CastTo <CommonTree>(); if (syntaxArraySize.ChildCount > 0) { var syntaxArraySizeExpression = syntaxArraySize.GetChild(0).CastTo <CommonTree>(); ArraySize = TreeHelper.GetExpression(this, Scope, syntaxArraySizeExpression); ArraySize.Construct(syntaxArraySizeExpression); } //ArrayInitializationParameters var syntaxArrayInitializationParameters = syntaxArrayInitializer.GetChild(2).CastTo <CommonTree>(); if (syntaxArrayInitializationParameters.ChildCount > 0) { syntaxArrayInitializationParameters.Children.Cast <CommonTree>() .ForEach(syntaxArrayInitializationParameter => { var parameterExpression = TreeHelper.GetExpression(this, Scope, syntaxArrayInitializationParameter); InitializationParameters.Add(parameterExpression); parameterExpression.Construct(syntaxArrayInitializationParameter); }); } }