aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen/EnumFieldGenerator.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-06-08 20:13:29 -0500
committerrogerk <devnull@localhost>2011-06-08 20:13:29 -0500
commit920b09a3b0af58440ed936183d5dfd5342eae1a0 (patch)
tree12bd44e1f596eacc05cc871ba30cc10114ae5868 /src/ProtoGen/EnumFieldGenerator.cs
parentaef072a46f7c902e6fa1adf18e34f8d4b1eba38a (diff)
downloadprotobuf-920b09a3b0af58440ed936183d5dfd5342eae1a0.tar.gz
protobuf-920b09a3b0af58440ed936183d5dfd5342eae1a0.tar.bz2
protobuf-920b09a3b0af58440ed936183d5dfd5342eae1a0.zip
Finished adding find tag by name
Diffstat (limited to 'src/ProtoGen/EnumFieldGenerator.cs')
-rw-r--r--src/ProtoGen/EnumFieldGenerator.cs20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/ProtoGen/EnumFieldGenerator.cs b/src/ProtoGen/EnumFieldGenerator.cs
index 763c18ab..d5e8c636 100644
--- a/src/ProtoGen/EnumFieldGenerator.cs
+++ b/src/ProtoGen/EnumFieldGenerator.cs
@@ -40,8 +40,8 @@ namespace Google.ProtocolBuffers.ProtoGen
{
internal class EnumFieldGenerator : FieldGeneratorBase, IFieldSourceGenerator
{
- internal EnumFieldGenerator(FieldDescriptor descriptor)
- : base(descriptor)
+ internal EnumFieldGenerator(FieldDescriptor descriptor, int fieldOrdinal)
+ : base(descriptor, fieldOrdinal)
{
}
@@ -107,26 +107,12 @@ namespace Google.ProtocolBuffers.ProtoGen
writer.WriteLine(" unknownFields.MergeVarintField({0}, (ulong)(int)unknown);", Number);
}
writer.WriteLine("}");
-
- // TO DO(jonskeet): Make a more efficient way of doing this
- //writer.WriteLine("int rawValue = input.ReadEnum();");
- //writer.WriteLine("if (!global::System.Enum.IsDefined(typeof({0}), rawValue)) {{", TypeName);
- //if (!UseLiteRuntime)
- //{
- // writer.WriteLine(" if (unknownFields == null) {"); // First unknown field - create builder now
- // writer.WriteLine(" unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);");
- // writer.WriteLine(" }");
- // writer.WriteLine(" unknownFields.MergeVarintField({0}, (ulong) rawValue);", Number);
- //}
- //writer.WriteLine("} else {");
- //writer.WriteLine(" {0} = ({1}) rawValue;", PropertyName, TypeName);
- //writer.WriteLine("}");
}
public void GenerateSerializationCode(TextGenerator writer)
{
writer.WriteLine("if (has{0}) {{", PropertyName);
- writer.WriteLine(" output.WriteEnum({0}, \"{2}\", (int) {1}, {1}.ToString());", Number, PropertyName, Descriptor.Name);
+ writer.WriteLine(" output.WriteEnum({0}, field_names[{2}], (int) {1}, {1}.ToString());", Number, PropertyName, FieldOrdinal);
writer.WriteLine("}");
}