diff options
author | csharptest <roger@csharptest.net> | 2010-11-07 10:49:33 -0600 |
---|---|---|
committer | csharptest <roger@csharptest.net> | 2010-11-07 10:49:33 -0600 |
commit | 804b6d842e9202cd79039cd8e7aa899426d37f78 (patch) | |
tree | e0fe5bb1fcca18f49ae4909081a6cfd3291d947c /src/ProtocolBuffers/Descriptors/EnumDescriptor.cs | |
parent | 64bfac2825d69c0359e40c876ec4130e23f53fb7 (diff) | |
download | protobuf-804b6d842e9202cd79039cd8e7aa899426d37f78.tar.gz protobuf-804b6d842e9202cd79039cd8e7aa899426d37f78.tar.bz2 protobuf-804b6d842e9202cd79039cd8e7aa899426d37f78.zip |
Implementation work for Lite runtime and generator
Diffstat (limited to 'src/ProtocolBuffers/Descriptors/EnumDescriptor.cs')
-rw-r--r-- | src/ProtocolBuffers/Descriptors/EnumDescriptor.cs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ProtocolBuffers/Descriptors/EnumDescriptor.cs b/src/ProtocolBuffers/Descriptors/EnumDescriptor.cs index 2fa18d9a..c121c7e6 100644 --- a/src/ProtocolBuffers/Descriptors/EnumDescriptor.cs +++ b/src/ProtocolBuffers/Descriptors/EnumDescriptor.cs @@ -37,7 +37,7 @@ namespace Google.ProtocolBuffers.Descriptors { /// <summary> /// Descriptor for an enum type in a .proto file. /// </summary> - public sealed class EnumDescriptor : IndexedDescriptorBase<EnumDescriptorProto, EnumOptions> { + public sealed class EnumDescriptor : IndexedDescriptorBase<EnumDescriptorProto, EnumOptions>, IEnumLiteMap<EnumValueDescriptor> { private readonly MessageDescriptor containingType; private readonly IList<EnumValueDescriptor> values; @@ -73,10 +73,17 @@ namespace Google.ProtocolBuffers.Descriptors { } /// <summary> + /// Logic moved from FieldSet to continue current behavior + /// </summary> + public bool IsValidValue(IEnumLite value) { + return value is EnumValueDescriptor && ((EnumValueDescriptor)value).EnumDescriptor == this; + } + + /// <summary> /// Finds an enum value by number. If multiple enum values have the /// same number, this returns the first defined value with that number. /// </summary> - internal EnumValueDescriptor FindValueByNumber(int number) { + public EnumValueDescriptor FindValueByNumber(int number) { return File.DescriptorPool.FindEnumValueByNumber(this, number); } |