소스 검색

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

Solves AOT compilation issue for Unity - iOS
Jan Tattermusch 10 년 전
부모
커밋
3668a224f3
1개의 변경된 파일15개의 추가작업 그리고 3개의 파일을 삭제
  1. 15 3
      csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs

+ 15 - 3
csharp/src/ProtocolBuffers/ExtensionRegistryLite.cs

@@ -96,7 +96,7 @@ namespace Google.ProtocolBuffers
     {
     {
         private static readonly ExtensionRegistry empty = new ExtensionRegistry(
         private static readonly ExtensionRegistry empty = new ExtensionRegistry(
             new ExtensionByNameMap(),
             new ExtensionByNameMap(),
-            new ExtensionByIdMap(),
+            new ExtensionByIdMap(new ExtensionIntPairEqualityComparer()),
             true);
             true);
 
 
         private readonly ExtensionByNameMap extensionsByName;
         private readonly ExtensionByNameMap extensionsByName;
@@ -116,7 +116,7 @@ namespace Google.ProtocolBuffers
         /// </summary>
         /// </summary>
         public static ExtensionRegistry CreateInstance()
         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()
         public ExtensionRegistry AsReadOnly()
@@ -216,5 +216,17 @@ namespace Google.ProtocolBuffers
                 return msgType.Equals(other.msgType) && number == other.number;
                 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();
+            }
+        }
     }
     }
-}
+}