From 2be4364e4c6804a0891e603058d95bf811adf843 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 18 Apr 2024 13:05:09 -0700 Subject: [PATCH] C#: Remove TODO, replacing it with an explanation. PiperOrigin-RevId: 626125905 --- csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs index f46667ed070b..9d41930838a5 100644 --- a/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs +++ b/csharp/src/Google.Protobuf/Reflection/FieldDescriptor.cs @@ -379,7 +379,12 @@ internal void CrossLink() IDescriptor typeDescriptor = File.DescriptorPool.LookupSymbol(Proto.TypeName, this); - // TODO: See how much of this is actually required. + // In most cases, the type will be specified in the descriptor proto. This may be + // guaranteed in descriptor.proto in the future (with respect to spring 2024), but + // we may still see older descriptors created by old versions of protoc, and there + // may be some code creating descriptor protos directly. This code effectively + // maintains backward compatibility, but we don't expect it to be a path taken + // often at all. if (!Proto.HasType) { // Choose field type based on symbol.