Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Valdy <francois.valdy@gmail.com>2015-05-31 13:17:39 +0300
committerFrancois Valdy <francois.valdy@gmail.com>2015-05-31 13:31:08 +0300
commit8ec7fc8e16c25869ba430ac1c2218adc7201d264 (patch)
tree6f8e52e3cb809ab3ffda9f83097598a6f651c6d4 /Mono.Cecil.Metadata
parent83af39c4e3ba7a8c36f94d177654f7d97561239c (diff)
Make MetadataToken IEquatable
- when used as key in a dict, implementing IEquatable will avoid object boxing when comparing keys. - big perf increase when loading assemblies.
Diffstat (limited to 'Mono.Cecil.Metadata')
-rw-r--r--Mono.Cecil.Metadata/MetadataToken.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/Mono.Cecil.Metadata/MetadataToken.cs b/Mono.Cecil.Metadata/MetadataToken.cs
index 8cc10ea..a8b712e 100644
--- a/Mono.Cecil.Metadata/MetadataToken.cs
+++ b/Mono.Cecil.Metadata/MetadataToken.cs
@@ -8,9 +8,11 @@
// Licensed under the MIT/X11 license.
//
+using System;
+
namespace Mono.Cecil {
- public struct MetadataToken {
+ public struct MetadataToken : IEquatable<MetadataToken> {
readonly uint token;
@@ -59,6 +61,11 @@ namespace Mono.Cecil {
return (int) token;
}
+ public bool Equals (MetadataToken other)
+ {
+ return other.token == token;
+ }
+
public override bool Equals (object obj)
{
if (obj is MetadataToken) {