//------------------------------------------------------------
        // FUNCBREC.BindImplicitlyTypedArrayInitConvert
        //
        /// <summary></summary>
        /// <param name="elementTypeSym"></param>
        /// <param name="dimList"></param>
        /// <param name="dimIndex"></param>
        /// <param name="argListExpr"></param>
        /// <param name="nonConstCount"></param>
        /// <param name="constCount"></param>
        /// <param name="hasSideEffects"></param>
        //------------------------------------------------------------
        internal void BindImplicitlyTypedArrayInitConvert(
            TYPESYM elementTypeSym,
            List <int> dimList,
            int dimIndex,
            ref EXPR argListExpr,
            ref int nonConstCount,
            ref int constCount,
            ref bool hasSideEffects)
        {
            int count = 0;

            EXPR nodeExpr = argListExpr;
            EXPR topArgList = null, lastArgList = null;

            while (nodeExpr != null)
            {
                EXPR argExpr;
                if (nodeExpr.Kind == EXPRKIND.LIST)
                {
                    EXPRBINOP listExpr = nodeExpr as EXPRBINOP;
                    argExpr  = listExpr.Operand1;
                    nodeExpr = listExpr.Operand2;
                }
                else
                {
                    argExpr  = nodeExpr;
                    nodeExpr = null;
                }
                count++;

                EXPR expr = null;
#if false
                expr = MustConvert(
                    argExpr,
                    elementTypeSym,
                    0);
#endif
                if (!BindImplicitConversion(
                        argExpr.TreeNode,
                        argExpr,
                        argExpr.TypeSym,
                        elementTypeSym,
                        ref expr,
                        0))
                {
                    Compiler.Error(argExpr.TreeNode, CSCERRID.ERR_NoBestTypeForArray);
                    expr = NewError(treeNode, elementTypeSym);
                }

                EXPR constExpr = expr.GetConst();
                if (constExpr != null)
                {
                    if (!constExpr.IsZero(true))
                    {
                        ++constCount;
                    }
                    if (expr.HasSideEffects(Compiler))
                    {
                        hasSideEffects = true;
                    }
                }
                else
                {
                    nonConstCount++;
                }
                NewList(expr, ref topArgList, ref lastArgList);
                //exprList.Add(expr);
            }
            argListExpr = topArgList;
        }