From 83bcfefb0be8a2a05a03e7d7080b354973c39b20 Mon Sep 17 00:00:00 2001 From: Ruben Garat Date: Fri, 15 May 2015 16:06:59 -0300 Subject: added concrete IEqualityComparer implementation in ExtensionRegistryLite.cs to prevent AOT compilation issue with unity in iOS --- csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs b/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs index d1220e9c..cc4a50bb 100644 --- a/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs +++ b/csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs @@ -96,7 +96,7 @@ namespace Google.ProtocolBuffers { private static readonly ExtensionRegistry empty = new ExtensionRegistry( new ExtensionByNameMap(), - new ExtensionByIdMap(), + new ExtensionByIdMap(new ExtensionIntPairEqualityComparer()), true); private readonly ExtensionByNameMap extensionsByName; @@ -116,7 +116,7 @@ namespace Google.ProtocolBuffers /// public static ExtensionRegistry CreateInstance() { - return new ExtensionRegistry(new ExtensionByNameMap(), new ExtensionByIdMap(), false); + return new ExtensionRegistry(new ExtensionByNameMap(), new ExtensionByIdMap(new ExtensionIntPairEqualityComparer()), false); } public ExtensionRegistry AsReadOnly() @@ -216,5 +216,17 @@ namespace Google.ProtocolBuffers return msgType.Equals(other.msgType) && number == other.number; } } + + internal class ExtensionIntPairEqualityComparer : IEqualityComparer + { + public bool Equals(ExtensionIntPair x, ExtensionIntPair y) + { + return x.Equals(y); + } + public int GetHashCode(ExtensionIntPair obj) + { + return obj.GetHashCode(); + } + } } -} \ No newline at end of file +} -- cgit v1.2.3