Beispiel #1
0
        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("}");
        }