public IEnumerable <String> Enum(EnumDef e) { var Name = GetEscapedIdentifier(e.TypeFriendlyName()); var ParserName = GetEscapedIdentifier(e.TypeFriendlyName() + "Parser"); var WriterName = GetEscapedIdentifier(e.TypeFriendlyName() + "Writer"); foreach (var _Line in Combine(Begin(), GetXmlComment(e.Description))) { yield return(_Line); } foreach (var _Line in Combine(Combine(Combine(Combine(Begin(), "public enum "), Name), " : "), GetEnumTypeString(e.UnderlyingType))) { yield return(_Line); } yield return("{"); var k = 0; foreach (var l in e.Literals) { if (k == e.Literals.Count - 1) { foreach (var _Line in Combine(Begin(), GetXmlComment(l.Description))) { yield return(_Line == "" ? "" : " " + _Line); } foreach (var _Line in Combine(Combine(Combine(Begin(), GetEscapedIdentifier(l.Name)), " = "), l.Value)) { yield return(_Line == "" ? "" : " " + _Line); } } else { foreach (var _Line in Combine(Begin(), GetXmlComment(l.Description))) { yield return(_Line == "" ? "" : " " + _Line); } foreach (var _Line in Combine(Combine(Combine(Combine(Begin(), GetEscapedIdentifier(l.Name)), " = "), l.Value), ",")) { yield return(_Line == "" ? "" : " " + _Line); } } k += 1; } yield return("}"); }