Merge pull request #394 from ironhidegames/csharp-aot-ios

Solves AOT compilation issue for Unity - iOS
This commit is contained in:
Jan Tattermusch 2015-05-21 08:48:27 -07:00
commit 3668a224f3

View file

@ -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
/// </summary>
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<ExtensionIntPair>
{
public bool Equals(ExtensionIntPair x, ExtensionIntPair y)
{
return x.Equals(y);
}
public int GetHashCode(ExtensionIntPair obj)
{
return obj.GetHashCode();
}
}
}
}
}