// Private Methods private static void EmitWithNamespace(PyNamespace ns, PySourceCodeEmiter emiter, PySourceCodeWriter writer, PyEmitStyle style, IEnumerable <IEmitable> classesInNamespace) { if (classesInNamespace == null) { return; } var inNamespace = classesInNamespace as IEmitable[] ?? classesInNamespace.ToArray(); if (!inNamespace.Any()) { return; } style.CurrentNamespace = ns; try { foreach (var cl in inNamespace) { cl.Emit(emiter, writer, style); } } finally { style.CurrentNamespace = null; } }
private static Item GetItemForNamespace(List <Item> list, PyNamespace name) { var item = list.Any() ? list.Last() : null; if (item == null || item.Name != name) { item = new Item(name); list.Add(item); } return(item); }
public Item(PyNamespace Name) { this.Name = Name; Items = new List <IEmitable>(); ; }