|
@@ -422,7 +422,8 @@ namespace Google.Protobuf.Reflection
|
|
GeneratedClrTypeInfo generatedCodeInfo)
|
|
GeneratedClrTypeInfo generatedCodeInfo)
|
|
{
|
|
{
|
|
ExtensionRegistry registry = new ExtensionRegistry();
|
|
ExtensionRegistry registry = new ExtensionRegistry();
|
|
- AddAllExtensions(dependencies, generatedCodeInfo, registry);
|
|
|
|
|
|
+ registry.AddRange(GetAllExtensions(dependencies, generatedCodeInfo));
|
|
|
|
+
|
|
FileDescriptorProto proto;
|
|
FileDescriptorProto proto;
|
|
try
|
|
try
|
|
{
|
|
{
|
|
@@ -445,9 +446,9 @@ namespace Google.Protobuf.Reflection
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private static void AddAllExtensions(FileDescriptor[] dependencies, GeneratedClrTypeInfo generatedInfo, ExtensionRegistry registry)
|
|
|
|
|
|
+ private static IEnumerable<Extension> GetAllExtensions(FileDescriptor[] dependencies, GeneratedClrTypeInfo generatedInfo)
|
|
{
|
|
{
|
|
- registry.AddRange(dependencies.SelectMany(GetAllDependedExtensions).Concat(GetAllGeneratedExtensions(generatedInfo)).ToArray());
|
|
|
|
|
|
+ return dependencies.SelectMany(GetAllDependedExtensions).Distinct().Concat(GetAllGeneratedExtensions(generatedInfo));
|
|
}
|
|
}
|
|
|
|
|
|
private static IEnumerable<Extension> GetAllGeneratedExtensions(GeneratedClrTypeInfo generated)
|
|
private static IEnumerable<Extension> GetAllGeneratedExtensions(GeneratedClrTypeInfo generated)
|