aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen/EnumGenerator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ProtoGen/EnumGenerator.cs')
-rw-r--r--src/ProtoGen/EnumGenerator.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ProtoGen/EnumGenerator.cs b/src/ProtoGen/EnumGenerator.cs
new file mode 100644
index 00000000..0de6b89c
--- /dev/null
+++ b/src/ProtoGen/EnumGenerator.cs
@@ -0,0 +1,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();
+ }
+ }
+}