aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers/Descriptors/EnumDescriptor.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2010-11-07 10:49:33 -0600
committercsharptest <roger@csharptest.net>2010-11-07 10:49:33 -0600
commit804b6d842e9202cd79039cd8e7aa899426d37f78 (patch)
treee0fe5bb1fcca18f49ae4909081a6cfd3291d947c /src/ProtocolBuffers/Descriptors/EnumDescriptor.cs
parent64bfac2825d69c0359e40c876ec4130e23f53fb7 (diff)
downloadprotobuf-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.cs11
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);
}