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

GenerateSet() private method

private GenerateSet ( Set setNode ) : void
setNode Set
return void
        private void GenerateSet(Set setNode)
        {
            Expression ns = null;
            string setStyle = null;

            if (setNode == null || setNode.SetType == null)
                return;

            switch (GetTypeClassification(setNode.SetType))
            {
                case TypeClassification.Simple:
                    setStyle = "SimpleSet";
                    ns = setNode.SetType.Namespace;
                    break;

                case TypeClassification.Enum:
                    setStyle = "EnumSet";
                    break;

                case TypeClassification.Struct:
                    setStyle = "StructSet";
                    break;

                case TypeClassification.Heap:
                    setStyle = "ComplexSet";
                    if (setNode.SetType == SystemTypes.Object)
                        ns = setNode.SetType.Namespace;
                    break;
            }

            Class setClass = (Class)Templates.GetTypeTemplateByName(setStyle);

            Replacer.Replace(setClass, setStyle, setNode.Name);

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

            Replacer.Replace(setClass, "_ElementType", new QualifiedIdentifier(ns, setNode.SetType.Name));
            SetTypeId(setClass);
            InstallType(setClass);
        }