Index: third_party/protobuf/csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs |
diff --git a/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs b/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs |
index 94efea9e60b1d4fed3c0bb0b9b1436468e2d9ae1..ab7cd92216e06cadb2bb157d85ca1c90caa41696 100644 |
--- a/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs |
+++ b/third_party/protobuf/csharp/src/Google.Protobuf/Reflection/FileDescriptor.cs |
@@ -251,6 +251,17 @@ namespace Google.Protobuf.Reflection |
"Dependencies passed to FileDescriptor.BuildFrom() don't match " + |
"those listed in the FileDescriptorProto."); |
} |
+ for (int i = 0; i < proto.Dependency.Count; i++) |
+ { |
+ if (dependencies[i].Name != proto.Dependency[i]) |
+ { |
+ throw new DescriptorValidationException( |
+ result, |
+ "Dependencies passed to FileDescriptor.BuildFrom() don't match " + |
+ "those listed in the FileDescriptorProto. Expected: " + |
+ proto.Dependency[i] + " but was: " + dependencies[i].Name); |
+ } |
+ } |
result.CrossLink(); |
return result; |
@@ -330,4 +341,4 @@ namespace Google.Protobuf.Reflection |
/// </value> |
public static FileDescriptor DescriptorProtoFileDescriptor { get { return DescriptorReflection.Descriptor; } } |
} |
-} |
+} |