protected override void GenerateInner(CodeGenerator generator)
        {
            Modifiers.Generate(generator);

            generator.Write(TokenType.Keyword, "enum");
            generator.Write(TokenType.Space, ' ');
            generator.OutputIdentifier(TokenType.TypeIdentifier, Name);

            if (UnderlyingType != null)
            {
                generator.Write(TokenType.Space, ' ');
                generator.Write(TokenType.Punctuation, ':');
                generator.Write(TokenType.Space, ' ');
                UnderlyingType.Generate(generator);
            }

            if (Members.Count > 0)
            {
                generator.WriteOpeningBrace();
                generator.Indent++;

                foreach (var member in Members)
                {
                    member.Generate(generator);
                }

                generator.Indent--;
                generator.WriteClosingBrace();
            }
            else
            {
                generator.WriteEmptyBlock();
            }
        }