public static TypeNode GetTypeTemplateByName(params object[] definitions)
{
CompilationUnit template;
string name = (string)definitions[0];
template = cuParts;
for (int i = 0, n = ((Namespace)template.Nodes[0]).NestedNamespaces[0].Types[0].Members.Count; i < n; i++)
{
Member m = ((Namespace)template.Nodes[0]).NestedNamespaces[0].Types[0].Members[i];
if (!(m is TypeNode))
continue;
TypeNode tn = (TypeNode)m;
if (tn.Name.Name == name)
{
CS.Duplicator duplicator = new CS.Duplicator(module, null);
duplicator.SkipBodies = false;
TypeNode dupClass = duplicator.VisitTypeNode(tn);
return dupClass;
}
}
Debug.Assert(false);
throw new ApplicationException("Type node '" + name + "' not found");
}