Skip to content

Commit 4618465

Browse files
authored
Compare MetadataToken by == instead of XOR ^ (#426)
1 parent 8f93eec commit 4618465

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

Orm/Xtensive.Orm/Orm/Linq/QueryHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ private static Expression BuildExpressionForFieldRecursively(FieldInfo field, Ex
217217
);
218218

219219
private static bool IsOwnerWrapper(this Type type) =>
220-
(type.MetadataToken ^ OwnerWrapper<int>.GenericDef.MetadataToken) == 0
220+
type.MetadataToken == OwnerWrapper<int>.GenericDef.MetadataToken
221221
&& ReferenceEquals(type.Module, OwnerWrapper<int>.GenericDef.Module);
222222
}
223223
}

Orm/Xtensive.Orm/Reflection/TypeHelper.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -923,7 +923,7 @@ private static string InnerGetTypeName(this Type type, bool useShortForm) =>
923923
/// <returns><see langword="True"/> if type is nullable type;
924924
/// otherwise, <see langword="false"/>.</returns>
925925
public static bool IsNullable(this Type type) =>
926-
(type.MetadataToken ^ NullableTypeMetadataToken) == 0 && type.Module.ModuleHandle == SystemCoreLibModuleHandle;
926+
type.MetadataToken == NullableTypeMetadataToken && type.Module.ModuleHandle == SystemCoreLibModuleHandle;
927927

928928
/// <summary>
929929
/// Indicates whether <typeparamref name="T"/> type is a <see cref="Nullable{T}"/> type.
@@ -1067,7 +1067,7 @@ public static Type GetGenericType(this Type type, Type openGenericBaseType)
10671067
var definitionMetadataToken = openGenericBaseType.MetadataToken;
10681068
var definitionModule = openGenericBaseType.Module;
10691069
while (type != null && !ReferenceEquals(type, WellKnownTypes.Object)) {
1070-
if ((type.MetadataToken ^ definitionMetadataToken) == 0 && ReferenceEquals(type.Module, definitionModule)) {
1070+
if (type.MetadataToken == definitionMetadataToken && ReferenceEquals(type.Module, definitionModule)) {
10711071
return type;
10721072
}
10731073

@@ -1111,14 +1111,13 @@ private static Type GetGenericInterfaceInternal(Type type, Type openGenericInter
11111111
{
11121112
var metadataToken = openGenericInterface.MetadataToken;
11131113
var module = openGenericInterface.Module;
1114-
if (type == null || ((type.MetadataToken ^ metadataToken) == 0 && ReferenceEquals(type.Module, module))) {
1114+
if (type == null || (type.MetadataToken == metadataToken && ReferenceEquals(type.Module, module))) {
11151115
return type;
11161116
}
11171117

11181118
// We don't use LINQ as we don't want to create a closure here
11191119
foreach (var implementedInterface in GetInterfacesUnordered(type)) {
1120-
if ((implementedInterface.MetadataToken ^ metadataToken) == 0
1121-
&& ReferenceEquals(implementedInterface.Module, module)) {
1120+
if (implementedInterface.MetadataToken == metadataToken && ReferenceEquals(implementedInterface.Module, module)) {
11221121
return implementedInterface;
11231122
}
11241123
}

0 commit comments

Comments
 (0)