aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen/EnumGenerator.cs
blob: 0de6b89ccb7a069cbf18251ba2e282586df891e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using Google.ProtocolBuffers.Descriptors;

namespace Google.ProtocolBuffers.ProtoGen {
  internal class EnumGenerator : SourceGeneratorBase<EnumDescriptor>, ISourceGenerator {
    internal EnumGenerator(EnumDescriptor descriptor) : base(descriptor) {
    }

    public void Generate(TextGenerator writer) {
      writer.WriteLine("{0} enum {1} {{", ClassAccessLevel, Descriptor.Name);
      writer.Indent();
      foreach (EnumValueDescriptor value in Descriptor.Values) {
        writer.WriteLine("{0} = {1},", value.Name, value.Number);
      }
      writer.Outdent();
      writer.WriteLine("}");
      writer.WriteLine();
    }
  }
}