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);
}