Microsoft.Zing.Splicer.GenerateArray C# (CSharp) Method

GenerateArray() private method

private GenerateArray ( ZArray arrayNode ) : void
arrayNode ZArray
return void
        private void GenerateArray(ZArray arrayNode)
        {
            Expression ns = null;
            string arrayStyle = null;

            if (arrayNode == null || arrayNode.domainType == null || arrayNode.ElementType == null)
                return;

            switch (GetTypeClassification(arrayNode.ElementType))
            {
                case TypeClassification.Simple:
                    ns = arrayNode.ElementType.Namespace;
                    arrayStyle = "SimpleArray"; break;
                case TypeClassification.Enum:
                    arrayStyle = "EnumArray"; break;
                case TypeClassification.Struct:
                    arrayStyle = "StructArray"; break;
                case TypeClassification.Heap:
                    if (arrayNode.ElementType == SystemTypes.Object)
                        ns = arrayNode.ElementType.Namespace;
                    arrayStyle = "ComplexArray"; break;
            }
            Class arrayClass = (Class)Templates.GetTypeTemplateByName(arrayStyle);

            if (ns == null)
                ns = new QualifiedIdentifier(new Identifier("Microsoft.Zing"), new Identifier("Application"));

            Replacer.Replace(arrayClass, arrayStyle, arrayNode.Name);
            Replacer.Replace(arrayClass, "_ElementType", new QualifiedIdentifier(ns, arrayNode.ElementType.Name));
            // Replacer.Replace(arrayClass, "_size", new Literal(arrayNode.Sizes[0], SystemTypes.Int32));
            SetTypeId(arrayClass);
            InstallType(arrayClass);
        }