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:
-rw-r--r--Mono.Cecil/AssemblyNameReference.cs4
-rw-r--r--Mono.Cecil/Import.cs6
-rw-r--r--Mono.Cecil/TypeParser.cs18
-rw-r--r--Test/Mono.Cecil.Tests/AssemblyTests.cs2
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);
});