diff options
-rw-r--r-- | Mono.Cecil/AssemblyNameReference.cs | 4 | ||||
-rw-r--r-- | Mono.Cecil/Import.cs | 6 | ||||
-rw-r--r-- | Mono.Cecil/TypeParser.cs | 18 | ||||
-rw-r--r-- | Test/Mono.Cecil.Tests/AssemblyTests.cs | 2 |
4 files changed, 11 insertions, 19 deletions
diff --git a/Mono.Cecil/AssemblyNameReference.cs b/Mono.Cecil/AssemblyNameReference.cs index 9cacef1..35b077f 100644 --- a/Mono.Cecil/AssemblyNameReference.cs +++ b/Mono.Cecil/AssemblyNameReference.cs @@ -39,7 +39,7 @@ namespace Mono.Cecil { } public string Culture { - get { return culture; } + get { return string.IsNullOrEmpty (culture) ? "neutral" : culture; } set { culture = value; full_name = null; @@ -152,7 +152,7 @@ namespace Mono.Cecil { builder.Append (version.ToString (fieldCount: 4)); builder.Append (sep); builder.Append ("Culture="); - builder.Append (string.IsNullOrEmpty (culture) ? "neutral" : culture); + builder.Append (Culture); builder.Append (sep); builder.Append ("PublicKeyToken="); diff --git a/Mono.Cecil/Import.cs b/Mono.Cecil/Import.cs index 5b2ce8b..661e867 100644 --- a/Mono.Cecil/Import.cs +++ b/Mono.Cecil/Import.cs @@ -771,7 +771,7 @@ namespace Mono.Cecil { private static bool Equals (byte [] a, byte [] b) { - if (Object.ReferenceEquals (a, b)) + if (ReferenceEquals (a, b)) return true; if (a == null) return false; @@ -785,7 +785,7 @@ namespace Mono.Cecil { private static bool Equals<T> (T a, T b) where T : class, IEquatable<T> { - if (Object.ReferenceEquals (a, b)) + if (ReferenceEquals (a, b)) return true; if (a == null) return false; @@ -794,7 +794,7 @@ namespace Mono.Cecil { private static bool Equals (AssemblyNameReference a, AssemblyNameReference b) { - if (Object.ReferenceEquals (a, b)) + if (ReferenceEquals (a, b)) return true; if (a.Name != b.Name) return false; diff --git a/Mono.Cecil/TypeParser.cs b/Mono.Cecil/TypeParser.cs index f876070..33ffb60 100644 --- a/Mono.Cecil/TypeParser.cs +++ b/Mono.Cecil/TypeParser.cs @@ -370,20 +370,12 @@ namespace Mono.Cecil { if (string.IsNullOrEmpty (type_info.assembly)) return module.TypeSystem.CoreLibrary; - return MatchReference (module, AssemblyNameReference.Parse (type_info.assembly)); - } - - static AssemblyNameReference MatchReference (ModuleDefinition module, AssemblyNameReference pattern) - { - var references = module.AssemblyReferences; - - for (int i = 0; i < references.Count; i++) { - var reference = references [i]; - if (reference.FullName == pattern.FullName) - return reference; - } + AssemblyNameReference match; + var reference = AssemblyNameReference.Parse (type_info.assembly); - return pattern; + return module.TryGetAssemblyNameReference (reference, out match) + ? match + : reference; } static bool TryGetDefinition (ModuleDefinition module, Type type_info, out TypeReference type) diff --git a/Test/Mono.Cecil.Tests/AssemblyTests.cs b/Test/Mono.Cecil.Tests/AssemblyTests.cs index b427f5c..8a9f632 100644 --- a/Test/Mono.Cecil.Tests/AssemblyTests.cs +++ b/Test/Mono.Cecil.Tests/AssemblyTests.cs @@ -18,7 +18,7 @@ namespace Mono.Cecil.Tests { Assert.IsNotNull (name); Assert.AreEqual ("hello", name.Name); - Assert.AreEqual (string.Empty, name.Culture); + Assert.AreEqual ("neutral", name.Culture); Assert.AreEqual (new Version (0, 0, 0, 0), name.Version); Assert.AreEqual (AssemblyHashAlgorithm.SHA1, name.HashAlgorithm); }); |